Использование условий на примере макроса core navibar в шаблоне demodizzy — различия между версиями
Материал из Umicms
Mad grant (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
Для вывода постраничной навигации в системе предусмотрен макрос %core navibar()%, см. 4 пункт. | Для вывода постраничной навигации в системе предусмотрен макрос %core navibar()%, см. 4 пункт. | ||
+ | Добавим в файл /templates/demodizzy/xslt/modules/content/common.xsl перед иклюдами (include) следующий код: | ||
+ | <source lang="xml"> | ||
+ | <xsl:template match="udata[@method = 'navibar']"> | ||
+ | <xsl:apply-templates select="items/item" mode="navibar"/> | ||
+ | </xsl:template> | ||
− | + | <xsl:template match="item" mode="navibar"> | |
+ | <a href="{@link}"><xsl:value-of select="."/></a> | ||
+ | <xsl:text> » </xsl:text> | ||
+ | </xsl:template> | ||
+ | |||
+ | <xsl:template match="item[position() = last()]" mode="navibar"> | ||
+ | <xsl:value-of select="."/> | ||
+ | </xsl:template> | ||
+ | </source> | ||
+ | Это шаблон для вывода результатов работы макроса, теперь нужно добавить вызов макрос, для | ||
+ | этого добавим в файл /templates/demodizzy/xslt/layouts/default.xsl после вызова меню | ||
<source lang="xml"> | <source lang="xml"> | ||
− | + | <xsl:apply-templates select="document('udata://content/menu/(null)/1/')" mode="top_menu" /> | |
− | + | </source> | |
+ | следующий код: | ||
<source lang="xml"> | <source lang="xml"> | ||
− | + | <xsl:apply-templates select="document('udata://core/navibar')/udata"/> | |
+ | </source> | ||
== Вывод навигации на всех страницах, кроме главной== | == Вывод навигации на всех страницах, кроме главной== |
Версия 12:09, 4 сентября 2013
Актуально для версии 2.9.1
Содержание
Вывод постраничной навигации
Для вывода постраничной навигации в системе предусмотрен макрос %core navibar()%, см. 4 пункт. Добавим в файл /templates/demodizzy/xslt/modules/content/common.xsl перед иклюдами (include) следующий код:
<xsl:template match="udata[@method = 'navibar']">
<xsl:apply-templates select="items/item" mode="navibar"/>
</xsl:template>
<xsl:template match="item" mode="navibar">
<a href="{@link}"><xsl:value-of select="."/></a>
<xsl:text> » </xsl:text>
</xsl:template>
<xsl:template match="item[position() = last()]" mode="navibar">
<xsl:value-of select="."/>
</xsl:template>
Это шаблон для вывода результатов работы макроса, теперь нужно добавить вызов макрос, для этого добавим в файл /templates/demodizzy/xslt/layouts/default.xsl после вызова меню
<xsl:apply-templates select="document('udata://content/menu/(null)/1/')" mode="top_menu" />
следующий код:
<xsl:apply-templates select="document('udata://core/navibar')/udata"/>