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

Материал из Umicms
Перейти к:навигация, поиск

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