Добавление новых позиций для модулей в CMS Opencart (ocStore) 1.5x

В Opencart и разнообразных сборках на базе данной CMS модули можно размещать на четырех основных позициях – левая, правая колонки, верх и низ контента. А вот если нужно реализовать вывод модуля на отличных от предусмотренных позициях – читаем инструкцию:

1. Создаем контроллер позиции

файл контролера бросаем в папку catalog/controller/common/  у нас он будет называться content_myposition.php c содержимым:

С помощью поиска и замены можно поменять “content_myposition” на свое значение. Также если применяем свое значение не забываем изменить название класса Строка 2 под свое название.

2. Шаблон вывода позиции модуля

По пути catalog/view/theme/default/template/common/ создаем файл content_myposition.tpl с содержимым:

3. Объявляем позицию модуля

По пути catalog/controller/common/ в нужном файле находим секцию

и добавляем в нее строчку ’common/content_myposition’ пред футер и хедер, должно получиться:

если Вы добавляете например в футер, то там Вы можете не обнаружить строчку $this->children = array, в этом случает перед $this->render(); добавьте $this->children = array(‘common/content_slider’);

4. Выводим позицию в шаблоне Опенкарт

По пути catalog/view/theme/default/template/common/ (или catalog/view/theme/ваша_тема/template/common/ в случае использования отличных от дефолтной темы) в нужный файл в необходимом месте добавляем

5. Добавление выбора позиции в админке

В каждый модуль, который хотим разместить на новой позиции нужно нужно добавить опции ее выбора, для этого по пути admin/view/template/module/ в нужных файлах находим секции

и перед или после нее добавляем:

Дальше находим строку

перед ней добавляем

После этого в нужном модуле появиться выбор позиции “Myposition”.

Способ работает с любыми модулями.

Проверено на практике на ocStore 1.5.5.2 и Opencart 1.5.6.4 – должно работать на всех сборках и оригинале ветки 1.5х

Ссылка на источник: https://opencartforum.com/topic/2084-poziciya-moduley/

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

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