Как вывести модуль на определенной странице Opencart
24 февраля 2015 в 15:10 в категории Создание сайтов 4 комментарияЗа все время работы с Opencart, я ни разу не задавался вопросом, как вывести модуль только на одной категории, продукте или странице. Всегда модули расположены на всех страницах одного типа, но тут возник вопрос, как же все таки это реализовать?
В продолжение статьи создание позиции вывода модулей в OpenCart, сегодня мы найдем ответ, как же отображать модуль только на определенных страницах, и сделаем это без вмешательства в код, собственноручно через административную панель!
Как работают схемы (layout) в Opencart
Для того чтобы решить данную задачу, необходимо четко понимать, как работает вывод (layout) в Opencart. Сейчас я попробую объяснить вам как это функционирует как я это понимаю.
В Администраторской панели Opencart присутствует пункт меню «Система» — «Дизайн» — «Схемы». Схемы — это бланки/контейнеры/шаблоны, которые могут быть применены к любой странице. Каждая схема представляет из себя просто список указанных для нее модулей в определенных местах (верх, низ, лево, право).
Каждая схема (layout) может применяться к элементам благодаря двум параметрам:
- по адресу (url), используя переменную route;
- по привязке ее к элементу (категории, продукту, статье).
Таблица layout_route хранит информацию о адресах/разделах, к которым прикреплена та или иная схема:
А связь с определенным элементом указывается для каждого элемента отдельно в его настройках, и таблица связей (в нашем случае категорий со схемами) выглядит следующим образом:
Как вывести или скрыть модуль на определенной странице Opencart
Теперь, когда мы разобрались со связями, давайте разберемся с административной частью и выведем модуль только в одной категории. Стандартные схемы созданы на основе адреса (переменной route) и применяются к разделу (ко всем категориям/статьям/продуктам), в случае если для элемента раздела не указана уникальная схема.
Мы же создадим новую схему, которая не будет привязана по адресу — мы ее будем применять только к одному элементу раздела, а именно к категории Components.
Теперь, нам необходимо указать связь между этим Layout’ом (схемой) и нашим элементом, к которому мы хотим его применить. Сделать это можно, если у вашего элемента присутствует вкладка Дизайн (Design), в которой и указывается схема:
Теперь наша с вами категория Components будет показывать только те модули, которым мы задали отображение в схеме Category Components:
После того как мы добавили нужные модули к нашей схеме, категория Components стала уникальной:
Как видите, для данной категории с уникальной схемой выводится только один модуль, для того чтобы категория или товар выглядела также как и остальные — просто добавьте все нужные модули в эту схему и они появятся на странице с уникальной схемой.
Вот таким незамысловатым способом вы можете вывести модуль только на одной категории, только на одной странице/статье, только на странице одного продукта и т.д. Также вы можете применить одну и ту же схему для нескольких элементов раздела, и «особенными» будут все эти разделы. Также вы можете ознакомиться с оригиналом статьи, про принцип работы схем в Opencart.
4 комментария
Здравствуйте. Спасибо за статью, а вот не подскажете как решить вопрос, когда надо вывести модуль на определенной странице? Например, на одной из информационных страниц, я бы хотел добавить модуль с формой обратной связи?
В этой статье и описано как создать уеикальный вид для страницы.
Будьте внимательней!
Спасибо, полезная статья!!! Надеюсь то то искал, сейчасс попробую реализовать)
Спасибо за комментарий!