Добрый день! Суть проблемы: при использовании фильтра в категориях пропадает кнопка "Купить в 1 клик", и не работает всплывающая корзина Popup Cart - оба установленные модули. Если сбросить фильтр и обновить страницу все появляется обратно. OC 2.1.0.2 - шаблон - default. Помогите решить!
Потому что товары при фильтрации грузятся по ajax, и вставляются в соответствующий блок на странице в замен старым. И по видимому обработчики событий модулей "Купить в 1 клик", Popup Cart ничего не знают о вновь прибывших товарах, так как их инициализация проходила при загрузке страницы. Так что нужно смотреть код, как происходит инициализация неработающих модулей. А там будет видно.
В логах ошибок пусто. grizzly-tool.com.ua --- Добавлено, 18 июн 2017 --- Скажите где именно смотреть ?
ISomeInterface, все правильно говорит. Эти модули я знаю, написаны через одно место(( Для купить в 1 клик - кнопка дабавлятся jQuery, по этому перенеси код кнопки в тпл-ку категории или добавь вызов функции добавления кнопки при каждом ajax запросе. Аналогично и для всплывающей корзины)
Если ocmod-ом устанавливали то в install.ocmod.xml - данных модулей. Для 1 клика - модуль Popup Purchase, а для корзины точно не помню)
Устанавливал оба модуля через ocmod, нашел коды кнопок, по умолчанию устанавливаются в head. Я попробовал перенести код в category.tpl, но проблема остается. Когда фильтрую что-то, исчезает кнопка...
Все верно в шапку функция дописывается)) Если перенесли код кнопки, например Код: <div class="button-group popup-purchase-button" onclick="get_popup_purchase('ид-продукт');"><button>Купить в 1 клик</button></div> в тпл-ку, то она не может пропадать!)) она теперь всегда будет
Получилось добавить кнопку благодаря Вашему примеру, (первый раз добавил неправильно), кнопка остается после фильтрации. Подскажите еще один момент, пожалуйста: в категории сейчас две светится кнопки "Купить в один клик" (одна та, что была, вторую я добавил - не пропадающую), как убрать первую "стандартную кнопку", чтобы она не выводилась только в категориях т.к. у меня товары и на главной, в карточке, в производителях, в поиске и т.д. чтобы она там осталась, там фильтра нет - нет проблем, проблема только с категорией ???
так как везде код отображения одинаковый то и для поиска и для производителей нужно будет добавить код, что довавили в категории) для того чеб небыло две кнокки в файле домен/system/storage/modification/view/theme/default/template/common/header.tpl убрать код Код: $.each($("[onclick^='cart.add']"), function() { var product_id = $(this).attr('onclick').match(/[0-9]+/); $(this).parent().before("<div class='button-group popup-purchase-button'><button>Купить в 1 клик</button></div>").prev().attr('onclick', 'get_popup_purchase(\'' + product_id + '\');'); });
С Купить в один клик все в общем понятно, спасибо за помощь, вы помогли! Я так понял с корзиной там совсем другая история, там ссылки заменяет уже на существующую кнопку в корзину и саму корзину, как тут быть ?
С корзиной точно так же. В категории заменяем код родной корзины Код: <button type="button" onclick="cart.add('main_product_id', 'product_id');"> на всплывающую примерно так Код: <button type="button" onclick="get_popup_cart('main_product_id','products');"> а в шапке удалить Код: $.each( $("[onclick^='cart.add']"), function() { var product_id = $(this).attr('onclick').match(/[0-9]+/); $(this).attr( 'onclick', 'get_popup_cart(\'' + $(this).attr('onclick').match(/[0-9]+/) + '\',\'' + 'products' + '\');' ); });
Вроде понятно так, но не пробовал, нет времени в данный момент, завтра - послезавтра попробую сделать и отпишусь! Спасибо за помощь!
Если удалить данный код из модификатора, то вызов добавленной кнопкой из шаблона не работает, на корзину тоже самое...
Все работает, проверенно на практике не раз!!! Скорей всего неправильно добавляли кнопку. На сайте ошибки нет, смотрите где ошиблись))
Кнопка для 1 клика: <div class="button-group popup-purchase-button" onclick="get_popup_purchase('<?php echo $product['product_id']; ?>');"><button>Купить в 1 клик</button></div> Работает до удаления кода из модификатора. Кнопка для корзины: <button type="button" onclick="get_popup_cart('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md">В корзину</span></button> Не работает вообще! Где может быть ошибка ?
никаких ошибок, не в логах не на сайте. созданная мною кнопка купить в один клик работает до того, как закомментирую в модификаторе указанный вами код, для удаления второй кнопки. после комментирования кода одна кнопка исчезает, но вторая перестает работать - нажимаю и ничего не происходит... до комментирования кода работали две! кнопка для корзины вообще не работает (при нажатии никаких действий не происходит) код модификатора еще даже не трогал. Для комментирования пользуюсь OCMOD Editor из админки (вручную пробовал тоже самое), кэш очищен весь, делаю тут: test.grizzly-tool.com.ua