Скины: различия между версиями

Материал из GLENN CMS WIKI
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 13: Строка 13:
А файл index.tpl содержит базовое оформление
А файл index.tpl содержит базовое оформление


внутри файла index.tpl, в области контента необходимо вызывать функцию [[Kernel::getContent|{Kernel::getContent()}]] которая отрисует в область контента необходимую 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(<имя скина>);