opencart – Как вручную отображать модуль внутри файла шаблона?

Предположим, я хочу отобразить специальный модуль на главной странице в позиции, отличной от $ content_top, $ content_bottom, $ column_left или $ column_right. Как мне это сделать? Если у вас есть некоторый опыт с этим, не могли бы вы дать мне несколько указателей?

Модуль будет отображаться в home.tpl, но я предполагаю, что мне нужно будет отредактировать файл контроллера home.php

Для этого вам необходимо внести изменения в два файла

Во-первых, вам нужно будет отредактировать контроллер. В этом примере я собираюсь добавить специальные предложения на домашнюю страницу

Поэтому откройте файл catalog/controller/common/home.php . Где-то перед этой строкой $this->response->setOutput($this->render()); добавьте следующее

 $this->data['special_block'] = $module = $this->getChild('module/special', array( 'limit' => 5, 'image_width' => 80, 'image_height' => 80 )); 

Массив – это настройки для модуля. Обратите внимание, что расположение, положение, статус и порядок сортировки не включены, так как они здесь неактуальны. Я также использовал special_block как уникальный ключ для контента, чтобы избежать его противоречия с любыми другими элементами, которые могут нуждаться в рендеринге

Затем в вашем файле шаблона вам просто нужно использовать <?php echo $special_block; ?> <?php echo $special_block; ?> где бы вы ни захотели, чтобы модуль