Использование чекбоксов при фильтрации

Материал из Umicms
Версия от 14:59, 27 декабря 2012; Yulia (обсуждение | вклад) (Новая страница: «Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбо…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов.

Необходимо добавить следующий код в шаблон /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' - это идентификатор поля "цвет" для товара. Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.

Данный способ был проверен в версии 2.8.6.