Добавить модуль 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: :???: :?: :!: