Демо-дизайн "Современный" — различия между версиями
Cmac (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 32: | Строка 32: | ||
Для знакомства с xslt-шаблонизатором имеет смысл ознакомиться с учебным пособием, которое можно скачать здесь: | Для знакомства с xslt-шаблонизатором имеет смысл ознакомиться с учебным пособием, которое можно скачать здесь: | ||
http://www.umi-cms.ru/support/docs/xslt-umi-devbook/ | http://www.umi-cms.ru/support/docs/xslt-umi-devbook/ | ||
− | + | [[Категория:Верстка в XSLT|Современный]] |
Версия 19:57, 4 июня 2013
Первое знакомство
Если Вы решили использовать демо-дизайн "Современны", то Вам предстоит познакомиться с устройством шаблонов. Эта статья должна Вам в этом немного помочь.
Все шаблоны xsl-шаблонизатора находятся в папке xsltTpls. По умолчанию, входной точкой во все шаблоны является default.xsl
Этот шаблон нужен только для того, чтобы пред-определить все наиболее часто встречающиеся значения и присвоить их переменным, а также подключить основные шаблоны.
Кроме шаблона default.xsl в папке xsltTpls находятся другие подпапки. В первую очередь стоит обратить внимание на папку "layouts". В ней находится только один шаблон default.xsl. Это основной шаблон, который определяет общий внешний вид страницы. Именно в нём задаётся основная разметка и "вход" в шаблоны
<xsl:template match="/" mode="layout">.
Сам шаблон можно условно поделить следующие части: шапка, дно, левое меню, правое меню и контент. Все поля, кроме контента, не меняют своего содержания, т.е. отвечают за вывод одних и тех же элементов оформления (будь то вывод последних новостей или меню).
Иначе дело обстоит с контентом.
В xslt-шаблонизаторе для всех страниц определён метод и модуль, т.е. способ их формирования. Можно посмотреть как выглядит страница в виде xml-документа, если после адреса страницы дописать .xml (к примеру так www.ваш_сайт.ru/любая_страница/.xml). В первой строке буде узел result и у него два атрибута module и method.
Если Вы открываете страницу контента, то шаблонизатор вернёт заголовок result:
module="content" method="content"
если открывать страницу с объектом каталога то заголовок result уже будет таким:
module="catalog" method="object"
и т.д. Для всех типов страниц предусмотрены свои заголовки, по названию модуля и метода, которые отвечают за их выполнение. Если посмотреть в шаблон - в основном центральном блоке стоит обработчик, который ищет подходящий шаблон на основании этих заголовков:
<xsl:apply-templates select="result" />
Теперь вернёмся к организации шаблонов. Все шаблоны подключаются в главном файле через вызов вида:
modules/имя_модуля/common.xsl
Сам файл common.xsl не содержит какой-либо полезной информации, он просто подключает все шаблоны из этой же папки. Шаблоны, для удобства, называются также как макросы, за результат отработки которых они отвечают.
Отдельно нужно ответить шаблоны:
common.xsl в папке xsltTpls здесь лежат те макросы, которые на языке tpl называются системными (system)
папка library также содержит шаблоны, отвечающие за обработку системных макросов.
sample.xsl в папке xsltTpls содержит пример самой простой страницы на xslt
папка sys-tpls содержит шаблоны преобразования данных для служебных целей (печать заказов, карта google и другие)
Для знакомства с xslt-шаблонизатором имеет смысл ознакомиться с учебным пособием, которое можно скачать здесь:
http://www.umi-cms.ru/support/docs/xslt-umi-devbook/