Как сделать раскрывающееся по нажатию меню на XSLT — различия между версиями
Материал из Umicms
Cmac (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 38: | Строка 38: | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</source> | </source> | ||
− | [[ | + | [[category:Верстка в XSLT]] |
Текущая версия на 21:13, 4 июня 2013
Подключаем меню:
<xsl:include href="menu.xsl" />
в главный шаблон.
Делаем вызов в главном шаблоне:
<ul><xsl:apply-templates select="document('udata://content/menu')/udata" mode="menu" /></ul>
Создаем шаблон для вывода кода меню menu.xsl в папке /xsltTpls/imports/
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="item" mode="menu">
<li><xsl:value-of select="@id" />
<a href="{@link}"> <xsl:value-of select="." /></a>
<xsl:for-each select=".">
<xsl:if test="@status ='active'">
<xsl:apply-templates select="document(concat('udata://content/menu///', @id))/udata"/>
</xsl:if>
</xsl:for-each>
</li>
</xsl:template>
<xsl:template match="udata[@method = 'menu']">
<ul>
<xsl:apply-templates select=".//item" mode="menu"/>
</ul>
</xsl:template>
</xsl:stylesheet>