Множественный Выбор В Выпадающем Фильтре
#1
Отправлено 06 Август 2013 - 15:40
Сейчас вот так(1), как перейти на такой вариант (2)?
Поясню:
1. Сделать множественный выбор как на картинке 2.
2. Убрать "производитель" и "размер", а в самих фильтрах заменить "Все" на "Выберите бренд" или "Выберите размер"
3. Увеличить шрифт
4. Вопрос чисто на юзабилити: не является ли поле сортировки здесь лишним? Не загромождает ли оно пространство?
#2
Отправлено 06 Август 2013 - 19:01
в открывшемся слева списке категорий выбрать категорию для которой вы настраиваете фильтры и нажать на ней правой кнопкой мышки что бы появилось контекстное меню
в нем выбрать пункт "настроить категорию"
в самом низу открывшейся страницы вы найдете два пункта
Фильтры по характеристикам товаров
Фильтры по свойствам товаров a
используя их вы можете настроить фильтры как вам удобно
2.
найдите в файле ТОВАРЫ код (33-34 строка)
<font color="blue"> {filter_attr_list.NAME}: </font> <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 value="0"> - все - </option>
замените на код
<font color="blue" style="display:none;"> {filter_attr_list.NAME}: </font> <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 value="0"> - Выберите бренд - </option>
далее найдите код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue"> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - все - </option>
и замените на код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue" style="display:none;> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - Выберите размер - </option>
что бы изменить шрифт добавьте в конец файла main.css код
div.filter select {font-size:20px;}меняйте этот параметр font-size:20px; на свое усмотрение
#3
Отправлено 19 Август 2013 - 11:03
Taisia (06 Август 2013 - 19:01) писал:
в открывшемся слева списке категорий выбрать категорию для которой вы настраиваете фильтры и нажать на ней правой кнопкой мышки что бы появилось контекстное меню
в нем выбрать пункт "настроить категорию"
в самом низу открывшейся страницы вы найдете два пункта
Фильтры по характеристикам товаров
Фильтры по свойствам товаров a
используя их вы можете настроить фильтры как вам удобно
#4
Отправлено 20 Август 2013 - 05:06
Где size это количество отображаемых элементов. Только необходимо будет удалить атрибут onchange у тега select, так как он не даст возможности выбрать несколько вариантов. По сути необходимо будет добавить ниже всех списков кнопку, которая уже и будет применять фильтр.
#5
Отправлено 20 Август 2013 - 21:43
Taisia (06 Август 2013 - 19:01) писал:
найдите в файле ТОВАРЫ код (33-34 строка)
<font color="blue"> {filter_attr_list.NAME}: </font> <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 value="0"> - все - </option>
замените на код
<font color="blue" style="display:none;"> {filter_attr_list.NAME}: </font> <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 value="0"> - [color=#282828][font=helvetica, arial, sans-serif]Выберите бренд[/font][/color]- </option>
далее найдите код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue"> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - все - </option>
и замените на код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue" style="display:none;> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - [color=#282828][font=helvetica, arial, sans-serif]Выберите размер[/font][/color]- </option>
Вот так получилось: в бренд код вылез, а размеры вообще исчезли.
Вернул обратно.
Подправьте код пж-та.
#6
Отправлено 21 Август 2013 - 02:16
[color=#282828][font=helvetica, arial, sans-serif]
Сообщение по которому вы производили изменения - откорректировала. Попробуйте выполнить инструкцию еще раз.
#7
Отправлено 15 Сентябрь 2013 - 15:56
Сейчас в фильтре по брендам вот так:
"8 марта (11)"
Как переделать на "8 марта (11)", т.е. (11) немного засерить.
Такое же нужно и для фильтра размеров.
Заранее спасибо!
#8
Отправлено 17 Сентябрь 2013 - 02:21
#9
Отправлено 18 Сентябрь 2013 - 19:08
#10
Отправлено 19 Сентябрь 2013 - 00:25
#11
Отправлено 12 Октябрь 2013 - 20:51
Taisia (06 Август 2013 - 19:01) писал:
найдите в файле ТОВАРЫ код (33-34 строка)
<font color="blue"> {filter_attr_list.NAME}: </font> <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 value="0"> - все - </option>
замените на код
<font color="blue" style="display:none;"> {filter_attr_list.NAME}: </font> <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 value="0"> - Выберите бренд - </option>
далее найдите код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue"> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - все - </option>
и замените на код
<!-- Фильтры по свойствам товарных модификаций (Например: Цвет, размер, модификация) --> {% FOR filter_prop_list %} <div class="filter"> <font color="blue" style="display:none;> {filter_prop_list.NAME}: </font> <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_prop_list.values.CHECKED %}form[filter][prop][{filter_prop_list.ID}][{filter_prop_list.values.ID}]{% ENDIF %}{% ENDFOR %}"> <option> - Выберите размер - </option>
При добавлении 3-го фильтра, название фильтра дублируется - http://zabota-mama.r...log/Бюстгалтеры
То есть 3-й фильтр в карточке товара называется "Конструкция", а в каталоге он фигурирует как "Выберите бренд"
#12
Отправлено 13 Октябрь 2013 - 09:39
zabota-mama (12 Октябрь 2013 - 20:51) писал:
То есть 3-й фильтр в карточке товара называется "Конструкция", а в каталоге он фигурирует как "Выберите бренд"
А как нужно, чтобы отображалось?
#13
Отправлено 13 Октябрь 2013 - 19:16
#14
Отправлено 14 Октябрь 2013 - 08:56
zabota-mama (13 Октябрь 2013 - 19:16) писал:
Найдите код в шаблоне Товары -
<option value="0"> - Выберите бренд - </option>и замените на -
<option value="0">{%IF filter_attr_list.NAME = Конструкция%} - Выберите конструкцию - {%ELSE%} - Выберите бренд - {%ENDIF%}</option>
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных