Отдельный шаблон для категории

Самый простой и удобный способ — применять шаблон категории в зависимости от category_id.
Все правки делаются в файле контроллера категорий …/catalog/controller/product/category.php

Для версии Opencart 1.5.* 

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

заменить на

if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category_' . $category_info['category_id'] . '.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category_' . $category_info['category_id'] . '.tpl';
} else {
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
$this->template = $this->config->get('config_template') . '/template/product/category.tpl';
} else {
$this->template = 'default/template/product/category.tpl';
}
}

Для версии Opencart 2.* и Opencart 3.* 

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

заменить на

if (file_exists(DIR_TEMPLATE . $this->config->get('theme_default_directory') . '/template/product/category_' . $category_info['category_id'] . '.tpl')) {
$this->response->setOutput($this->load->view('product/category_' . $category_info['category_id'], $data));
} else {
$this->response->setOutput($this->load->view('product/category', $data));
}

В папке [ваш_шаблон]/template/product/ клонируем файл category.tpl и переименовываем его в формат category_[category_id_для которой нужен шаблон].tpl

Share this post:

Recent Posts