Добавить модуль Opencart на отдельную страницу

Добавить модуль Opencart на отдельную страницу
Я работаю с OCstore 2.3. Статья приминима к любой сборке Opencart ветки 2.3x.
Есть модули, которые выводят структурированную информацию, которую можно отнести только к какой-то одной странице.
Например, модуль блоков – через который можно создать красивый, информационный блок, и вывести его на главной странице – здесь проблем нет, у нас есть схема (макет) – Главная.
А сегодня, мы будем выводить его на одной странице схемы “Информация” (information/information).

Задача была такая: Вывести модуль в схеме “Информация” (information/information) на странице “О компании”, то есть в итоге – блоки созданные модулем заменят контент ($content).
Для начала создаем нужный нам модуль. Обратите внимание на его id, эта информация нам пригодится.
ID модуля в админ панели Opencart
После того, как модуль создан, размещаем его в схеме (макете) “Информация”, чтобы заменить модулем контент, я разместил его в положении “Вверху страницы” (content_top).
Позиция модуля "Вверху страницы" Opencart
Далее, нам нужно внести изменения в файл контроллера вывода позиций модуля “Вверху страницы” (content_top). Найти его можно так:

catalog/controller/common/content_top.php

Ищём вот этот блок кода – в самом конце файла.

Здесь $part[1] – содержит id нашего модуля. Теперь мы можем задать условия, при которых наш модуль будет выводится на нужной нам странице.
Узнаем ID страницы – так-же, как и ID модуля – зайдите в административной панеле в редактирование статьи – в рабочей строке браузера будет ID страницы. У меня страница с ID = 4.
Заменем вот эту часть кода:

На наше условие:

Теперь модуль отображается только на странице схемы “Информация” с id = 4. Сейчас модуль можно разместить в любой другой схеме (на главной, в продукте), или любой другой позиции – модуль везде будет отображаться, кроме позиции “Вверху страницы” (content_top) на других страницах схемы “Информация” (information/information).
Далее, таким-же способом мы разместим дополнительно созданые модули для каждой информационной страницы сайта: Доставка, Оплата и так далее…

UPDATE:
Вот так выглядит итоговый код для трёх страниц, и трёх модулей.

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

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: