Здравствуй, уважаемый друг!

Кажется, ты используешь AdBlock. Этот проект развивается и существует за счет доходов от рекламы.
Добавь, пожалуйста, нас в исключения.

Спасибо за понимание.

Теперь мы команда!

Как вывести модуль на определенной странице Opencart

24 февраля 2015 в 15:10 Автор: Nikita_Sp в категории Создание сайтов 4 комментария

За все время работы с Opencart, я ни разу не задавался вопросом, как вывести модуль только на одной категории, продукте или странице. Всегда модули расположены на всех страницах одного типа, но тут возник вопрос, как же все таки это реализовать?

Как вывести модуль только на одной категории/продукте/статье?

В продолжение статьи создание позиции вывода модулей в OpenCart, сегодня мы найдем ответ, как же отображать модуль только на определенных страницах, и сделаем это без вмешательства в код, собственноручно через административную панель!

Как работают схемы (layout) в Opencart

Для того чтобы решить данную задачу, необходимо четко понимать, как работает вывод (layout) в Opencart. Сейчас я попробую объяснить вам как это функционирует как я это понимаю.

В Администраторской панели Opencart присутствует пункт меню «Система» — «Дизайн» — «Схемы». Схемы — это бланки/контейнеры/шаблоны, которые могут быть применены к любой странице. Каждая схема представляет из себя просто список указанных для нее модулей в определенных местах (верх, низ, лево, право).

Таблица Layout для Opencart

Каждая схема (layout) может применяться к элементам благодаря двум параметрам:

  1. по адресу (url), используя переменную route;
  2. по привязке ее к элементу (категории, продукту, статье).

Таблица layout_route хранит информацию о адресах/разделах, к которым прикреплена та или иная схема:

Таблица Layout Route для Opencart

А связь с определенным элементом указывается для каждого элемента отдельно в его настройках, и таблица связей (в нашем случае категорий со схемами) выглядит следующим образом:

Таблица Category to layout для Opencart

Как вывести или скрыть модуль на определенной странице Opencart

Теперь, когда мы разобрались со связями, давайте разберемся с административной частью и выведем модуль только в одной категории. Стандартные схемы созданы на основе адреса (переменной route) и применяются к разделу (ко всем категориям/статьям/продуктам), в случае если для элемента раздела не указана уникальная схема.

Мы же создадим новую схему, которая не будет привязана по адресу — мы ее будем применять только к одному элементу раздела, а именно к категории Components.

Создаем схему (layout) для отдельного элемента (категории,продукта,статьи)

Теперь, нам необходимо указать связь между этим Layout’ом (схемой) и нашим элементом, к которому мы хотим его применить. Сделать это можно, если у вашего элемента присутствует вкладка Дизайн (Design), в которой и указывается схема:

Теперь наша с вами категория Components будет показывать только те модули, которым мы задали отображение в схеме Category Components:

Выбор схемы/layout для модуля Opencart

После того как мы добавили нужные модули к нашей схеме, категория Components стала уникальной:

Как видите, для данной категории с уникальной схемой выводится только один модуль, для того чтобы категория или товар выглядела также как и остальные — просто добавьте все нужные модули в эту схему и они появятся на странице с уникальной схемой.

Вот таким незамысловатым способом вы можете вывести модуль только на одной категории, только на одной странице/статье, только на странице одного продукта и т.д. Также вы можете применить одну и ту же схему для нескольких элементов раздела, и «особенными» будут все эти разделы. Также вы можете ознакомиться с оригиналом статьи, про принцип работы схем в Opencart.

4 комментария

  • Здравствуйте. Спасибо за статью, а вот не подскажете как решить вопрос, когда надо вывести модуль на определенной странице? Например, на одной из информационных страниц, я бы хотел добавить модуль с формой обратной связи?

    • В этой статье и описано как создать уеикальный вид для страницы.
      Будьте внимательней!

  • Спасибо, полезная статья!!! Надеюсь то то искал, сейчасс попробую реализовать)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вверх!

Меню блога

Категории блога

Облако тегов