Добавляем новую страницу (схему) в OpenCart

Иногда возникает потребность в создание новой страницы или схемы под OpenCart, под страницей я буду  понимать новую связку файла представления (.tpl) и контроллера (php).

Как пример мы хотим сделать страницу, где будет выводиться все последние поступления. Это будет пустая страница типа home.tpl, в админпанели OpenCart мы установим стандартный модуль “Последние” и добавим его на вывод в наш новую схему.

Итак создаем новую страницу или схему в CMS OpenCart

Первым делом создадим директорию latest по адресу catalog\controller. Заходим в нее и создаем php файлконтроллера, назовем его также, т.е. latest.php

Внутри контроллера пропишем

Это стандартный контроллер для шаблона home.tpl, изменили мы только название класса с «ControllerCommonHome» на «ControllerLatestLatest» и строки с
«/template/common/home.tpl» на «/template/latest/latest.tpl».

Для страницы где выводиться последние поступления это будет достаточно, по сути мы создаем клон шаблона common/home.tpl.

Далее создаем файл представления для нашей страницы, переходим в catalog/view/theme/имя_вашей_темы/template

и создаем одноименную директорию, как и в контроллере, т.е. «latest». Переходим в нее и создаем файл шаблон latest.tpl. Наполняем его содержимым, т.к. мы создаем клон home.tpl, то наполним его идентичным содержимым, т.е.

Переходим в панель администратора, далее в Система->Дизайн->Схема. Добавляем новую схему с именем «Поступления» и указываем  путь к контроллеру нашей новой страницы, т.е. к «latest/latest».

Если мы хотим чтобы на нашей страницы выводились новые поступления, мы должны разрешить модулю «Последние» отображаться на страницы «Поступления». Для этого заходим в Дополнения->Модули и напротив модуля «Последние» нажимаем изменить, после чего выбираем схему «Поступления», положение вверх страницы и статус «Включено».

Проверяем, вводим в строке браузера

/index.php?route=latest/latest

должно все открыться без ошибок.

Теперь добавим переменную с ссылкой на наш шаблон. Для этого открываем контролер шаблона в котором хотим что бы была видна данная ссылка и добавляем следующие строки

$this->data['latest'] = $this->url->link('latest/latest', '', 'SSL');

Например, это может быть контроллер представления header.tpl, т.е. catalog\controller\common\header.php

Теперь в файле представления header.tpl будет видна переменная $latest с ссылкой, мы можем ее использовать  таким образом

<a href="<?php echo $latest; ?>">Поступления</a>

При нажатие на данную ссылку, мы перейдем на нашу новую схему или страницу.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
× iOs app

To install this Web App in your iPhone/iPad press iOs sourse and then Add to Home Screen.