Использование чекбоксов при фильтрации — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбо…»)
 
 
Строка 1: Строка 1:
 +
 +
'''Актуально для версии 2.9'''
 +
 
Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов.
 
Задача: в фильтре товаров выводить значения свойства не выпадающим списком, а в виде чекбоксов.
  
Строка 27: Строка 30:
 
Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.
 
Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.
  
Данный способ был проверен в версии 2.8.6.
 
  
[[Категория:Модуль Каталог]]
+
[[Категория:Модуль Каталог]][[Категория: Верстка в 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' - это идентификатор поля "цвет" для товара. Таким образом, все варианты цвета будут выводиться в виде чекбоксов и будет возможна смешанная фильтрация.