Разработка

Opencart 2.3 создаем отдельный шаблон для статьи

Краткое руководство

Для того, чтобы создать отдельный шаблон для статьи сайта на opencart 2.3, надо откорректировать 1 файл (контроллер статьи) + создать отдельный контроллер с названием нового шаблона статьи и сам новый шаблон статьи.

Итак, вот список файлов, которые надо открыть:

- catalog/controller/information/information.php
- catalog/controller/information/newinformation.php
- catalog/veiw/theme/default/template/information/newinformation.tpl
- catalog/veiw/theme/default/template/information/information.tpl

В данном примере я изменяю файлы дефолтной темы, но на практике, обычно, это делается в файлах рабочей темы.

1. Сначала надо посмотреть id статьи, для которой надо создать отдельный шаблон. Это делается в режиме редактирования статьи. В адресной строке находим в конце вот такую фразу information_id=4, где последняя цифра и есть искомый id редактируемой статьи.

Найдем и скопируем следующий код в контроллере information.php


$this->response->setOutput($this->load->view('information/information', $data));
						      		

И изменим его на вот этот:


if ($information_id == 4 ) {
			   $this->response->setOutput($this->load->view('information/newinformation', $data));
			} else {
			   $this->response->setOutput($this->load->view('information/information', $data));
			}
						      		

Данным кодом мы переопределяем шаблон статьи в зависимости от ее id. Так мы делаем, если нам просто нужно поменять блоки местами или по-другому оформить страницу. Тогда перезодим к пункту 4.

2. Теперь создадим контроллер нового шаблона (нужно в случае, когда новый шаблон должен включать еще и другие модули), просто скопируем содержимое контроллера information.php. Поменяем название класса контроллера на наш, т.е. заменим ControllerInformationInformation на ControllerInformationNewinformation. И заменим код:

$this->response->setOutput($this->load->view('information/information', $data));

на:

$this->response->setOutput($this->load->view('information/newinformation', $data));

Так мы определили для данного макета страницы наш шаблон.

3. Теперь зайдем в админке в "Дизайн" -> "Макеты".

Нажимаем + и создаем новый макет с названием нового шаблона. В поле "Путь" указываем путь до нашего контроллера, в нашем случае:

4. Теперь копируем содержимое дефолтного шаблона статьи, т.е. содержимое information.tpl в файл нового шаблона newinfrmation.tpl.

Ну вот мы и создали новый шаблон статьи сайта на opencart 2.3.

PS: Так можно создать отдельный шаблон для категории товара или для самого товара.


Поделиться

А теперь поговорим о вашем проекте!