XSLT-шаблонизатор UMI.CMS и с чем его едят

Зачастую я сталкиваюсь с непониманием сути концепции шаблонизаторов вообще и XSLT-шаблонизатора в частности.

Обычно, это связано с тем, что человек недостаточно ясно представляет модель работы шаблонизатора, что он может, а что не может.

Я постараюсь изложить концепцию шаблона, оперируя максимально понятными визуальными образами.

Итак, был ли у вас пластиковый трафарет с буквами, которые нужно закрашивать? У меня такой был. Обычный способ работы с ним: берёшь фломастер и начинаешь закрашивать нужные буквы, постепенно сдвигая и изменяя положение трафарета.

Ну и конечно же каждый из нас пробовал закрашивать там, где буквы не было. Трафарет в этот момент становился окрашенным, но, убирая его, буква оставалась ровной и четкой.

Примерно так же работает и XSLT. Тут данные, которые отдаются в шаблон — это ваш маркет. А трафарет — это шаблон. Хотя в случае XSLT вы рисуете, скорее, не маркёром, а широкой кистью, а трафарет ваш понимает (ну или не понимает — как настроите) какой частью этой самой кисти вы провели.

Проводя правильной частью кисти по настроенной части трафарета (отдавая правильный набор данных в ваш шаблон) вы получаете хороший результат. Если же трафарет не содержит нужного куска, или вы по нему не попали — результат будет непредсказуемым.

Фактически, из трёх шаблонизаторов, присутствующих в UMI на текущий момент (tpl, xslt, php), xslt является одной из самых четких реализаций базовой концепции программирования MVC (можете почитать об этом на википедии) и представляет в этом видении элемент View.

Поняв базовый принцип работы view, у вас могут возникнуть вопросы типа: а где мне взять данные для работы? Об этом я расскажу в статье «Многообразие данных в UMI CMS».

Июн24

Ваш отзыв