Скины: различия между версиями
V0yager (обсуждение | вклад) |
V0yager (обсуждение | вклад) |
||
Строка 39: | Строка 39: | ||
Для отображения содержимого этого функционала, функция site::getContent будет искать шаблон с именем list.tpl(list - имя экшна) в следующих папках: | Для отображения содержимого этого функционала, функция site::getContent будет искать шаблон с именем list.tpl(list - имя экшна) в следующих папках: | ||
/site/skins/<текущий скин>/views/users/index/list.tpl | /site/skins/<текущий скин>/views/content/users/index/list.tpl | ||
^^^^^ ^^ ^^^ | |||
плагин Кнтрлр Экшн | |||
/site/plugins/users/views/index/list.tpl | /site/plugins/users/views/content/index/list.tpl | ||
^^^^^ | ^^^^^ ^^ ^^^ | ||
плагин | плагин Контроллер Экшн | ||
/plugins/users/views/index/list.tpl | /plugins/users/views/content/index/list.tpl | ||
^^^^^ | ^^^^^ ^^ ^^^ | ||
плагин | плагин Контроллер Экшн | ||
Версия от 14:29, 4 марта 2013
Основная информация
В проекте есть возможность использования нескольких вариантов оформления(скинов)
Скины располагаются в папке /site/skins для каждого скина своя папка
Пример: /site/skins/skin1 /site/skins/skin2
внутри папки со скином обязательно должны быть файл index.tpl и папка template_c
внутри template_с smarty хранит откомпилированные шаблоны
А файл index.tpl содержит базовое оформление
внутри файла index.tpl, в области контента необходимо вызывать функцию {site::getContent()} которая отрисует в область контента необходимую TPL основываясь на текущем плагине/контроллере/экшне
Также в папке со скином должна быть папка public которая должна содержать JS/CSS/Изображения
Также смотри Автоподключение стилей
Логика использования шаблона в определённом экшне
Функция site::getContent() отрисовывает шаблон, основываясь на текущих параметрах Module(плагин),Controller,Action
т.е. если мы обратились к урл http://site.ru/users/index/list
То будут вызваны
Плагин - users
Контроллер - IndexController
Экшн - listAction
Для отображения содержимого этого функционала, функция site::getContent будет искать шаблон с именем list.tpl(list - имя экшна) в следующих папках:
/site/skins/<текущий скин>/views/content/users/index/list.tpl ^^^^^ ^^ ^^^ плагин Кнтрлр Экшн
/site/plugins/users/views/content/index/list.tpl ^^^^^ ^^ ^^^ плагин Контроллер Экшн
/plugins/users/views/content/index/list.tpl ^^^^^ ^^ ^^^ плагин Контроллер Экшн
первый найденный шаблон будет отрисован в область контента
Переключение скина в контроллере
Внутри контроллера выбрать используемый скин можно с помощью метода $this->setSkin(<имя скина>);