Фильтры
2014-12-06 Дата: Суббота, 06.12.2014, 20:56 | Сообщение # 1
Добрый день. Подскажите пожалуйста как сделать что бы для каждой категории показывался свой фильтр ($FILTER1_MENU$)? То-есть: Есть 3-ри категории и три фильтра! Нужно что бы в первой категории (страница со списком материалов категорий) показывался только фильтр 1 для второй категории только фильтр 2 ну и для третей - третий! Помогите пожалуйста с данным вопросом ?
2014-12-06 Дата: Суббота, 06.12.2014, 22:45 | Сообщение # 2
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Sashalife , Есть 3-ри категории и три фильтра! Нужно что бы в первой категории (страница со списком материалов категорий) показывался только фильтр 1 для второй категории только фильтр 2 ну и для третей - третий!
Типа так: Код
<?if($URI_ID$=='bdCat1')?> фильтр для категории с ID == 1 <?endif?>
Ну и наподобие для всех остальных фильтров/категорий. Узнать переменные страницы можно в админ баре: и использовать соответственно.
2014-12-07 Дата: Воскресенье, 07.12.2014, 13:19 | Сообщение # 3
Отлично! ВСё работает !!!! Спасибо огромное
2015-04-14 Дата: Вторник, 14.04.2015, 17:14 | Сообщение # 4
Подполковник
Группа: Пользователи
Статус: Offline
А как сделать, чтобы выпадающее меню фильтра ($FILTER1_MENU$), показывало не все свои значения, а только те которые нужно?
2015-04-16 Дата: Четверг, 16.04.2015, 10:17 | Сообщение # 5
Аццкий кодер
Группа: Администраторы
Статус: Unknown
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>
2015-04-20 Дата: Понедельник, 20.04.2015, 20:02 | Сообщение # 6
Подполковник
Группа: Пользователи
Статус: Offline
Я создал выпадающие списки и с помощью условных операторов указал на каких страницах их отображать. Но возникла проблема, что после выбора нужной категории из списка после перехода на выбранную страницу в списке не фиксируется выбранная категория, как это работает в стандартном блоке $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>
Что нужно изменить в этом коде, что бы заработало?
2015-05-02 Дата: Суббота, 02.05.2015, 19:20 | Сообщение # 7
Аццкий кодер
Группа: Администраторы
Статус: Unknown
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)));
и ставил значение фильтра == этой цифре (если там есть такое)
2015-05-03 Дата: Воскресенье, 03.05.2015, 09:20 | Сообщение # 8
Подполковник
Группа: Пользователи
Статус: Offline
Код
<?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))); и ставил значение фильтра == этой цифре (если там есть такое)
Про это не понял. Это альтернативный способ что ли?
2015-05-03 Дата: Воскресенье, 03.05.2015, 13:21 | Сообщение # 9
Подполковник
Группа: Пользователи
Статус: Offline
Я как понял фильтры работают только в категориях. А можно как-то задействовать их на главной странице модуля?
2015-05-03 Дата: Воскресенье, 03.05.2015, 20:02 | Сообщение # 10
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Iliz , Про это не понял. Это альтернативный способ что ли?
нет) - просто объяснение как это работает, ибо пример я привел лишь для одной категории.. Я как понял фильтры работают только в категориях. А можно как-то задействовать их на главной странице модуля?
Только вывести html кодом.
2015-05-03 Дата: Воскресенье, 03.05.2015, 22:48 | Сообщение # 11
Подполковник
Группа: Пользователи
Статус: Offline
нет) - просто объяснение как это работает, ибо пример я привел лишь для одной категории..
Я вставил ВАШ скрипт во все свои категории и ... эврика))) все заработало Код
<script type="text/javascript"> $('select[name="filter2"]').val(parseInt(window.location.href.substring(window.location.href.lastIndexOf('-')+1))); </script>
Только вывести html кодом.
то есть фильтровать он не будет материалы модуля по всем категориям?
2015-05-04 Дата: Понедельник, 04.05.2015, 09:16 | Сообщение # 12
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Iliz , то есть фильтровать он не будет материалы модуля по всем категориям?
Нет.. Как вариант - создать раздел и поместить в него все категории. Костыль, но имеет место быть озвучен.
2015-10-18 Дата: Воскресенье, 18.10.2015, 22:01 | Сообщение # 13
Подполковник
Группа: Пользователи
Статус: Offline
- Находит последнюю цифру в URL: _http://беер.рф/board/lager/1-1-1-0-0-0-0-24
Добрый день. А как дополнительно сделать, что бы еще первую цифру можно было менять в ссылке. Заранее спасибо
2015-10-19 Дата: Понедельник, 19.10.2015, 08:48 | Сообщение # 14
Аццкий кодер
Группа: Администраторы
Статус: Unknown
Iliz , А как дополнительно сделать, что бы еще первую цифру можно было менять в ссылке.
Не совсем понял, что требуется.. Данный скрипт ничего не меняет - просто определяет текущую категорию, так сказать, и ставит фильтр в значение id категории. Чисто для того, чтобы визуально обозначить предыдущий выбор фильтра.
2015-10-19 Дата: Понедельник, 19.10.2015, 10:19 | Сообщение # 15
Подполковник
Группа: Пользователи
Статус: Offline
У меня имеется три категории и свыше 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?>
Что бы при выборе нужного значения из фильтра (выпад. списка) менялись одновременно и синии и красные значения. Это мне нужно, что бы я мог три выпадающих списка, которые у меня сейчас есть для каждой категории объеденить в один большой и установить на главной странице модуля