OpenCart - Как вручную отобразить модуль внутри файла шаблона?

StackOverflow https://stackoverflow.com/questions/8819839

  •  27-10-2019
  •  | 
  •  

Вопрос

Допустим, я хочу отобразить модуль Specials на домашней странице в положении, отличной от $ 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; ?> Куда бы вы ни хотели, чтобы модуль ушел

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top