Перейти к содержимому


Создать Фильтр Товаров

фильт товаров категории товаров

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 imysterious

imysterious

    Пользователь

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 23 Март 2017 - 11:26

Здравствуйте, хочу разместить фильтр товаров по характеристикам на сайте, помогите пожалуйста реализовать. Сделать нужно как на скриншоте
Аккаунт SL-392690

Прикрепленные изображения

  • 2017-03-23_11-02-21.png


#2 Ирина345

Ирина345

    Активный участник

  • Модераторы
  • 5 709 сообщений

Отправлено 23 Март 2017 - 11:35

Просмотр сообщенияimysterious (23 Март 2017 - 11:26) писал:

Здравствуйте, хочу разместить фильтр товаров по характеристикам на сайте, помогите пожалуйста реализовать. Сделать нужно как на скриншоте
Аккаунт SL-392690
Здравствуйте, для начало Вам необходимо добавить данные фильтры в категорию.
Зайдите в настройки категории, где расположен товар и добавьте фильтры по характеристикам или по свойствам.
Как писалось выше фильтрация происходит только по тем параметрам, которые есть у товаров в данной категории.
В стандартном шаблоне фильтры расположенs ниже каталога, что бы их поднять найдите в шаблоне HTML
		 <!-- Каталог -->
		 {% IFNOT catalog_full_empty %}
		 <div class="block menu">
			 <div class="block-title">
			 <a href="{CATALOG_URL}"><h5><span>Каталог</span></h5></a></div>
			 <div class="block-menu-content">
				 <ul>
				 {% FOR catalog_full %}
					 {% IF catalog_full.FIRST %}{% IFNOT catalog_full.LEVEL = 0 %}<ul class="sub">{% ENDIF %}{% ENDIF %}
					 <li {% IF catalog_full.HIDE %}style="display:none;"{% ENDIF %} class="{% IF catalog_full.ISSET_SUB %}parent{% ENDIF %} {% IF catalog_full.LEVEL = 0 %}subhead{% ENDIF %} {% IF catalog_full.CURRENT || catalog_full.CURRENT_PARENT %}active{% ENDIF %}">
						 <a href="{catalog_full.URL}" {% IF catalog_full.CURRENT %}class="active"{% ENDIF %}>{% IF catalog_full.ISSET_SUB %}<span class="open-sub {% IF catalog_full.CURRENT_PARENT || catalog_full.CURRENT %}active{% ENDIF %}"></span>{% ENDIF %}{catalog_full.NAME}</a>
					 {% IF catalog_full.ISSET_SUB=0 %}</li>{% ENDIF %}
					 {% IF catalog_full.LAST %}{%FOR out%}</ul>{%IFNOT catalog_full.out.LAST%}</li>{%ENDIF%}{%ENDFOR%}{% ENDIF %}
				 {% ENDFOR %}
				 </ul>
			 </div>
		 </div>
		 {% ENDIF %}
		 <!-- /END Каталог -->
и переместите данный код после строк
<!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->

далее найдите в шаблоне
{% FOR filter_attr_list %}
				 <div class="filter">
					 {filter_attr_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}
				 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
				 {% FOR filter_prop_list %}
				 <div class="filter">
					 {filter_prop_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %} {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}

замените на
{% FOR filter_attr_list %}
				 <div class="filter">
					 {filter_attr_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}
				 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
				 {% FOR filter_prop_list %}
				 <div class="filter">
					 {filter_prop_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_prop_list.values.CHECKED %}checked="checked"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %} {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}


#3 imysterious

imysterious

    Пользователь

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 23 Март 2017 - 11:48

Просмотр сообщенияИрина345 (23 Март 2017 - 11:35) писал:

Здравствуйте, для начало Вам необходимо добавить данные фильтры в категорию.
Зайдите в настройки категории, где расположен товар и добавьте фильтры по характеристикам или по свойствам.
Как писалось выше фильтрация происходит только по тем параметрам, которые есть у товаров в данной категории.
В стандартном шаблоне фильтры расположенs ниже каталога, что бы их поднять найдите в шаблоне HTML
		 <!-- Каталог -->
		 {% IFNOT catalog_full_empty %}
		 <div class="block menu">
			 <div class="block-title">
			 <a href="{CATALOG_URL}"><h5><span>Каталог</span></h5></a></div>
			 <div class="block-menu-content">
				 <ul>
				 {% FOR catalog_full %}
					 {% IF catalog_full.FIRST %}{% IFNOT catalog_full.LEVEL = 0 %}<ul class="sub">{% ENDIF %}{% ENDIF %}
					 <li {% IF catalog_full.HIDE %}style="display:none;"{% ENDIF %} class="{% IF catalog_full.ISSET_SUB %}parent{% ENDIF %} {% IF catalog_full.LEVEL = 0 %}subhead{% ENDIF %} {% IF catalog_full.CURRENT || catalog_full.CURRENT_PARENT %}active{% ENDIF %}">
						 <a href="{catalog_full.URL}" {% IF catalog_full.CURRENT %}class="active"{% ENDIF %}>{% IF catalog_full.ISSET_SUB %}<span class="open-sub {% IF catalog_full.CURRENT_PARENT || catalog_full.CURRENT %}active{% ENDIF %}"></span>{% ENDIF %}{catalog_full.NAME}</a>
					 {% IF catalog_full.ISSET_SUB=0 %}</li>{% ENDIF %}
					 {% IF catalog_full.LAST %}{%FOR out%}</ul>{%IFNOT catalog_full.out.LAST%}</li>{%ENDIF%}{%ENDFOR%}{% ENDIF %}
				 {% ENDFOR %}
				 </ul>
			 </div>
		 </div>
		 {% ENDIF %}
		 <!-- /END Каталог -->
и переместите данный код после строк
<!-- /END Если в тарифном плане подключен модуль фильтров по товарам -->

далее найдите в шаблоне
{% FOR filter_attr_list %}
				 <div class="filter">
					 {filter_attr_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}
				 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
				 {% FOR filter_prop_list %}
				 <div class="filter">
					 {filter_prop_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %} {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}

замените на
{% FOR filter_attr_list %}
				 <div class="filter">
					 {filter_attr_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_attr_list.values.CHECKED %}form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}selected="selected"{% ENDIF %}{% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_attr_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}
				 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
				 {% FOR filter_prop_list %}
				 <div class="filter">
					 {filter_prop_list.NAME}:<br />
					 <select class="inputText" {% FOR values %}{% IF filter_prop_list.values.CHECKED %}checked="checked"{% ENDIF %}{% ENDFOR %} onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));this.form.submit();" name="{% FOR values %}{% IF filter_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}">
						 <option> - все - </option>
						 {% FOR values %}
						 <option value="1" rel="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %} {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ELSEIF filter_prop_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
						 {% ENDFOR %}
					 </select>
				 </div>
				 {% ENDFOR %}

Здравствуйте, дважды все перепроверила, но блок фильтра не появился как на скриншоте, а карточки товаров, и блок каталога исказились

Прикрепленные изображения

  • 2017-03-23_11-41-18.png


#4 Ирина345

Ирина345

    Активный участник

  • Модераторы
  • 5 709 сообщений

Отправлено 23 Март 2017 - 12:34

Просмотр сообщенияimysterious (23 Март 2017 - 11:48) писал:

Здравствуйте, дважды все перепроверила, но блок фильтра не появился как на скриншоте, а карточки товаров, и блок каталога исказились
Ошибка могла возникнуть только в том случае если инструкция была выполнена некорректно.
Изменения Вам произвели.
Что бы фильтры появились, необходимо что бы вы их добавили в настройки категории.

#5 imysterious

imysterious

    Пользователь

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 23 Март 2017 - 12:45

Я чего то не понимаю? Блок фильтра на сайте не появился
Что значит (добавили в настройки категории). ?
В самой карточке товаров у меня проставлены характеристики, если Вы об этом говорите
Или объясните по подробнее пожалуйста

#6 imysterious

imysterious

    Пользователь

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 23 Март 2017 - 12:52

Все разобралась спасибо Вам огромное





Темы с аналогичным тегами фильт товаров, категории товаров

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных