?

Log in

Мучаюсь с модулем шаблонов - Поддержка CMS Fly.Colibry [entries|archive|friends|userinfo]
Поддержка CMS Fly.Colibry

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

Мучаюсь с модулем шаблонов [Mar. 12th, 2006|04:03 pm]
Поддержка CMS Fly.Colibry
ru_cms_colibry
[ter1x]
В связи с решением отказаться от Смарти надо разработать собственный язвк шаблонов.

Вот мои мысли по данному поводу:

- Язык шаблонов обязательно должен быть основан на xml. Во-первых, это позволяет встраивать шаблоны прямо в хтмл не боясь того, что необработанные в случае ошибки инструкции шаблона вылезут в самом неприличном месте, во-вторых, xml можно парсить встроенными средствами пхп.
- Язык шаблонов должен позволять вставлять данные из БД:
<insert source="csda://news/coolstat/" template="template_name"/>
При обработке такой инструкции система должна при помощи функции open указанного до «:/» модуля (в данном случае csda) открыть запись, адрес которой указан после «:/», прочитать ее тип и вызвать соответствующий этому типу обработчик (метод insert), передав ему объект класса csda и имя шаблона, в который эти данные надо «завернуть». Обработчик типа, выполнив необходимые операции, обработает указанный шаблон и вернет результат, которым будет замещена инструкция insert.
- Но выделять, допустим, для шаблона элемента меню - несколько нерационально. Поэтому должна быть определена еще и инструкция создания «подшаблона».

Итого, пиблизительный список инструкций шаблонов (заглавные буквы - сами инструкции, строчные - их атрибуты):

IF condition
LOOP index endval step
VAR variablename
INSERT source template
SUBTPL name

остальные инструкции считаю излишними...
linkReply

Comments:
From: ter1x
2006-03-13 08:08 am (UTC)
Система open-source.

Сейчас для «посмотреть» доступен 30-й билд, технический. Он значительно устарел и в ближайшее время будет заменен.
(Reply) (Parent) (Thread)