Использование условий на примере макроса core navibar в шаблоне demodizzy — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 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">
</source>
+
<xsl:apply-templates select="document('udata://content/menu/(null)/1/')" mode="top_menu" />
 
+
</source>
 +
следующий код:
 
<source lang="xml">
 
<source lang="xml">
</source>
+
<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"/>

Вывод навигации на всех страницах, кроме главной

Вывод навигации для системных страниц

Полезные ссылки