Использование чекбоксов при фильтрации — различия между версиями
Материал из Umicms
Yulia (обсуждение | вклад) (Новая страница: «Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбо…») |
Mad grant (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | |||
+ | '''Актуально для версии 2.9''' | ||
+ | |||
Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов. | Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов. | ||
Строка 27: | Строка 30: | ||
Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация. | Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация. | ||
− | |||
− | [[Категория:Модуль Каталог]] | + | [[Категория:Модуль Каталог]][[Категория: Верстка в XSLT]] |
Текущая версия на 08:22, 5 июня 2013
Актуально для версии 2.9
Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов.
Необходимо добавить следующий код в шаблон /templates/имя_шаблона/xslt/modules/catalog/search-filter.xsl :
<xsl:template match="field[@name = 'cvet']" mode="search">
<div>
<label>
<xsl:value-of select="@title" />
<xsl:apply-templates select="values/item" mode="searchTest" />
</label>
</div>
</xsl:template>
<xsl:template match="values/item" mode="searchTest">
<span>
<input type="checkbox" name="fields_filter[cvet][]" value="{@id}">
<xsl:if test="checked">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
<xsl:value-of select="." />
</span>
</xsl:template>
В данном примере 'cvet' - это идентификатор поля "цвет" для товара. Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.