Mega Filter PRO конфликтует со страницей Акции (specials)

moghock92

Создатель
Регистрация
8 Окт 2015
Сообщения
23
Реакции
1
Здравствуйте уважаемые вебмастера. Проблема вот в чём:
Установил Mega Filter PRO на Opencart 2.0, тема coloring. Работает корректно без нареканий, но когда перехожу по ссылке мойсайт/specials - вверху вылезают ошибки
Код:
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 352
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 359
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 359
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 359
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 359
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 359
Notice: Undefined variable: product_total in ...\system\storage\modification\catalog\controller\product\special.php on line 370

Вот код этих строк
Код:
351    $pagination = new Pagination();
352    $pagination->total = $product_total;
353    $pagination->page = $page;
354    $pagination->limit = $limit;
355    $pagination->url = $this->url->link('product/special', $url . '&page={page}');
356
357    $data['pagination'] = $pagination->render();
358
359    $data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));

Подскажите в чём проблема может быть? Буду очень благодарен за любую помощь, подсказку, совет.

P.S. Понял что проблема из-за Mega Filter PRO ибо устанавливал на денвер постепенно всё и проверял. Ошибки начали появляться только после установки Mega Filter PRO. Так же замечу что установлен VQmod, ибо без него Mega Filter PRO работать не хочет. Фильтру нужен и ocmod файл и установленный VQmod без файла xml, иначе ошибка возникает.

P.P.S Если Вы вобьёте в google
Notice: Undefined variable: product_total in catalog\controller\product\special.php
Вы увидите что на многих сайтах такая проблема, но почему-то решение никто не ищет.
 
Последнее редактирование:
Всё, проблема решена. Она была в файле ocmod. Просто установил другой файл ocmod и всё заработало как положено. Вот файл, специально для coloring. Может пригодится кому.
 

Вложения

  • mega_filter_fixed_for_rs2.ocmod.rar
    4,5 KB · Просмотры: 51
https://www.nulled.cc/pages/forum-rules/ П.2.15
Там ошибка именно в xml файле. Наверное автором модуля.

Открываем mega_filter.ocmod.xml (если только начали устанавливать модуль), в другом случаи ищете эмулированный xml в БД своего магазина обыкновенным поиском. Там есть содержание того же файла xml.
Здесь от шаблона в принципе не зависит, эта ошибка именно в модификаторе модуля Mega Filter Pro. В моем случаи я исправлял ёё на шаблоне Revolution 3.1.2. Все работоспособно.

Ближе к сути. Ищем:

Код:
<file path="catalog/controller/product/special.php">
        <operation>
            <search position="before"><![CDATA[$product_total = $this->model_catalog_product->getTotalProductSpecials();]]></search>
            <add><![CDATA[
                if( isset( $this->request->get['category_id'] ) ) {
                    $filter_data['filter_category_id'] = (int) $this->request->get['category_id'];
                }
            ]]></add>
        </operation>
    </file>

Заменяем на:

Код:
<file path="catalog/controller/product/special.php">
        <operation>
            <search><![CDATA[$product_total = $this->model_catalog_product->getTotalProductSpecials();]]></search>
            <add position="before"><![CDATA[
                if( isset( $this->request->get['category_id'] ) ) {
                    $filter_data['filter_category_id'] = (int) $this->request->get['category_id'];
                }
            ]]></add>
        </operation>
    </file>

Как видно в коде position="before" стоял в search, а нужно что бы стоял в add
Потому и ругался OCMOD так как не понимал что же с этим кодом делать.

***Удалено. Нарушены правила форума: Для просмотра ссылки Войди или Зарегистрируйся П.2.15***
 
Назад
Сверху