Главное отличие Cotonti/Seditio/LDU от других CMS это широконастраиваемые шаблоны. В большинстве систем – сам разработчик внутри кода пишет дизайн плагина, который затем вписывается или не вписывается общий вид сайта. В нашей системе же напротив – огромное усилие положено отделению кода от дизайна. И уже сегодня вы не найдете файлов, где в том или ином виде встречается html. Все html части вынесены в шаблоны и ресурсы. Несмотря на общее удобство, это создает ряд трудностей для начинающих пользователей cotonti – так как приходится настраивать все вручную.Опытные пользователи, напротив, очень ценят данную возможность.

Шаблонизатор Cotonti Siena имеет следующие особенности:

  • Парсит все переменные. Разработчику не надо отдельно парсить языковые строки. Шаблонизатор все сделает сам.
  • Логические блоки. В том числе логика в логике. Это позволяет значительно расширить функционал системы без привлечения разработчиков для написания элементарных блоков.
  • Callback функции. Новый шаблонизатор позволяет применять в шаблоне любую из объявленных в коде функций.

Мы видим, что новый coTemplate позволяет решать многие вопросы непосредственно дизайнеру, не прибегая к помощи разработчика, что в существенной мере облегчает труд разработчика.

Итак, начинаем.

Шаг 1. Скажи шаблонизатору, какой использовать шаблон или функция cot_tplfile (в младенчестве — sed_skinfile). Конечно, нашему шаблонизатору можно указать непосредственно путь к файлу, но это создаст препятствия для дизайнеров. Смысл данной функции – указываем ей имя шаблона, указываем его тип (ядро, модуль, плугин). Далее функция создает список возможных «нахождений» нашего шаблона, и ищет наиболее благоприятный путь.

Разберем на примере

$mskin = cot_tplfile('superplug.cat.subcat','plug');
или
cot_tplfile(array('superplug','cat', 'subcat'), 'plug');

функция последовательно проверит следующие пути:

  • ./themes/ТЕМА/plugins/superplug.cat.subcat.tpl
  • ./plugins/superplug/tpl/superplug.cat.subcat.tpl
  • ./themes/ТЕМА/plugins/superplug.cat.tpl
  • ./plugins/superplug/tpl/superplug.cat.tpl
  • ./themes/ТЕМА/plugins/superplug.tpl
  • ./plugins/superplug/tpl/superplug.tpl

Функция прекратит поиск, как только найдет существующий темплейт, возвращает путь к найденному файлу.

Шаг 2.Инициируем.

Для этого надо создать новый объект шаблонизатора

$t = new XTemplate($mskin);

Внимание! Для standalone частей плагинов по умолчанию создается coTemplate используя по умолчанию шаблон с именем вашего плагина.

Шаг 3. Блоги и теги.

  • Тег – это переменная, которая пригодна для использования в шаблонизаторе.
  • Блок – этологический участок, в котором расположены теги и другие блоки. Блоки используются для вывода информации, которая выводится только при определённых условиях (например, пользователь, является гостем сайта), а так же используются при парсинге циклов (например, список страниц). Вне блоков шаблон не существует.

Переменные шаблонизатору можно присваивать по 1 или массивом:

$t->assign('TAG', 'САМЫЙ ЛУЧШИЙ ТЕКСТ') ;
$t->assign(array('TAG2' => тоже неплохой текст', 'TAG3' =>'еще 1 текст')) ;

Так мы объявили три тега в шаблонизаторе – TAG1, TAG2, TAG3.

Блоки также парсятся весьма просто:

$t->parse('MAIN');
$t->parse('MAIN.BLOCK'); // Блок BLOCK находится внутри блока MAIN

Шаг 4. Выводим содержимое шаблона.

Для вывода содержимого шаблона возможны 2 варианта:

1.вывод на экран:

$t->out('MAIN');

2. вывод в переменную:

$t->text('MAIN');

В качестве параметра указывается, какой блог необходимо вывести.

Необходимо отметить, что для standalone частей плагинов по умолчанию cotemplate парсит и выводит на экран блок MAIN.

Для более подробного ознакомления с работой с шаблонизатором котонти рекомендуем следующие статьи:


Комментарии

Комментарии отсутствуют
У Вас есть вопросы?
Давайте обсудим их! Продумаем! Сделаем!
Напишите прямо сейчас!

Новый комментарий

Имя:
:

Смотрите также:

Нет изображения

Thnemesis

Nemesis как в 0.96
Нет изображения

Шаблонизатор со стороны разработчика

Учимся создавать плагины использующие шаблонизатор
Нет изображения

cotemplate для дизайнера. Работа с переменными

Основные приемы и методы работы с шаблонизатором Cotonti Siena
Нет изображения

Шаблонизатор с заботой о дизайнере

Как узнать все теги в шаблоне
Первый контакт с нами