Как создать макеты для одиночного типа
Этот урок проведет Вас через процесс создания собственного макета для отдельного типа.
Начнем
Материалы, которые не категоризованы, не будут показаны в буквенном индексе. Прежде чем читать этот урок, убедитесь, что Вы знаете о том, как создать новый макет с позициями. Создание собственного макета для отдельного типа очень похоже на процесс, указанный выше. За исключением макеты лежат в /media/zoo/applications/APPLICATION/templates/TEMPLATE/renderer/item/TYPE/.Разбирая по деталям
Давайте создадим макет demo для типа demo_type. Для этого сначала создайте папку /media/zoo/applications/APPLICATION/templates/TEMPLATE/renderer/item/demo_type/. Мы добавим все макеты для типа demo_type в эту папку. Вам нужно создать файлы positions.xml и metadata.xml как это описано в процессе создания макета с позициями. И снова, файл positions.config не прикосновенен ;). Чтобы создать макет demo , выполните шаги из процесса создания макета с позициями. Различие здесь только в том, что макет будет помещен не в папку /item/, а в папку /item/TYPE/ и вы должны будете создать два XML файла.$this->renderer->render('item.demo_type.demo', array('view' => $this, 'item' => $this->item));
Чтобы отобразить материал с новым макетом, вызовите функцию рендера, которую тоже нужно немного изменить. Код должен быть примерно таким:if ($this->item->type == 'demo_type') :
else:
endif;
Вы можете разбить функцию рендера в цикле if clause, чтобы проверить тип материала, с кодом, указанным выше. Пожалуйста, убедитесь, что проверяете против псведонимов типов (имен файлов конфигурации типа).