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


Расширенный Фильтр


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

#1 Eclipse

Eclipse

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

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

Отправлено 28 Февраль 2015 - 02:03

Здравствуйте, как можно реализовать (пусть платной доработкой) такой фильтр? Необходима возможность выбирать несколько чекбоксов (а не только один вариант, как в выпадающем списке).

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

  • Боковой фильтр.png


#2 Eclipse

Eclipse

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

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

Отправлено 02 Март 2015 - 01:51

Уважаемая поддержка пользователей платформы StoreLand, просьба всё-таки конструктивно отреагировать на тему.

А также возник такой вопрос: можно ли как-то увеличить кол-во фильтров в категории до 12 (см. прикреплённый скриншот)?

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

  • QIP Shot - Screen 008.png


#3 Vaccina

Vaccina

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

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

Отправлено 03 Март 2015 - 01:05

Инструкция по реализации выбора сразу нескольких параметров и последующая их обработка после нажатия на кнопку "Применить":
http://forum.storela...ов/#entry135479


Вывод фильтров по характеристикам и свойствам ограничен до 10 штук на каждый раздел.

#4 Eclipse

Eclipse

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

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

Отправлено 03 Март 2015 - 16:04

Просмотр сообщенияVaccina (03 Март 2015 - 01:05) писал:

Вывод фильтров по характеристикам и свойствам ограничен до 10 штук на каждый раздел.

Спасибо! А ограничение до 10шт фильтров никак не изменить в коде? Оно одно для всех аккаунтов сторленда?

#5 Eclipse

Eclipse

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

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

Отправлено 03 Март 2015 - 22:50

Очень нужно 11 фильтров! Очень!

#6 Vaccina

Vaccina

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

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

Отправлено 04 Март 2015 - 00:40

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

#7 Eclipse

Eclipse

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

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

Отправлено 04 Март 2015 - 01:16

Ок, а есть возможность сделать не выпадающие списки, а чекбоксы? Как в примере, на скриншоте в теме ветки? Чтобы была возможность выбрать несколько значений одного фильтра: например, все модели обуви жёлтого, зелёного и оранжевого цвета. Не выпадающие списки, а чекбоксы либо какую другую структуру, поддерживающую мультивыбор

#8 Vaccina

Vaccina

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

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

Отправлено 11 Март 2015 - 07:29

Для этого достаточно заменить select на input type="checkbox". В шаблоне Товары найдите код

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
				<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
				{% IF SHOW_GOODS_FILTERS %}
				  <div class="filters">
					<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
					<form action="" method="get">
					  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккумулятора) -->
					  {% FOR filter_attr_list %}
						<div class="filter">
						  {filter_attr_list.NAME}:<br />
						  <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));" 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 %}
					  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					  {% FOR filter_prop_list %}
						<div class="filter">
						  {filter_prop_list.NAME}:<br />
						  <select onchange="$(this).attr('name', $(this).find('option:selected').attr('value') == -1 ? '' : $(this).find('option:selected').attr('rel'));" 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 %}>{filter_prop_list.values.VALUE}</option>
							{% ENDFOR %}
						  </select>
						</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 Если в тарифном плане подключен модуль фильтров по товарам -->

и замените его на

<!-- Если в тарифном плане подключен модуль фильтров по товарам -->
			  {% IF TARIFF_FEATURE_GOODS_FILTERS %}
				<!-- Фильтры по товарам. Появляются только на странице категории и поиска по товарам -->
				{% IF SHOW_GOODS_FILTERS %}
				  <div class="filters">
					<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
					<form action="" method="get">
					  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккумулятора) -->
					  {% FOR filter_attr_list %}
						<div class="filter">
						  {filter_attr_list.NAME}:<br />
							{% FOR values %}
							  <input value="1" onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %} /> {filter_attr_list.values.VALUE}
							{% ENDFOR %}
						</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 Если в тарифном плане подключен модуль фильтров по товарам -->


#9 Eclipse

Eclipse

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

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

Отправлено 12 Март 2015 - 18:53

Я вам очень благодарен, но есть 2 момента:

1) Кнопка "применить фильтр" по сути не имеет смысла, ибо после каждой поставленной галочки страница перегружается, применяя отмеченный галочкой фильтр. А хотелось бы, чтобы сперва всё что нужно отметил человек, а потом уже применял фильтр кликом по кнопке Применить.

2) И со стилями поможете ещё что-то придумать? Потому что сейчас 2 товара в категории и при 10 фильтрах уже, конечно, не комильфо. Добавив 100 товаров, почти весь экран будет занят одними лишь фильтрами. Может, попробуем сделать, как на скриншоте из первого поста? Или это не только стилевые правки уже?

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

  • QIP Shot - Screen 015.png


#10 Eclipse

Eclipse

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

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

Отправлено 29 Март 2015 - 03:24

Гм! Форум умер?)

#11 Danil

Danil

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

  • Пользователи
  • PipPipPipPip
  • 4 645 сообщений

Отправлено 30 Март 2015 - 14:02

Просмотр сообщенияEclipse (29 Март 2015 - 03:24) писал:

Гм! Форум умер?)
Здравствуйте.
В шаблоне Товары найдите код
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
					<form action="" method="get">
					  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккумулятора) -->
					  {% FOR filter_attr_list %}
						<div class="filter">
						  {filter_attr_list.NAME}:<br />
						  {% FOR values %}
							<input value="1" onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %} /> {filter_attr_list.values.VALUE}
						  {% ENDFOR %}
						</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>
и замените на
<!-- Форма поиска отправляет всегда на ту же страницу, на которой находится пользователь -->
					<form action="" method="get">
					  <!-- Фильтры по характеристикам товаров (Например: Производитель, разрешение экрана, заряд аккумулятора) -->
					  {% FOR filter_attr_list %}
						<div class="filter">
						  {filter_attr_list.NAME}:<br />
						  {% FOR values %}
							<div><input value="1" onchange="this.form.submit();" type="checkbox" name="form[filter][attr][{filter_attr_list.ID}][{filter_attr_list.values.ID}]" {% IF filter_attr_list.values.CHECKED %}checked="checked"{% ENDIF %} /> {filter_attr_list.values.VALUE}</div>
						  {% ENDFOR %}
						</div>
					  {% ENDFOR %}
					  <!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) -->
					  {% FOR filter_prop_list %}
						<div class="filter">
						  {filter_prop_list.NAME}:<br />
						  {% FOR values %}
							<div><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}</div>
						  {% 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>


#12 Eclipse

Eclipse

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

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

Отправлено 31 Март 2015 - 14:37

Просмотр сообщенияDanil (30 Март 2015 - 14:02) писал:


Спасибо за отлик, но проблему 1-го пункта не помогло решить (из двух пунктов, по которым нужна помощь). Внесённые изменения же просто чуть аккуратнее выстраивают стилистику списка фильтров, правильно я понял?




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

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