Каталог. Разные шаблоны для разных категорий

Нашел вариацию для магазина, а здесь - для стандартного

#1 27 марта 2014 в 15:34
Доброго времени суток!

Плюсиков в карму пока на блог не насобирал, поэтому выкладываю на форуме свое решение для Каталога.

Все чаще в моих проектах на iCMS просят сделать разные шаблоны для главной страницы каталога и для остальных или вообще по разделам полностью разные дизайны.

На форуме тут откопал хак движка на эту тему, но, по мне, слишком сложно и непонятно ;)

Поэтому предлагаю свой вариант файла /templates/*ваш шаблон*/components/com_catalog_cats.tpl

  1. {foreach key=tid item=cat from=$cats}
  2. {if $cat.parent_id == 1000}
  3. Шаблон для подкатегорий (коневого) каталога
  4. {else}
  5. Шаблон для остальных категорий
  6. {/if}
  7. {/foreach}
В данном случае указывая родительскую категорию в $cat.parent_id вы можете варьировать отображение категорий. Если немного запариться, то таким макаром можно все разделы каталога сделать уникальными по дизайну или просто ограничиться изменением отображения главной страницы каталога.

Надеюсь, кому-нибудь этот вариант поможет.
Благодарности в карму ;)
#2 30 марта 2014 в 00:30
Здравствуйте.
А как назначить отдельный шаблон com_catalog_item.tpl в зависимости от того в какой рубрике находится запись?
#3 30 марта 2014 в 14:48

А как назначить отдельный шаблон com_catalog_item.tpl в зависимости от того в какой рубрике находится запись?

Нил
Есть два варианта:
1. Использовать код выше для определения родительской рубрики и в зависимости от этого строить код.
2. Я обычно дописываю ид категории или итема в класс. Код становится более чем индусским, с другой стороны, управлять можно всем вплоть до каждого поля.
  1. class="uc_cat_item{$cat.id}"
#4 1 апреля 2014 в 13:22
MasterMind, + в карму
Будем тестировать предложение для разных категорий
#5 1 апреля 2014 в 14:11

MasterMind

MasterMind
спасибо, буду пробовать.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.