Как вывести все товары на отдельную страницу в OpenCart — модуль Complete Product List / All Product 2016-07-05

создаст специальную страницу со всеми товарами, аналогично странице «Акции» (ссылка на страницу с ак

  1. admin
    Иногда есть необходимость вывести все товары магазина на отдельной странице. Естественно, это можно сделать, создав одну родительскую категорию, которая и будет содержать в себе все товары. Но в этом способе есть и неудобства, например, модуль категорий в сайдбаре будет свернутым до одной родительской категории, что не только неудобно, но и некрасиво. В общем, если не создавать одну главную родительскую категорию, то каким образом можно вывести все товары магазина на отдельную страницу?

    Модуль «Complete Product List / All Products» создаст специальную страницу со всеми товарами, аналогично странице «Акции» (ссылка на страницу с акциями обычно присутствует в футере). Модуль совместим с версиями 1.5.1.3 — 2.0.3.1. В файлах модуля есть xml файл, а это значит, что используется vqmod. Для версий 1.5.x это совершенно не проблема, так как редко какой магазин на 1.5.х не использует vqmod, а вот с opencart 2.x дело обстоит несколько иначе, так как в двойке вместо vqmod используется ocmod. Конечно, некоторые упорно продолжают использовать vqmod, но это уже дело индивидуальное, поэтому код из xml файла необходимо вручную перенести в те файлы, которые указаны в данном файле, но об этом чуть позже.

    Установка и настройка модуля

    1. Скачиваем модуль «Complete Product List / All Products».

    2. По ftp заливаем в магазин содержимое той папки, которая соответствует используемой нами версии (в архиве есть две папки — 1.5х и 2.х). Для 1.5.x необходимо загружать обе папки, если же используется версия 2.х и не используется vqmod, то загружаем только папку catalog.

    3. Этот пункт только для владельцев магазинов версии 2.х, в которых не используется vqmod.

    Открываем файл vqmod/xml/all_products.xml и переносим ее содержимое в нужные файлы магазина, а именно:

    — открываем файл catalog/controller/common/footer.php и находим строку

    Код:
    $data['text_newsletter']=$this->language->get('text_newsletter');

    перед ней добавляем новую строку


    Код:
    $data['text_allproducts']=$this->language->get('text_allproducts');

    В этом же файле, чуть ниже, находим строку


    Код:
    $data['newsletter']=$this->url->link('account/newsletter','','SSL');

    и снова перед ней добавляем строку с кодом


    Код:
    $data['allproducts']=$this->url->link('product/allproducts');

    -теперь открываем языковой файл catalog/language/english/common/footer.php и перед строкой с $_[‘text_special’] размещаем строку с названием новой страницы


    Код:
    $_['text_allproducts']   ='All Products';

    Где «All Products» можно заменить на любое подходящее для Вашего магазина значение: «Каталог товаров», «Категории товаров», просто «Категории» или «Каталог» и т. д.


    — открываем файл catalog/view/theme/*/template/common/footer.tpl и перед строкой с акциями


    Код:
    <li><ahref="<?phpecho$special;?>"><?phpecho$text_special;?></a></li>

    размещаем строку вывода ссылки на новую страницу в футер


    Код:
    <li><ahref="<?phpecho$allproducts;?>"><?phpecho$text_allproducts;?></a></li>

    4. Заходим в магазин и видим, что в футере появилась нужная нам ссылка.

    catalog-tovarov-page.png

    Переходим по ней и удостоверяемся, что все работает как положено: страница носит придуманное нами название и на ней отображаются все товары.

    catalog-all-products-page.png

    5. На этом, в принципе, и все — модуль работает, страница есть. Но есть еще один необязательный, но полезный нюанс — добавление схемы или макета. Для чего это нужно? Например, захотим мы в нашем каталоге товаров, в боковой колонке, вывести модуль категорий или еще какой-нибудь модуль, информацию, а сделать это, не имея макета, невозможно.

    Итак, идем в админку — Система — Дизайн — Макеты и добавляем новый макет. В поле «Название макета» вводим то название, которые мы присвоили странице в языковом файле ранее. В поле «Путь» вписываем — product/allproducts и сохраняем внесенные изменения. Теперь появился новый макет «Каталог товаров», в котором можно размещать всевозможные модули.


    С модулем «Complete Product List / All Products» отпадает надобность создавать одну глобальную категорию, делать ее родительской для всех лишь для того, чтобы в одном месте, на одной странице, собрать все товары. Устанавливаем модуль и получаем отдельную страницу со всеми товарами, которые есть в магазине.
    Володимир, tanush, Stripy и 23 другим нравится это.