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


Возможно Ли Применение Фильтров На Сайте?

Фильтры

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

#1 BeLoveAll

BeLoveAll

    Продвинутый пользователь

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

Отправлено 07 Ноябрь 2015 - 01:15

Доброго времени суток, Уважаемые участники форума.

Пересмотрел эти темы:
http://forum.storela...тры-на-главной/
http://forum.storela...тры-на-главной/


Но так и не нашел ответа на свой вопрос.
Как я понял, в данных темах говорится о реализации фильтров на самой странице. Это не совсем то, что нужно.
Мне необходимо, чтобы фильтры были в отдельном блоке слева.
Примеры на скриншотах.
Вот такой вот блок хочется иметь у себя на сайте:
Изображение
Расположение блока фильтров между боковой менюшкой и блоком "Вы смотрели":
Изображение

ВАЖНОЕ ЗАМЕЧАНИЕ: поскольку на желаемом блоке уже есть фильтры по цене, то необходимо убрать фильтр с ползунками и оставить только тот, что есть на скриншоте. Ну и сам блок фильтров, естественно, переименовать с "Фильтра по цене" на просто "Фильтры". Так же необходимо отображать блок фильтров на любой странице сайте (сейчас он отображается если открыты категории).

#2 Vaccina

Vaccina

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

  • Модераторы
  • 24 369 сообщений

Отправлено 07 Ноябрь 2015 - 05:09

Просмотр сообщенияBeLoveAll (07 Ноябрь 2015 - 01:15) писал:

Расположение блока фильтров между боковой менюшкой и блоком "Вы смотрели":

В шаблоне Товары найдите и удалите:
<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			{% IF TARIFF_FEATURE_GOODS_FILTERS %}		   
			  <!-- END Если есть возможность фильтрации товаров по ценам -->
			
			  {% IF TARIFF_FEATURE_GOODS_FILTERS && SHOW_GOODS_FILTERS %}
			 
			  <h3>Фильтры:</h3>
			   <form action="" method="get" class="fltrform">
			  <div class="filter-block">			 
				<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
				{% FOR filter_attr_list %}
				  <div class="filter table">
					{filter_attr_list.NAME}:<br />
					<select 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 %}>{filter_attr_list.values.VALUE}</option>
					  {% ENDFOR %}
					</select>
				  </div>
				{% ENDFOR %}
			  </div>
			  </form>
			  <div class="clear"></div>
			 
			  <div class="filter-block">		 
				<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					<form action="" method="get" class="fltrform">
				{% FOR filter_prop_list %}
				  <div class="filter table">
					{filter_prop_list.NAME}:<br />
					 <select 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][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
					  {% ENDFOR %}
					</select>
				  </div>
				{% ENDFOR %}		   
			  </div>
				</form>
			  <div class="clear"></div>
			{% ENDIF %}
			  <div class="clear"></div>
			</form>
		
			 {% ENDIF %}
		<!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

В шаблоне HTML найдите и удалите:
{% IF goods_empty=0 || goods_filters_empty=0 %}
  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
	{% IF SHOW_GOODS_PRICE_FILTERS %}
	  <div class="leftbox">
	  <h3 class="leftH">Фильтр по цене<div class="toggleBlock" title="Свернуть/развернуть"><div class="toggleArrow"></div><div class="toggleSquare"></div></div></h3>
		<div class="lCont">
				<div class="filters">
				  <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
				  <form action="" method="get">
					<!-- Если есть возможность фильтрации товаров по ценам -->
		
					  <div class="filter pricefilter">				 
						  <div class="contentTbodySearchPriceFilterBlock">
							<!-- Фильтры по цене -->
							<div class="goodsFilterPriceRangePointers" style="display:none;"><span class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span><span class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div>
							<div id="goods-filter-price-slider"></div>
							   
						  </div>
						  <span>
						  От -&nbsp;&nbsp;<input id="goods-filter-min-price" type="text" class="inputText" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						  </span>
						  <span style="float:right;text-align:right">
						  <input id="goods-filter-max-price" type="text" class="inputText" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />&nbsp;&nbsp; - до
						  </span>
						 <div class="goodsFilterPriceSubmit">
								  <input class="button" type="submit" value="Показать" />
						 </div>
						</div>
			
		  </form>
		</div>
	  </div>
	  </div>
	{%ENDIF%}
	{%ENDIF%}
  {% ENDIF %}

далее найдите:
{% IFNOT recently_viewed_goods_empty %}
	<div class="leftbox recentBlock">   
	 <h3 class="recentH">Вы смотрели<div class="toggleBlockRecent" title="Свернуть/развернуть"><div class="toggleArrow"></div><div class="toggleSquare"></div></div></h3>
	  <div class="lCont">
		<div class="recent">
		{% FOR recently_viewed_goods %}

перед ним вставьте:
{% IF goods_empty=0 || goods_filters_empty=0 %}
  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
	  <div class="leftbox">
	  <h3 class="leftH">Фильтр по цене<div class="toggleBlock" title="Свернуть/развернуть"><div class="toggleArrow"></div><div class="toggleSquare"></div></div></h3>
		<div class="lCont">
				<div class="filters">
				  <form action="" method="get" class="fltrform">
		{% IF SHOW_GOODS_PRICE_FILTERS %}
					<!-- Если есть возможность фильтрации товаров по ценам -->
	   
					  <div class="filter pricefilter">				
						  <div class="contentTbodySearchPriceFilterBlock">
							<!-- Фильтры по цене -->
							<div class="goodsFilterPriceRangePointers" style="display:none;"><span class="min">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span><span class="max">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</div>
							<div id="goods-filter-price-slider"></div>
							  
						  </div>
						  <span>
						  От -&nbsp;&nbsp;<input id="goods-filter-min-price" type="text" class="inputText" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />
						  </span>
						  <span style="float:right;text-align:right">
						  <input id="goods-filter-max-price" type="text" class="inputText" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" autocomplete="off" />&nbsp;&nbsp; - до
						  </span>
						 <div class="goodsFilterPriceSubmit">
								  <input class="button" type="submit" value="Показать" />
						 </div>
						</div>
	{%ENDIF%}
			  <div class="filter-block">			 
				<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
				{% FOR filter_attr_list %}
				  <div class="filter table">
					{filter_attr_list.NAME}:<br />
					<select 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 %}>{filter_attr_list.values.VALUE}</option>
					  {% ENDFOR %}
					</select>
				  </div>
				{% ENDFOR %}
			  </div>
			  </form>
			  <div class="clear"></div>
			 
			  <div class="filter-block">		 
				<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					<form action="" method="get" class="fltrform">
				{% FOR filter_prop_list %}
				  <div class="filter table">
					{filter_prop_list.NAME}:<br />
					 <select 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][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}selected="selected"{% ENDIF %}>{filter_prop_list.values.VALUE}</option>
					  {% ENDFOR %}
					</select>
				  </div>
				{% ENDFOR %}		   
			  </div>
				</form>
			  <div class="clear"></div>
			</form>
		</div>
	  </div>
	  </div>
	{%ENDIF%}
  {% ENDIF %}


Просмотр сообщенияBeLoveAll (07 Ноябрь 2015 - 01:15) писал:

ВАЖНОЕ ЗАМЕЧАНИЕ: поскольку на желаемом блоке уже есть фильтры по цене, то необходимо убрать фильтр с ползунками и оставить только тот, что есть на скриншоте. Ну и сам блок фильтров, естественно, переименовать с "Фильтра по цене" на просто "Фильтры". Так же необходимо отображать блок фильтров на любой странице сайте (сейчас он отображается если открыты категории).

В этом случае необходимо у товаров добавить характеристику "цена" с необходимыми значениями(от 2000,  до 5000 и т.д.) и добавить в сами фильтры.

#3 BeLoveAll

BeLoveAll

    Продвинутый пользователь

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

Отправлено 11 Ноябрь 2015 - 16:12

Просмотр сообщенияVaccina (07 Ноябрь 2015 - 05:09) писал:

В шаблоне Товары найдите и удалите:[CODE]



В этом случае необходимо у товаров добавить характеристику "цена" с необходимыми значениями(от 2000,  до 5000 и т.д.) и добавить в сами фильтры.

Фильтры перенеслись между менюшкой и "Вы смотрели"-всё как надо.
А вот в остальном что-то туплю... Я так понимаю, что должен расписать характеристики к товарам. Например, название характеристики-"Кому", значения характеристики-"Девушке/Женщине, Коллективу, Мужчине, Ребенку, Семье" и т.д. со всеми характеристиками. Но как их потом в фильтры добавить?

#4 Vaccina

Vaccina

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

  • Модераторы
  • 24 369 сообщений

Отправлено 12 Ноябрь 2015 - 03:26

В разделе Товары - Товары - зайдите в редактирование необходимой категории и добавьте фильтр по необходимой характеристике.

#5 BeLoveAll

BeLoveAll

    Продвинутый пользователь

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

Отправлено 15 Ноябрь 2015 - 22:23

Просмотр сообщенияVaccina (12 Ноябрь 2015 - 03:26) писал:

В разделе Товары - Товары - зайдите в редактирование необходимой категории и добавьте фильтр по необходимой характеристике.
Почти получилось=) Фильтры отображаются при открытии категории, а на странице каталога (когда категории не открыты) фильтры всё так же пусты. И как я понял, при открытии категории фильтр ищет только товары открытой категории. А как сделать, чтоб фильтры использовали товары не из какой-то конкретной категории, а из всего каталога? И как заставить фильтры отображаться на странице каталога, когда категории еще не открыты?

Ну и еще небольшой вопрос=) А есть какая-нибудь возможность сделать эти фильтры не в выпадающем меню, а так, как на картинке показано (типа кнопочками, чтоб можно было сразу на нужные характеристики потыкать)?

#6 Vaccina

Vaccina

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

  • Модераторы
  • 24 369 сообщений

Отправлено 02 Декабрь 2015 - 05:19

По поводу дизайна фильтров, чтобы не выпадающим списком был:
http://forum.storela...дизайн-фильтра/

Чтобы отображался фильтр в каталоге, придется вместо каталога создать искусственную категорию со всеми товарами из категорий:http://forum.storeland.ru/index.php?/topic/13472-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B-%D0%BD%D0%B0-%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B9/

#7 BeLoveAll

BeLoveAll

    Продвинутый пользователь

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

Отправлено 19 Декабрь 2015 - 01:02

Просмотр сообщенияVaccina (02 Декабрь 2015 - 05:19) писал:

По поводу дизайна фильтров, чтобы не выпадающим списком был:
http://forum.storela...дизайн-фильтра/

Чтобы отображался фильтр в каталоге, придется вместо каталога создать искусственную категорию со всеми товарами из категорий:http://forum.storeland.ru/index.php?/topic/13472-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D1%8B-%D0%BD%D0%B0-%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B9/
Что-то в обоих темах вопросы задал и тишина... :(





Темы с аналогичным тегами Фильтры

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

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