Товар успешно добавлен в корзину!
Блог Кодинг Портфолио Я

Вывод заголовка в каталоге с перечислением всех примененных фильтров

Кодинг HostCMS Интернет-магазин

При фильтрации часто в заголовок необходимо вывести перечесления фильтров. Для фильтра, изображенного на картинке справа, будет выведен заголовок "Производитель MAYTONI; Серия Diamant 1, Ferentino; Цвет Никель;". Пример можно посмотреть на сайте http://lumierelight.ru/

 

Для доп. свойств типа "Информационный элемент" необходимо будет добавить значения в XML отдельно. Так, в приведенном коде я использую информационные элементы в качестве производителя. Это было необходимо для возможности группировки производителей по странам. 

 

Установка:

1. В XSL каталога товаров добавляем код 
  <!-- КАД: Шаблон для заголовка при фильтрации -->
<xsl:template match="property" mode="header">

<xsl:variable name="id" select="@id"/>
<xsl:variable name="nodename">property_<xsl:value-of select="$id"/></xsl:variable>
<xsl:variable name="type" select="type"/>

<xsl:if test="/shop/*[name()=$nodename] != ''">
<xsl:value-of select="name"/><xsl:text> </xsl:text>

<xsl:for-each select="/shop/*[name()=$nodename]">

<xsl:variable name="value"><xsl:value-of select="."/></xsl:variable>
<xsl:choose>
<!-- Информационные системы -->
<xsl:when test="$type=5">
<xsl:value-of select="/shop/shop_producer[id=$value]/name"/>
</xsl:when>
<!-- Списки -->
<xsl:otherwise>
<xsl:value-of select="//list_item[@id=$value]/value"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>; </xsl:text>
</xsl:if>
</xsl:template>

 2. В месте, где требуется вывести заголовок вставляем

 <xsl:apply-templates select="//property" mode="header"/>

перечисление, аргументы фильтра, вывод, фильтр, Заголовок26.02.2013, 3400 просмотров.

Добавить комментарий

Имя
E-mail
Комментарий