Незадолго до того, как началась повальная пиар акция CMS Zebrum Lite я начал писать собственную cms примерно с теми же целями - минимально требовательный и быстрый движок для сателлитов. После некоторых раздумий я решил, что раз уж я взялся писать cms с нуля, то надо и шаблонизатор свой написать, чтоб был быстрый и удобный. Ну а поскольку я ярый фанат phpBB и считаю их систему шаблонов одной из наиболее правильных, то свой шаблонизатор я сделал по образу и подобию его собрата из phpBB.
Основные особенности Rapid Template:
Все файлы шаблонов должны храниться в папке /template/ и иметь расширение .tpl
Теперь вкратце опишу синтаксис Rapid Template.
Подключение дополнительного файла шаблона
tplname - имя файла шаблона без расширения
Эта конструкция будет заменена на содержимое указанного файла на этапе загрузки файла перед компиляцией. Глубина включений не ограничена.
Переменные шаблонов верхнего уровня
{VARIABLE_NAME}
Во время компиляции эти метки будут заменены на значения, заданные с помощью функции Template::set_vars(). Пример использования:
...
$template->set_vars(array(
'VARIABLE_NAME' => 'Hello world!',
));
...
?>
Циклы и переменные циклов
{loop1.VAR1}
{loop1.loop2.VAR1}
Циклы позволяют повторять один и тот же фрагмент шаблона по несколько раз, подставляя на места переменных циклов различные данные. Циклы могут быть вложены друг в друга и тогда имя вложенного цикла должно начинаться с имени родительского и отделяться от него точкой. Вложенность циклов не ограничена.
Переменные циклов при каждой итерации могут принимать разные значения и их имя должно начинаться с имени цикла и отделяться от него точкой. Переменные цикла не могут использоваться вне цикла, но в то же время переменные верхнего уровня могут использоваться внутри циклов (их значения при этом останутся постоянными).
Вот и все :)
В будущем планируется еще добавить условные блоки, но пока это не реализовано.
PS/Offtopic:
Подробная статья о том, как правильно оценивать стоимость продвижения с помощью Яззла.
Профессиональная система управления сайтом с широким спектром решаемых при ее помощи задач.
Прикрепленный файл | Размер |
---|---|
template.txt | 4.11 кб |
В шаблонизатор были добавлены условные блоки?
Пользоваться аналогично phpBB?
Нет, поскольку они легко заменяются при помощи циклов :-)
Как это было в phpBB2.
а можно ли получить более подробную инструкцию?
Функционал шаблонизатора не ахти какой богатый, и он вполне исчерпывающе изложен в посте. Если вам этого не хватает, то советую поискать другой шаблонизатор с возможностями побогаче :-)
Отправить комментарий