Проблема с Mega Filter PRO

Тема в разделе "OpenCart", создана пользователем Kavabanga, 18 июн 2017.

  1. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Добрый день!
    Суть проблемы: при использовании фильтра в категориях пропадает кнопка "Купить в 1 клик", и не работает всплывающая корзина Popup Cart - оба установленные модули. Если сбросить фильтр и обновить страницу все появляется обратно. OC 2.1.0.2 - шаблон - default.
    Помогите решить!
     
  2. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Логи ошибок какие?
    Ссылку на сайт дайте.
     
  3. ISomeInterface

    ISomeInterface

    Регистрация:
    4 окт 2016
    Сообщения:
    106
    Симпатии:
    76
    Потому что товары при фильтрации грузятся по ajax, и вставляются в соответствующий блок на странице в замен старым. И по видимому обработчики событий модулей "Купить в 1 клик", Popup Cart ничего не знают о вновь прибывших товарах, так как их инициализация проходила при загрузке страницы. Так что нужно смотреть код, как происходит инициализация неработающих модулей. А там будет видно.
     
  4. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    В логах ошибок пусто.
    grizzly-tool.com.ua
    --- Добавлено, 18 июн 2017 ---
    Скажите где именно смотреть ?
     
  5. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    ISomeInterface, все правильно говорит. Эти модули я знаю, написаны через одно место((
    Для купить в 1 клик - кнопка дабавлятся jQuery, по этому перенеси код кнопки в тпл-ку категории или добавь вызов функции добавления кнопки при каждом ajax запросе.
    Аналогично и для всплывающей корзины)
     
  6. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Подскажите, в каком файле найти код кнопки ?
     
  7. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Если ocmod-ом устанавливали то в install.ocmod.xml - данных модулей.
    Для 1 клика - модуль Popup Purchase, а для корзины точно не помню)
     
  8. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Устанавливал оба модуля через ocmod, нашел коды кнопок, по умолчанию устанавливаются в head. Я попробовал перенести код в category.tpl, но проблема остается. Когда фильтрую что-то, исчезает кнопка...
     
    Последнее редактирование: 18 июн 2017
  9. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Все верно в шапку функция дописывается))
    Если перенесли код кнопки, например
    Код:
    <div class="button-group popup-purchase-button" onclick="get_popup_purchase('ид-продукт');"><button>Купить в 1 клик</button></div>
    в тпл-ку, то она не может пропадать!))
    она теперь всегда будет
     
  10. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Получилось добавить кнопку благодаря Вашему примеру, (первый раз добавил неправильно), кнопка остается после фильтрации. Подскажите еще один момент, пожалуйста: в категории сейчас две светится кнопки "Купить в один клик" (одна та, что была, вторую я добавил - не пропадающую), как убрать первую "стандартную кнопку", чтобы она не выводилась только в категориях т.к. у меня товары и на главной, в карточке, в производителях, в поиске и т.д. чтобы она там осталась, там фильтра нет - нет проблем, проблема только с категорией ???
     
  11. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    так как везде код отображения одинаковый то и для поиска и для производителей нужно будет добавить код, что довавили в категории)
    для того чеб небыло две кнокки
    в файле домен/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 + '\');');
              });
     
  12. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    С Купить в один клик все в общем понятно, спасибо за помощь, вы помогли! Я так понял с корзиной там совсем другая история, там ссылки заменяет уже на существующую кнопку в корзину и саму корзину, как тут быть ?
     
    Последнее редактирование: 19 июн 2017
  13. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    С корзиной точно так же.
    В категории заменяем код родной корзины
    Код:
    <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' + '\');' );
              });
     
  14. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Вроде понятно так, но не пробовал, нет времени в данный момент, завтра - послезавтра попробую сделать и отпишусь! Спасибо за помощь!
     
  15. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Если удалить данный код из модификатора, то вызов добавленной кнопкой из шаблона не работает, на корзину тоже самое...
     
  16. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Все работает, проверенно на практике не раз!!!
    Скорей всего неправильно добавляли кнопку.
    На сайте ошибки нет, смотрите где ошиблись))
     
  17. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    Кнопка для 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>
    Не работает вообще!
    Где может быть ошибка ?
     
  18. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    кнопки правильные.
    что не работает, ошибки какие?
     
  19. Kavabanga

    Kavabanga

    Регистрация:
    18 июн 2017
    Сообщения:
    22
    Симпатии:
    0
    никаких ошибок, не в логах не на сайте.
    созданная мною кнопка купить в один клик работает до того, как закомментирую в модификаторе указанный вами код, для удаления второй кнопки. после комментирования кода одна кнопка исчезает, но вторая перестает работать - нажимаю и ничего не происходит...
    до комментирования кода работали две!
    кнопка для корзины вообще не работает (при нажатии никаких действий не происходит) код модификатора еще даже не трогал.
    Для комментирования пользуюсь OCMOD Editor из админки (вручную пробовал тоже самое), кэш очищен весь, делаю тут: test.grizzly-tool.com.ua
     
  20. spy

    spy

    Регистрация:
    15 янв 2013
    Сообщения:
    468
    Симпатии:
    137
    Как же нет, ошибки в консоли.))
    коментить js - "-->" :Shout::Fool: - где такому учат? )))