Авторизация

Вывод баннеров/слайдера в umi xslt

Для вывода баннеров нужно в админке создать группу полей, в нём поля картинок:

В xslt находим созданную группу (у меня это nashi_raboty_gl_str):

<xsl:apply-templates select="//group[@name='nashi_raboty_gl_str']" mode="sliderContent" />

1. Если в слайдере картинки без ссылок. Перебераем все поля-изображения:

<xsl:template match="group" mode="sliderContent">
<xsl:for-each select="property[@type='img_file']">
<img src="{value}" />
</xsl:for-each>
</xsl:template>

2. Если в слайдере картинки с сылками. В созданную группу добавляем поля типа string. Название полей и картинок делаем по "шаблону", т.е. izobrazhenie_{цифра}, соответственно и с полем ссылки link_{цифра}, где цифра будет прибавляться от 1 и скажем до 10. Затем их нужно перебрать в цикле xsl:for-each, где соответствие будем строит на цифре:

<xsl:template match="group" mode="sliderContent">
<xsl:for-each select="property[@type='img_file']">
<xsl:variable name="izobrazhenie" select="substring-after(@name, 'izobrazhenie_')" />
<xsl:variable name="link" select="../property[@type = 'string'][@name = concat('link_', $izobrazhenie)]" />
<xsl:choose>
<xsl:when test="boolean($link)">
<a href="{$link/value}"><img src="{value}" /></a>
</xsl:when>
<xsl:otherwise>
<img src="{value}" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>

[ Saitadmin.ru || с 2006 по текущий год || Санкт-Петербург ]