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


Заменить Фильтр Товаров


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

#1 evros

evros

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

  • Пользователи
  • PipPipPipPip
  • 284 сообщений
  • ГородМосква

Отправлено 16 Март 2016 - 20:04

Добрый вечер.

Просьба помочь в замене фильтра товаров в шаблоне Лето на фильтр товаров из шаблона Город. (фильтр чек боксами)

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

  • фильтр из шаблона город.jpg


#2 Vaccina

Vaccina

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

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

Отправлено 17 Март 2016 - 04:37

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

Подобный вариант вас устроит?

#3 evros

evros

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

  • Пользователи
  • PipPipPipPip
  • 284 сообщений
  • ГородМосква

Отправлено 17 Март 2016 - 10:13

Просмотр сообщенияVaccina (17 Март 2016 - 04:37) писал:

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

Подобный вариант вас устроит?

Добрый день. Такой вариант не совсем удобен для клиента, визуализация фильтра в шаблоне "Город" более практичная, без выпадающих окон.

Его можно в шаблон Лето перенести? Уже вроде готовое решение, ничего нового придумывать не нужно.

#4 Vaccina

Vaccina

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

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

Отправлено 18 Март 2016 - 06:53

В этом случае вам необходимо использовать данную инструкцию:
http://forum.storela...тр/#entry190325

#5 evros

evros

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

  • Пользователи
  • PipPipPipPip
  • 284 сообщений
  • ГородМосква

Отправлено 18 Март 2016 - 11:42

Просмотр сообщенияVaccina (18 Март 2016 - 06:53) писал:

В этом случае вам необходимо использовать данную инструкцию:
http://forum.storela...тр/#entry190325

Сделал. Нужна помощь в настройке! Не работают чек боксы и пропал ползунок фильтра по цене

#6 evros

evros

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

  • Пользователи
  • PipPipPipPip
  • 284 сообщений
  • ГородМосква

Отправлено 18 Март 2016 - 15:46

Облагородил фильтр. Ползунок вернул. Прошу помочь в точной настройке.

1. Не сортируются товары при выборе любого чек бокса (см.вложение). Нужна настройка: выбор чек бокса - автоматическая сортировка по выбранной характеристике. (сейчас товары сортируются выбором чек бокса и нажатием клавиши "Показать")

2. После сортировки товаров, в блоке "Активные фильтры", при нажатии на крестик (для сброса фильтра) ничего не происходит. (см. вложение). Нужна настройка: сброс фильтра нажатием на крестик в блоке "Активные фильтры"

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

  • Блок Активные фильтры.jpg
  • Выбор чек бокса.jpg


#7 Vaccina

Vaccina

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

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

Отправлено 19 Март 2016 - 02:00

В шаблоне HTML найдите:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
					{% FOR filter_attr_list %}
					  <div class="filter">
						<div class="title">{filter_attr_list.NAME}:</div>
						<ul>
						{% FOR values %}
						  <li>
							<input type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} />
							<label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} <span class="red">({filter_attr_list.values.NB_GOODS_FILTERED})</span></label>
						  </li>
						{% ENDFOR %}
						</ul>
					  </div>
					{% ENDFOR %}

замените на:
<!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
					{% FOR filter_attr_list %}
					  <div class="filter">
						<div class="title">{filter_attr_list.NAME}:</div>
						<ul>
						{% FOR values %}
						  <li>
							<input onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} />
							<label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} <span class="red">({filter_attr_list.values.NB_GOODS_FILTERED})</span></label>
						  </li>
						{% ENDFOR %}
						</ul>
					  </div>
					{% ENDFOR %}

и удалите:
<div class="goodsFilterPriceSubmit">
						 <center><button class="button" type="submit" title="Показать">Показать</button></center>
						</div>


#8 evros

evros

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

  • Пользователи
  • PipPipPipPip
  • 284 сообщений
  • ГородМосква

Отправлено 19 Март 2016 - 11:48

:o  и всего делофф?!  ))

Спасибо! Все заработало!

#9 girlsmile

girlsmile

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

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

Отправлено 31 Март 2016 - 21:23

Здравствуйте! Подскажите, пожалуйста, что делать. Удалять (что написано ниже) нечего, нет этой строки

Просмотр сообщенияVaccina (19 Март 2016 - 02:00) писал:

В шаблоне HTML найдите:
и удалите:
<div class="goodsFilterPriceSubmit">
						 <center><button class="button" type="submit" title="Показать">Показать</button></center>
					 </div>

И в итоге фильтр выглядит так (см. скриншот) нет ни ползунка по цене, ни какого-то выделения, что это фильтр
Изображение
http://natura.storel...tika-dlya-volos

Подскажите, пожалуйста, как исправить?

#10 Vaccina

Vaccina

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

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

Отправлено 01 Апрель 2016 - 02:45

В шаблоне HTML найдите:
<!-- Если в тарифном плане подключен модуль фильтров по товарам изменен подробности тут http://forum.storeland.ru/index.php?/topic/18679-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80/#entry190325 -->
						 {% IF TARIFF_FEATURE_GOODS_FILTERS %}
							 <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
							 {% IF SHOW_GOODS_FILTERS %}
								 <div class="filters">
									 <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
									 <form action="" method="get">
										 <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
									 {% FOR filter_attr_list %}
										 <div class="filter">
											 <div class="title">{filter_attr_list.NAME}:</div>
											 <ul>
											 {% FOR values %}
												 <li>
													 <input onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} />
													 <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} <span class="red">({filter_attr_list.values.NB_GOODS_FILTERED})</span></label>
												 </li>
											 {% ENDFOR %}
											 </ul>
										 </div>
									 {% ENDFOR %}
										 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										 {% FOR filter_prop_list %}
											 <div class="filter">
												 {filter_prop_list.NAME}:<br />
												 {% FOR values %}
														 <input value="1" onchange="this.form.submit();" type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ENDIF %} /> {filter_prop_list.values.VALUE}
													 {% ENDFOR %}
											 </div>
										 {% ENDFOR %}
										 <input type="submit" value="Применить фильтр" style="width: 296px; padding: 4px 13px; font-size: 12px; margin: 10px 0 0 4px;" />
										 <div class="clear"></div>
									 </form>
								 </div>
							 {% ENDIF %}
						 {% ENDIF %}
						 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

Замените на:
<!-- Если в тарифном плане подключен модуль фильтров по товарам изменен подробности тут http://forum.storeland.ru/index.php?/topic/18679-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80/#entry190325 -->
						 {% IF TARIFF_FEATURE_GOODS_FILTERS %}
							 <!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
							 {% IF SHOW_GOODS_FILTERS %}
	 <div class="block goods_filter">
			 <div class="block-title"><h3>Фильтры по товарам</h3></div>
			 <div class="block-content">
								 <div class="filters">
									 <!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
									 <form action="" method="get">
										 <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккомулятора) -->
									 {% FOR filter_attr_list %}
										 <div class="filter">
											 <div class="title">{filter_attr_list.NAME}:</div>
											 <ul>
											 {% FOR values %}
												 <li>
													 <input onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" value="1" id="filterAttrVal{filter_attr_list.values.ID}" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ELSEIF filter_attr_list.values.NB_GOODS_FILTERED=0 %}disabled="disabled"{% ENDIF %} />
													 <label for="filterAttrVal{filter_attr_list.values.ID}">{filter_attr_list.values.VALUE} <span class="red">({filter_attr_list.values.NB_GOODS_FILTERED})</span></label>
												 </li>
											 {% ENDFOR %}
											 </ul>
										 </div>
									 {% ENDFOR %}
										 <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
										 {% FOR filter_prop_list %}
											 <div class="filter">
												 {filter_prop_list.NAME}:<br />
												 {% FOR values %}
														 <input value="1" onchange="this.form.submit();" type="checkbox" name="form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]" {% IF filter_prop_list.values.CHECKED %}checked="checked"{% ENDIF %} /> {filter_prop_list.values.VALUE}
													 {% ENDFOR %}
											 </div>
										 {% ENDFOR %}
										 <input type="submit" value="Применить фильтр" />
										 <div class="clear"></div>
									 </form>
								 </div>
		 </div>
		 </div>
							 {% ENDIF %}
						 {% ENDIF %}
						 <!-- END Если в тарифном плане подключен модуль фильтров по товарам -->

В main.css найдите:
.sidebar .block {
float: left;
width: 100%;
margin-bottom: 20px;
}

после него пропишите:
.goods_filter .filter {
margin-bottom: 10px;
margin-top: 5px;
}
.goods_filter .filter .title {
color: #000;
font-weight: bold;
}
.goods_filter .filters form > input {
background: #224E2E;
display: block;
color: #fff;
padding: 5px;
margin: 0 auto;
}

Результат:
123.jpg

#11 girlsmile

girlsmile

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

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

Отправлено 08 Апрель 2016 - 18:45

Просмотр сообщенияVaccina (01 Апрель 2016 - 02:45) писал:

В шаблоне HTML найдите:

Спасибо! Все работает. Подскажите, пожалуйста, а возможно сделать так, чтобы фильтр по цене работал также, как и чек бокс. Т.е. при движении ползунка срабатывала отборка, а не по кнопки. Т.е. кнопку убрать ?

#12 Vaccina

Vaccina

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

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

Отправлено 09 Апрель 2016 - 05:47

В main.css добавьте:
.goodsFilterPriceSubmit {
	display: none;
}

В main.js найдите:
 // Слайдер, который используется для удобства выбора цены
	priceSliderBlock.slider({
	  range: true,
	  min: priceFilterMinAvailable,
	  max: priceFilterMaxAvailable,
	  values: [
		parseInt($('#goods-filter-min-price').val())
		,parseInt($('#goods-filter-max-price').val())
	  ],
	  slide: function( event, ui ) {
		priceInputMin.val( ui.values[ 0 ] );
		priceInputMax.val( ui.values[ 1 ] );
		priceSubmitButtonBlock.show();
		priceInputsChangeWidthByChars();
	  }

замените на:
// Слайдер, который используется для удобства выбора цены
	priceSliderBlock.slider({
	  range: true,
	  min: priceFilterMinAvailable,
	  max: priceFilterMaxAvailable,
	  values: [
		parseInt($('#goods-filter-min-price').val())
		,parseInt($('#goods-filter-max-price').val())
	  ],
	  slide: function( event, ui ) {
		priceInputMin.val( ui.values[ 0 ] );
		priceInputMax.val( ui.values[ 1 ] );
		priceSubmitButtonBlock.show();
		priceInputsChangeWidthByChars();
		setTimeout(function() { $('.goodsFilterPriceSubmit button').click(); }, 1000);
	  }


#13 girlsmile

girlsmile

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

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

Отправлено 24 Июль 2016 - 18:21

Просмотр сообщенияVaccina (09 Апрель 2016 - 05:47) писал:

для слайдера по цене

Здравствуйте! А возможно сможете подсказать // слайдера по цене вообще нет. Возможно где-то чего-то не хватает? или галку надо поставить?
В настройках категории этого нет или я не вижу ((

#14 Firefly

Firefly

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

  • Модераторы
  • 3 806 сообщений

Отправлено 24 Июль 2016 - 20:31

Просмотр сообщенияgirlsmile (24 Июль 2016 - 18:21) писал:

Здравствуйте! А возможно сможете подсказать // слайдера по цене вообще нет. Возможно где-то чего-то не хватает? или галку надо поставить?
В настройках категории этого нет или я не вижу ((

Здравствуйте.
У Вас отсутствовал код вывода счетчика по цене, добавил его Вам в шаблон HTML:
				  <!-- Если есть возможность фильтрации товаров по ценам -->
				  {% IF SHOW_GOODS_PRICE_FILTERS %}
					<div class="title-filter">Фильтры по ценам</div>
					<div class="layout-slider clearfix">
					  <input id="goods-filter-min-price" type="text" name="form[filter][price][min]" value="{% IF GOODS_FILTER_MIN_PRICE %}{GOODS_FILTER_MIN_PRICE}{% ELSE %}{GOODS_FILTER_MIN_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress('0123456789')" />
					  <span class="price-separator">-</span>
					  <input id="goods-filter-max-price" type="text" name="form[filter][price][max]" value="{% IF GOODS_FILTER_MAX_PRICE %}{GOODS_FILTER_MAX_PRICE}{% ELSE %}{GOODS_FILTER_MAX_AVAILABLE_PRICE}{% ENDIF %}" min="1" onkeypress="return keyPress('0123456789')" />
					  <input type="hidden" name="form[filter][available_price][min]" value="{GOODS_FILTER_MIN_AVAILABLE_PRICE}" />
					  <input type="hidden" name="form[filter][available_price][max]" value="{GOODS_FILTER_MAX_AVAILABLE_PRICE}" />
					  <!-- Фильтры по цене -->
					  <div class="goodsFilterPriceRangePointers">
						<span class="min" style="display:none;">{GOODS_FILTER_MIN_AVAILABLE_PRICE}</span>
						<span class="max" style="display:none;">{GOODS_FILTER_MAX_AVAILABLE_PRICE}</span>
					  </div>
					  <div id="goods-filter-price-slider"></div>
					  <div class="goodsFilterPriceSubmit">
						<button class="button" type="submit">Показать</button>
					  </div>
					</div>
				  {% ENDIF %}
				  <!-- /END Если есть возможность фильтрации товаров по ценам -->


#15 2308el

2308el

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

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

Отправлено 05 Сентябрь 2016 - 14:15

Добрый день! Помогите настроить стиль "фильтра по параметрам" под стиль сайта. SL-132827

#16 Vaccina

Vaccina

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

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

Отправлено 06 Сентябрь 2016 - 05:26

По данному вопросу вам ответили в другой теме форума:
http://forum.storela...033#entry247033




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

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