Задача не раз подымалась — «Как сделать свой шаблон для категорий?«
И вот тоже столкнулся с такой штукой, но все что пишут в «интернетах» не подходит, так как по тем инструкциям можно назначить шаблон только для категории с определенным ID.
Я решил сделать все по-другому. Может быть не совсем правильно, но все же думаю идея заслуживает внимания.
И так, нам надо вывести категорию (или несколько категорий) с другим шаблоном. Для этого я решил использовать схемы вывода.
Создаем новую схему — Система — Дизайн — Схемы — Назовем ее «Подкатегория» и id у нее — ’12’
В админке у нужной категории на вкладке «Дизайн» выбираете созданную схему «Под категория»
Теперь в папке с шаблоном создаете шаблон для вывода вашей «особенной» категории к примеру catalog/view/theme/…/product/subcategory.tpl — содержимое можно взять с оригинала category.tpl (и изменить под себя)
Теперь в контролере категорий —
catalog/controller/product/category.php
Задаем определение схемы отображения:
после 10 строки $this->load->model(‘tool/image’);
добавляем
if ('product/category' && isset($this->request->get['path'])) { $path = explode('_', (string)$this->request->get['path']); $this->data['layout_id'] = $this->model_catalog_category->getCategoryLayoutId(end($path)); }
дальше находим примерно 405 строка (в версии 1.5.4.1 — 350 строка)
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 ($this->data['layout_id'] == 12) { $this->template = $this->config->get('config_template') . '/template/product/subcategory.tpl'; } elseif (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'; }
где 12 это id вашей схемы «Подкатегория», а subcategory.tpl ваш файл с шаблоном вывода категории
Все теперь шаблон для вашей категории будет браться из файла subcategory.tpl
Аналогично можно сделать и для информационных страниц!!!
Не забудьте, что модули тоже придется вывести в схему «Подкатегория»
Спасибо, мне очень помогло!
Рад помочь.
Отличная идея, парень)