Есть прикольный модуль всплывающей корзины Smart Cart Проблема - модуль работает при добавлении в корзину из категорий, но в карточке продукта кнопка купить становится неактивной. Ocstore 1.5.5.2, шаблон moneymaker Проблема в шаблоне Moneymaker. До его установки всё пашет. Решение: Файл xml с правками
Дело не в добавлении товара предварительно из категории, а в том пустая корзина в данный момент или нет. Причину надо искать на бекенде. Как вариант - конфликт с той правкой, которая не позволяет добавлять товар в корзину, если его не хватает. Надо протестировать на чистом ocStore.
Dotrox, убирал правки кода. Ставил чистый OcStore - всё нормально. У других на других шаблонах тоже всё нормально.
При переключении шаблонов никаких изменений в БД не происходит. Изменения могут происходить при установке модулей. И в принципе, я не вижу, как БД может повлиять на что-то в данном случае. Для начала нужен vQmod менеджер. После заливки шаблона убедиться через него, что xml файлы от шаблона выключены (либо выключить их и почистить кеш vQmod). Если проблемы не будет, значит шаблон в оригинальных файлах движка и дефолтной темы ничего не меняет. Тогда ищем проблему в самом шаблоне и его vQmod.
Есть такой вариант, что он привязывается к id кнопки, которая называется, по идее, buttom-cart, а там может не передаваться id товара в карточку, когда уже есть id в карточке, то туда просто передается кол-во данного товара.
Конкретно за добавление товара в корзину отвечает код, который добавляется в footer.tpl начиная с этой строчки var product_id_in_page = $("input[name='product_id']").val(); Отличия заключаются в параметрах add и add_option, если add, то все отработает ровно, а вот если add_option, то пойдет проверка на наличие заполненых опций у товара. ааа... елки 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") {
Эврика !!! ЗАРАБОТАЛО !!! Но небольшая проблемка вылезла. При добавлении товара в корзину, в корзине числится товар. Но при клике на корзину показывает, что она пустая. Если страницу обновить, то всё становится нормально
Проблема только при первом добавленном товаре. 1) добавляем товар в корзину 2) в окне корзины отображается количество товаров и сумма 3) при клике на окно корзины - "В корзине пусто". Если перейти на другую страницу, то проблема самоустраняется.
Проблема есть только на страницах со СмартКарт. Если добавлять товар с главной, то и при первом и при втором товаре всё везде отображается, как и должно, но там нет СмартКарт, а только уведомление об успешном добавлении. А вот со страницы товара, где есть СмартКарт, когда добавляешь, корзина в шапке не обновляется. Объяснить это легко: в стандартном варианте при добавлении в корзину скрипт получает с сервера фрагмент готового html с обновлённым содержимым корзины и заменяет его в шапке. СмартКарт же заменяет собой стандартный обработчик добавления в корзину и самостоятельно при этом корзину в шапке не обновляет. Самый простой вариант решения: берём из СмартКарт функцию getOCwizardModal_smca, которая срабатывает при добавлении товара в корзину и дописываем в неё из стандартного скрипта фрагмент кода, который обновляет корзину: Код: $('#cart').load('index.php?route=module/cart' + ' #cart > *'); добавить после Код: $('#cart-total').html(json['total']); А вообще, я смотрю, что и тотал не всегда обновляется.
Dotrox, я вчера экспериментировал, экспериментировал, экспериментировал. Сейчас захожу на сайт, а smart cart и не работает вовсе. Что-то намудрил я в xml Вернул к изначальному состоянию, сначала правку alex_storm, потом вот это в двух местах (для категорий и для карточки товара отдельно) $('#cart').load('index.php?route=module/cart' + ' #cart > *'); И всё стало работать Спасибо всем, кто помогал и участвовал.
на 2.1.0.2 установилось и работает нормально, но вот ни cross ни up-sell товары показывать не хочет? при чем кросс даже не сохраняет в админке и не отключаются ваучеры и купоны