Скины: различия между версиями
V0yager (обсуждение | вклад) Нет описания правки |
V0yager (обсуждение | вклад) Нет описания правки |
||
Строка 13: | Строка 13: | ||
А файл index.tpl содержит базовое оформление | А файл index.tpl содержит базовое оформление | ||
внутри файла index.tpl, в области контента необходимо вызывать функцию [[ | внутри файла index.tpl, в области контента необходимо вызывать функцию [[site::getContent|{site::getContent()}]] которая отрисует в область контента необходимую TPL основываясь на текущем плагине/контроллере/экшне | ||
Также в папке со скином должна быть папка public которая должна содержать JS/CSS/Изображения | Также в папке со скином должна быть папка public которая должна содержать JS/CSS/Изображения | ||
Строка 20: | Строка 20: | ||
Также смотри [[Автоподключение стилей]] | Также смотри [[Автоподключение стилей]] | ||
===Логика использования шаблона в определённом экшне=== | |||
Функция site::getContent() отрисовывает шаблон, основываясь на текущих параметрах Module(плагин),Controller,Action | |||
т.е. если мы обратились к урл http://site.ru/users/index/list | |||
То будут вызваны | |||
Плагин - users | |||
Контроллер - IndexController | |||
Экшн - listAction | |||
Для отображения содержимого этого функционала функция getContent будет искать шаблон с именем list.tpl в следующих папках: | |||
/site/skins/<текущий скин>/views/users/index/list.tpl | |||
^^^^^ ^^ ^^^ | |||
плагин Кнтрл Экшн | |||
/site/plugins/users/views/index/list.tpl | |||
/plugins/users/views/index/list.tpl | |||
первый найденный шаблон будет отрисован в область контента | |||
===Переключение скина в контроллере=== | ===Переключение скина в контроллере=== | ||
Внутри контроллера выбрать используемый скин можно с помощью метода $this->setSkin(<имя скина>); | Внутри контроллера выбрать используемый скин можно с помощью метода $this->setSkin(<имя скина>); |
Версия от 13:25, 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
Для отображения содержимого этого функционала функция getContent будет искать шаблон с именем list.tpl в следующих папках:
/site/skins/<текущий скин>/views/users/index/list.tpl ^^^^^ ^^ ^^^ плагин Кнтрл Экшн
/site/plugins/users/views/index/list.tpl /plugins/users/views/index/list.tpl
первый найденный шаблон будет отрисован в область контента
Переключение скина в контроллере
Внутри контроллера выбрать используемый скин можно с помощью метода $this->setSkin(<имя скина>);