[Решено] Ocstore и модуль всплывающей корзины Smart Cart

Тема в разделе "OpenCart", создана пользователем skiv14, 26 янв 2016.

  1. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Есть прикольный модуль всплывающей корзины Smart Cart

    Проблема - модуль работает при добавлении в корзину из категорий, но в карточке продукта кнопка купить становится неактивной.

    Ocstore 1.5.5.2, шаблон moneymaker

    Проблема в шаблоне Moneymaker.
    До его установки всё пашет.

    Решение:



    Файл xml с правками
     
    Последнее редактирование: 31 янв 2016
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Дело не в добавлении товара предварительно из категории, а в том пустая корзина в данный момент или нет. Причину надо искать на бекенде. Как вариант - конфликт с той правкой, которая не позволяет добавлять товар в корзину, если его не хватает. Надо протестировать на чистом ocStore.
     
    Lasted edited by : 31 янв 2016
    skiv14 нравится это.
  3. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Dotrox, убирал правки кода.
    Ставил чистый OcStore - всё нормально. У других на других шаблонах тоже всё нормально.
     
    Последнее редактирование: 31 янв 2016
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    При переключении шаблонов никаких изменений в БД не происходит. Изменения могут происходить при установке модулей.
    И в принципе, я не вижу, как БД может повлиять на что-то в данном случае.

    Для начала нужен vQmod менеджер. После заливки шаблона убедиться через него, что xml файлы от шаблона выключены (либо выключить их и почистить кеш vQmod). Если проблемы не будет, значит шаблон в оригинальных файлах движка и дефолтной темы ничего не меняет. Тогда ищем проблему в самом шаблоне и его vQmod.
     
    Lasted edited by : 31 янв 2016
    skiv14 нравится это.
  5. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Есть такой вариант, что он привязывается к id кнопки, которая называется, по идее, buttom-cart, а там может не передаваться id товара в карточку, когда уже есть id в карточке, то туда просто передается кол-во данного товара.
     
    skiv14 нравится это.
  6. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Что говорит консоль? Там полюбому должа быть ошибка или, что улетает и прилетает в ajax запросе ?
     
    skiv14 нравится это.
  7. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Поменял.

    Этот код был в файле вкмод модуля Smart Cart.
    Не помогло.
     
    Последнее редактирование: 29 янв 2016
  8. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Конкретно за добавление товара в корзину отвечает код, который добавляется в footer.tpl
    начиная с этой строчки
    var product_id_in_page = $("input[name='product_id']").val();

    Отличия заключаются в параметрах add и add_option, если add, то все отработает ровно, а вот если add_option, то пойдет проверка на наличие заполненых опций у товара.
    ааа...
    елки :Smile:
    product-info - в шаблоне нет этого класса
    замените
    это
    Код:
      data: $('.product-info input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
    на это
    Код:
    data: $('#product-controls input[type=\'text\'], #product-controls input[type=\'hidden\'], #product-controls input[type=\'radio\']:checked, #product-controls input[type=\'checkbox\']:checked, #product-controls select, #product-controls textarea'),
    Должно отработать.

    Конкретно ошибка кроется в проверке здесь if (action == "add_option") {
     
    samuel_L, skiv14 и MGT1 нравится это.
  9. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Эврика !!! ЗАРАБОТАЛО !!!
    Но небольшая проблемка вылезла. При добавлении товара в корзину, в корзине числится товар. Но при клике на корзину показывает, что она пустая.

    Если страницу обновить, то всё становится нормально
     
    Последнее редактирование: 31 янв 2016
    samuel_L нравится это.
  10. alex_storm

    alex_storm webdev

    Регистрация:
    11 дек 2012
    Сообщения:
    1.151
    Симпатии:
    667
    Не знаю, может быть кеш, но корзина идеально отрабатывает
     
    Lasted edited by : 31 янв 2016
    samuel_L и skiv14 нравится это.
  11. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Проблема только при первом добавленном товаре.

    1) добавляем товар в корзину
    2) в окне корзины отображается количество товаров и сумма
    3) при клике на окно корзины - "В корзине пусто".

    Если перейти на другую страницу, то проблема самоустраняется.
     
    Последнее редактирование: 31 янв 2016
    samuel_L нравится это.
  12. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Проблема есть только на страницах со СмартКарт.
    Если добавлять товар с главной, то и при первом и при втором товаре всё везде отображается, как и должно, но там нет СмартКарт, а только уведомление об успешном добавлении. А вот со страницы товара, где есть СмартКарт, когда добавляешь, корзина в шапке не обновляется.
    Объяснить это легко: в стандартном варианте при добавлении в корзину скрипт получает с сервера фрагмент готового html с обновлённым содержимым корзины и заменяет его в шапке. СмартКарт же заменяет собой стандартный обработчик добавления в корзину и самостоятельно при этом корзину в шапке не обновляет.

    Самый простой вариант решения: берём из СмартКарт функцию getOCwizardModal_smca, которая срабатывает при добавлении товара в корзину и дописываем в неё из стандартного скрипта фрагмент кода, который обновляет корзину:
    Код:
    $('#cart').load('index.php?route=module/cart' + ' #cart > *');
    добавить после
    Код:
    $('#cart-total').html(json['total']);
    А вообще, я смотрю, что и тотал не всегда обновляется.
     
    samuel_L и skiv14 нравится это.
  13. skiv14

    skiv14

    Регистрация:
    9 июн 2015
    Сообщения:
    437
    Симпатии:
    180
    Dotrox, я вчера экспериментировал, экспериментировал, экспериментировал.
    Сейчас захожу на сайт, а smart cart и не работает вовсе. Что-то намудрил я в xml

    Вернул к изначальному состоянию, сначала правку alex_storm, потом вот это в двух местах (для категорий и для карточки товара отдельно)
    $('#cart').load('index.php?route=module/cart' + ' #cart > *');
    И всё стало работать :Smile:

    Спасибо всем, кто помогал и участвовал.
     
    Последнее редактирование: 31 янв 2016
    samuel_L нравится это.
  14. Stealth421

    Stealth421

    Регистрация:
    10 дек 2013
    Сообщения:
    125
    Симпатии:
    36
    на 2.1.0.2 установилось и работает нормально, но вот ни cross ни up-sell товары показывать не хочет? при чем кросс даже не сохраняет в админке
    и не отключаются ваучеры и купоны
     
    Последнее редактирование: 16 фев 2016