• Данная статья создана для внутреннего пользования
  • Она может содержать ошибки и неточности, мы не гарантируем корректность информации
  • Вся информация в статье относится к версии 1.4.х и могла устареть на данный момент времени
  • МЫ НЕ КОНСУЛЬТИРУЕМ ПО ДОРАБОТКЕ ОПЕНКАРТА И ИНФОМАЦИИ В СТАТЬЕ

Opencart. Выносим фрагмент шаблона в отдельный файл.

Opencart. Выносим фрагмент шаблона в отдельный файл.

Очень часто необходимо вынести общую часть для всех шаблонов в отдельный файл. В CMS Opencart это требует немного дополнительных движений.

Доработка Opencart

Наша компания занимается созданием, доработкой и сопровождением магазинов на Opencart. Подробнее

Вводная. Есть шаблон Opencart, необходимо вынести какую либо его часть в отдельный файл, скажем /common/showcase.tpl. И так, по шагам.

1. Создаем сам файл /common/showcase.tpl и вносим туда то, что мы хотим внести.

2. Подключаем файл в home.tpl, для этого в месте ввода пишем

<?php echo $showcase; ?>

3. Создаем файл- контроллер в папке /catalog/controller/common/showcase.php со следующим содержимым:

<?php
class ControllerCommonShowcase extends Controller {
protected function index() {
$this->id = 'showcase';

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/ template/common/showcase.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/showcase.tpl';
} else {
$this->template = 'default/template/common/showcase.tpl';
}
$this->render();
}

?>

4. Добавляем наш файл в catalog/controller/common/home.php

$this->children = array(
        'common/column_right',
        'common/column_left',
        'common/footer',
        'common/header',
        'common/showcase'
);

5. Проверяем.

Решение абсолютно не идеальное, более того - местами даже неправильное, так как нет нормального обработчика отсутствия шаблона в папке. Если он отсутствует мы стыдливо пробуем загрузить оный файл из дефолтового шаблона, и очевидно, что его там не будет. Но как быстрое решение вполне подходит.