?

Log in

Копия статьи о темплейтах Колибри ( - Поддержка CMS Fly.Colibry [entries|archive|friends|userinfo]
Поддержка CMS Fly.Colibry

[ website | официальный сайтFly ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Копия статьи о темплейтах Колибри ( [Mar. 13th, 2006|11:26 pm]
Поддержка CMS Fly.Colibry
ru_cms_colibry
[ter1x]

Язык шаблонов

(последняя версия статьи хранится тут)

Как и любая другая система, колибри поддерживает шаблоны. Сначала для парсинга шаблонов применялся самописный класс, потом было решено перейти на Смарти. Но после того, как смарти стал вызывать 500 ошибку сервера, решено отказаться от него и снова заняться разработкой собственного парсера. Теперь для парсинга шаблонов применяется xml, что позволяет полностью разделить инструкции представления данных и сами данные.


В тексте каждого шаблона могут встречаться заменяемые элементы. Заменяемыми элементами являются:

– Снипплеты
Снипплеты определяют полностью заменяемый элемент xml. Такие элементы при компиляции xml-файла заменяются полностью и не могут иметь атрибутов. Снипплет может содержать в своем коде константу #DATA#, все вхождения которой будут заменены на текст между открывающим и закрывающим тегом заменяемого элемента (необходимо учитывать, что в этот текст войдет все, что не является xml-инструкцией и расположено до первого подэлемента заменяемого элемента). Снипплеты хранятся в виде файлов с именем снипплета в верхнем регистре и расширением SNP в папке config/snipplets.

– Инлайны

Инлайны позволяют заменять теги xml на любые значения. Поддерживается вставка параметров заменяемого xml-тега в виде #имя_параметра#. Инлайны хранятся в виде файлов с именем снипплета в верхнем регистре и расширением INL в папке config/inlines.
Инлайн TABLE.INL заменит только открывающий тег <TABLE> (регистр не важен). Для замены закрывающего тега добавьте еще один инлайн с символом «_» перед именем инлайна

предварительный список снипплетов


  • <include>template</include> – скомпилировать и вставить результат компиляции шаблона template
linkReply