UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: albion от 19 Июня 2011, 22:40:11
-
Пост и комментарии в блоге UMI http://blog.umi-cms.ru/dobryakov/more_than_invalid_code/ натолкнули на мысль, что пора бы начать изучать XSLT шаблонизатор, тем более еще в январе мне от UMI пришла по почте книжечка про XSLT в подарок.
Но вот мучает вопрос, а какие преимущества предоставляет XSLT по сравнению с tpl?
А именно интересует: уменьшается ли нагрузка на сервер, увеличивается ли скорость разработки сайта, простота правки шаблонов и т.д.
-
ох, сколько уже эта тема обсуждается)
скажу так, с удовольствием полностью пересяду на xslt, когда появиться редактор для xslt шаблонов, а то столько приходиться в голове держать) или надо просто сделать дефолтный шаблон под себя чтобы не изобретать велосипед каждый раз)
могу сказать только одно, однозначна увеличивается гибкость разработки, так как чыде очень выручает в те моменты, когда верстаешь что-то не совпадающее с концепцией tpl верстки. Например все тот же пример с переназначение default шаблонов (для tpl использую кастомный скрипт) или вывод объектов каталога в 3 колонки или назначение стилей для верстки (когда идет сложная верстка)
-
Вот не знаю. сколько она обсуждается, но вчера искал хоть какие то обсуждения, и найти не смог.
Вывод объектов каталога и в tpl делается проще простого, а именно с помощью float:left в css. Но, вот не понял, что вы имеете в виду под "переназначение дефолтового шаблона" и "назначение стилей для верстки".
И по поводу редактора XSLT шаблонов. Есть такая программка, как Komodo Edit http://www.activestate.com/komodo-edit , и если в ней открыть ToolBox, то туда можно внести стандартные конструкции кода. То есть на примере tpl: В этот toolbox вносятся конструкции типа %catalog getObjectList()%, и последующие разы, что бы вывести этот макрос в tpl шаблоне, просто необходим двойной щелчок по соответствующей строке в этом ToolBox е.
А если внести команду так: %catalog getObjectsList('[[%ask:Template]]', '[[%ask:ID]]', [[%ask:Limit]], [[%ask:Ignore-Paging:1]])% , то при двойном щелчке выскочит окошко, куда нужно будет забить, Шаблон, id, лимит, ignore-paging .
Т.е. получается, что эту программу нужно только один раз настроить, и после этого не надо ничего в голове держать.
-
насчет программы большое спасибо за ссылку, сам искал похожее, но так и не нашел, то что подходило бы полностью) поразбираюсь, может это как раз то что мне надо было
насчет вывода объектов и tpl, попробуйте вывести список... ну пусть категорий ля упрощенности (выводим только название категорий), чтобы они шли в алфавитном порядке в 3 столбца по принципу:
1 5 8
2 6 9
3 7 10
4
средствами tpl, без кастомного кода... насчет практичности такого примера, смотрите http://yaca.yandex.ru/ правда, там не по алфавиту выводиться, а по положению в структуре (если представлять как это делать в umi)
-
Пожалуйста. Единственное, что плохо в этой программе - это то, что она долго запускается :)
Думаю, через tpl этого не добиться :)
А как на счет нагрузок на сервер, больше, меньше или так же?
-
вот тут ничего однозначного сказать не могу. Специально не измерял, а по ощущения так же. Тут есть большой выигрыш в рендеренге шаблона, но тут есть одно "но", xslt можно написать так, что он будет не убыстрять, а замедлять отдачу страницы, в книге про xslt и в том числе umi'вской упоминают неэффективное (неправильное) использование xslt
-
а программка то прекрасная)
-
Ну что, можно подвести итог.
1. программа хорошая :)
2. Преимуществ у XSLT по сравнению с TPL толком нет, кроме некоторого дополнительного функционала, который он позволяет реализовать на сайте, не используя кастомные макросы.
-
у меня, пока нет веских причин пересаживаться полностью на xslt, но думаю что чем дальше, тем больше веса будет приобретать xslt технология. Это для меня скорее вопрос тренда, просто он по сути своей более стандартизированный и логичный чем tpl, так что по возможности уделяю ему время и практикую.
-
XSLT более гибкий чем tpl - это однозначный факт, почти полностью на него пересел и не задумываюсь возвращаться)))
по поводу примеров и конкретики , если все еще тема интересна пишите расскажу, хотя это и на курсе обсуждалось который я вел (день первый (http://umihelp.ru/446/xslt-course-part1/), день второй (http://umihelp.ru/451/umi-xslt-part2/))