Фильтры
|
|
[1] Sashalife [06.12.2014, 20:56] |
Добрый день.
Подскажите пожалуйста как сделать что бы для каждой категории показывался свой фильтр ($FILTER1_MENU$)?
То-есть:
Есть 3-ри категории и три фильтра! Нужно что бы в первой категории (страница со списком материалов категорий) показывался только фильтр 1 для второй категории только фильтр 2 ну и для третей - третий! Помогите пожалуйста с данным вопросом ? |
|
[2] likbezz [06.12.2014, 22:45] |
Sashalife, Есть 3-ри категории и три фильтра! Нужно что бы в первой категории (страница со списком материалов категорий) показывался только фильтр 1 для второй категории только фильтр 2 ну и для третей - третий! Типа так: Код <?if($URI_ID$=='bdCat1')?> фильтр для категории с ID == 1 <?endif?> Ну и наподобие для всех остальных фильтров/категорий.
Узнать переменные страницы можно в админ баре:
и использовать соответственно.
|
|
[3] Sashalife [07.12.2014, 13:19] |
Отлично! ВСё работает !!!! Спасибо огромное |
|
[4] Iliz [14.04.2015, 17:14] |
А как сделать, чтобы выпадающее меню фильтра ($FILTER1_MENU$), показывало не все свои значения, а только те которые нужно? |
|
[5] likbezz [16.04.2015, 10:17] |
Iliz, А как сделать, чтобы выпадающее меню фильтра ($FILTER1_MENU$), показывало не все свои значения, а только те которые нужно? Ну, вариантов всего два и оба скриптом:
1. Скрыть лишние пункты. 2. Заменить весь выпадающий список.
Мне больше импонирует второй - ибо меньше движений - просто копирует оригинальный, обираем лишнее, заменяем одно на другое. Методом: Код $('#ID_оригинального списка').replaceWith('Код_или_ID_нового списка');
Например: Код <select name="ma" id="mdF9" size="1"><option value="1">Январь</option><option value="2">Февраль</option><option value="3">Март</option><option value="4" style="background: none repeat scroll 0% 0% rgb(238, 238, 238);" selected="">Апрель</option><option value="5">Май</option><option value="6">Июнь</option><option value="7">Июль</option><option value="8">Август</option><option value="9">Сентябрь</option><option value="10">Октябрь</option><option value="11">Ноябрь</option><option value="12">Декабрь</option></select>
<script type="text/javascript"> $('#mdF9').replaceWith('<select name="ma" id="mdF9" size="1"><option value="3">Март</option><option value="4" style="background: none repeat scroll 0% 0% rgb(238, 238, 238);" selected="">Апрель</option><option value="5">Май</option><option value="6">Июнь</option><option value="7">Июль</option><option value="8">Август</option><option value="9">Сентябрь</option><option value="10">Октябрь</option><option value="11">Ноябрь</option><option value="12">Декабрь</option></select>'); </script> |
|
[6] Iliz [20.04.2015, 20:02] |
Я создал выпадающие списки и с помощью условных операторов указал на каких страницах их отображать. Но возникла проблема, что после выбора нужной категории из списка после перехода на выбранную страницу в списке не фиксируется выбранная категория, как это работает в стандартном блоке $FILTER1_MENU$. Т.е. отображается -Категория стиля- а не наименование стиля. Код <?if($URI_ID$='bdCat3')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/3-1-2-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">-Категория стиля-</option> <option value="25">Медовуха (традиционная)</option> <option value="26">Медовуха (фруктовая)</option> <option value="27">Сидр и перри (стандартный)</option> <option value="28">Сидр и перри (специальный)</option> <option value="32">Квас</option> <option value="30">Домашнее вино</option> <option value="31">Неопознанное</option></select> <?endif?> <?if($URI_ID$='bdCat2')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/2-1-1-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">- Категория стиля -</option> <option value="6">Светлый смешанный</option> <option value="7">Янтарный смешанный</option> <option value="8">Английский Пэйл Эль</option> <option value="9">Шотландский и Ирландский Эль</option> <option value="10">Американский Эль</option> <option value="11">Английский коричневый Эль</option> <option value="12">Портер</option><option value="13">Стаут</option> <option value="14">Индийский Пэйл Эль</option> <option value="15">Немецкое пшеничное и ржаное</option> <option value="16">Бельгийский и Французский Эль</option> <option value="17">Кислый Эль</option> <option value="18">Бельгийский крепкий Эль</option> <option value="19">Крепкий Эль</option> <option value="20">Фруктовое пиво</option> <option value="21">Пряное, травяное, овощное пиво</option> <option value="22">Копченное, выдержанное в дереве пиво</option> <option value="23">Специальное пиво</option> <option value="29">Пиво без глютена</option> <option value="24">Советское пиво</option> </select> <?endif?> <?if($URI_ID$='bdCat1')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/1-1-1-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">- Категория стиля -</option> <option value="1">Светлый Лагер</option> <option value="2">Пильзнер</option> <option value="3">Янтарный Лагер</option> <option value="4">Темный Лагер</option> <option value="5">Бок</option> <option value="6">Светлый смешанный</option> <option value="7">Янтарный смешанный</option> <option value="20">Фруктовое пиво</option> <option value="21">Пряное, травяное, овощное пиво</option> <option value="22">Копченное, выдержанное в дереве пиво</option> <option value="23">Специальное пиво</option> <option value="29">Пиво без глютена</option> <option value="24">Советское пиво</option><?endif?> </select>
Что нужно изменить в этом коде, что бы заработало? |
|
[7] likbezz [02.05.2015, 19:20] |
Iliz, Что нужно изменить в этом коде, что бы заработало? Добрый Например, так: Код <?if($URI_ID$='bdCat3')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/3-1-2-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">-Категория стиля-</option> <option value="25">Медовуха (традиционная)</option> <option value="26">Медовуха (фруктовая)</option> <option value="27">Сидр и перри (стандартный)</option> <option value="28">Сидр и перри (специальный)</option> <option value="32">Квас</option> <option value="30">Домашнее вино</option> <option value="31">Неопознанное</option></select> <script type="text/javascript"> $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); </script> <?endif?>
- Находит последнюю цифру в URL: _http://беер.рф/board/lager/1-1-1-0-0-0-0-24 Код $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); и ставил значение фильтра == этой цифре (если там есть такое) |
|
[8] Iliz [03.05.2015, 09:20] |
Код <?if($URI_ID$='bdCat3')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/3-1-2-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">-Категория стиля-</option> <option value="25">Медовуха (традиционная)</option> <option value="26">Медовуха (фруктовая)</option> <option value="27">Сидр и перри (стандартный)</option> <option value="28">Сидр и перри (специальный)</option> <option value="32">Квас</option> <option value="30">Домашнее вино</option> <option value="31">Неопознанное</option></select> <script type="text/javascript"> $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); </script> <?endif?>
Вставил этот код взамен своего и все заработало. Спасибо!:)
Код - Находит последнюю цифру в URL: _http://беер.рф/board/lager/1-1-1-0-0-0-0-24 Код $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1)));
и ставил значение фильтра == этой цифре (если там есть такое) Про это не понял. Это альтернативный способ что ли? |
|
[9] Iliz [03.05.2015, 13:21] |
Я как понял фильтры работают только в категориях. А можно как-то задействовать их на главной странице модуля? |
|
[10] likbezz [03.05.2015, 20:02] |
Iliz, Про это не понял. Это альтернативный способ что ли? нет) - просто объяснение как это работает, ибо пример я привел лишь для одной категории..
Я как понял фильтры работают только в категориях. А можно как-то задействовать их на главной странице модуля? Только вывести html кодом. |
|
[11] Iliz [03.05.2015, 22:48] |
нет) - просто объяснение как это работает, ибо пример я привел лишь для одной категории.. Я вставил ВАШ скрипт во все свои категории и ... эврика))) все заработало Код <script type="text/javascript"> $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); </script> Только вывести html кодом. то есть фильтровать он не будет материалы модуля по всем категориям? |
|
[12] likbezz [04.05.2015, 09:16] |
Iliz, то есть фильтровать он не будет материалы модуля по всем категориям? Нет..
Как вариант - создать раздел и поместить в него все категории. Костыль, но имеет место быть озвучен. |
|
[13] Iliz [18.10.2015, 22:01] |
- Находит последнюю цифру в URL: _http://беер.рф/board/lager/1-1-1-0-0-0-0-24 Добрый день. А как дополнительно сделать, что бы еще первую цифру можно было менять в ссылке. Заранее спасибо |
|
[14] likbezz [19.10.2015, 08:48] |
Iliz, А как дополнительно сделать, что бы еще первую цифру можно было менять в ссылке. Не совсем понял, что требуется.. Данный скрипт ничего не меняет - просто определяет текущую категорию, так сказать, и ставит фильтр в значение id категории. Чисто для того, чтобы визуально обозначить предыдущий выбор фильтра. |
|
[15] Iliz [19.10.2015, 10:19] |
У меня имеется три категории и свыше 20 значений фильтра. У каждой категории есть свои значения фильтра. Если мы посмотрим на ссылку http://беер.рф/board/lager/1-1-1-0-0-0-0-24 Получается, то что красным это категории, а то что синим это значения фильтра Выпадающий список подменяет синие значения при выборе из списка. А как изменить этот код выпад. списка:
Код <?if($URI_ID$='bdCat3')?> <select size="1" name="filter2" onchange="window.location.href='http'+'://xn--90aia8b.xn--p1ai/board/other/3-1-2-0-0-0-0-'+this.options[this.selectedIndex].value"> <option value="0" style="color:#A3A3A3;">-Категория стиля-</option> <option value="25">Медовуха (традиционная)</option> <option value="26">Медовуха (фруктовая)</option> <option value="27">Сидр и перри (стандартный)</option> <option value="28">Сидр и перри (специальный)</option> <option value="32">Квас</option> <option value="30">Домашнее вино</option> <option value="31">Неопознанное</option></select> <script type="text/javascript"> $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); </script> <?endif?> Что бы при выборе нужного значения из фильтра (выпад. списка) менялись одновременно и синии и красные значения. Это мне нужно, что бы я мог три выпадающих списка, которые у меня сейчас есть для каждой категории объеденить в один большой и установить на главной странице модуля |
|