Спонсор этой статьи хостинг сайтов Abc Name — http://abcname.com.ua
Фильтры материалов – это дополнительная возможность на сайтах uCoz, которая включается и настраивается самостоятельно и по желанию. По сути это дополнительный вариант сортировки. К сожалению, и по не понятным мне причинам, опция Фильтры есть не во всех модулях.
В одном модуле можно создать не более двух фильтров, то есть материалы дополнительно можно сортировать только по двум каким-то еще критериям.
Я реализовывала фильтры в Модуле Каталог сайтов, поэтому и возьму этот вариант как пример.
Пример реализации фильтров в Модуле Каталог сайтов.
Мне нужно было иметь возможность сортировать все материалы по странам. Более того, в зависимости от указанной страны, в поле материала выводился флаг этой страны.
Фильтры материалов — Создание на сайте uCoz
Панель управления – Каталог сайтов — Настройка фильтров.
После того, как вы перешли на страницу настройки фильтров, нужно нажать на «фильтр не активизирован», чтобы активировать фильтр. Далее заполняем все поля. Я показываю на своем примере:
Название фильтра: любое, в моем случае «Страна:»
Значения фильтра: любые, эти значения и будут появляется в выпадающем списке. Каждое значение нужно писать с новой строки. В моем примере значениями являются страны.
После того, как все заполнили, нажать «Сохранить».
Установка фильтра
Установка фильтра состоит из трех шагов
Шаг 1.
Панель управления – Каталог сайтов — Настройки Модуля
В «Поля для добавления материалов:» появилось новое поле, которое соответствует названию фильтра. Чтобы это поле появилось при добавлении нового материала, поставьте галочку рядом с ним. Нажать «сохранить» после всех изменений.
Шаг 2.
Панель управления – Каталог сайтов — Управление дизайном
Нужно установить наш фильтра, как вид сортировки, на странице с перечнем материалов. Например, Каталог сайтов — Страница со списком материалов категории.
Первому фильтру соответствует системный код $FILTER1_MENU$. Этот код нужно вставить в то место на странице, где вы хотите выидеть выпадающий список сортировки. Например, перед основным содержимым страницы, перед системным кодом $BODY$:
1 2 |
Сортировать по: $FILTER1_MENU$ <hr /> $BODY$ |
Если вы используете фильры для дополнительной сортировки, то первых двух шагов достаточно.
Шаг 3.
Если Вы хотите с помощью фильра реализовать разный вид для материалов, тогда переходите к Шагу 3. Помните, как в моем примере, в зависимости от страны, в каждом материале показывался флаг этой страны.
Для реализации этой задумки нам поможет системный код $FILTER1_VALUE$.
Панель управления – Каталог сайтов — Вид материалов
Filter value нужно применять только тут. Необходимо задать условие с помощью оператора : если значение фильтра совпадает — выполнить действите. В моем примере условие такое (а точнее несколько условий: столько, сколько и стран в фильтре): если значение фильтра — страна такая-то — вставить флаг этой страны. Естественно заранее нужно загрузить на сайт картинки флагов нужных стран.
1 |
<?if($FILTER1_VALUE$='Украина')?><img src="/flags/Ukraine.png" title="Ukraine"><?endif?> |
Таких условий должно быть столько, сколько значений имеет фильтр (сколько стран прописано в значениях фильтра).
Вот как выглядит вид материалов с моего примера
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<div class="dir opacity"> <div class="dir_flag"> <span> <?if($FILTER1_VALUE$='Украина')?><img src="/flags/Ukraine.png" title="Ukraine"><?endif?> <?if($FILTER1_VALUE$='Китай')?><img src="/flags/China.png" title="China"><?endif?> <?if($FILTER1_VALUE$='Чехия')?><img src="/flags/Czech.png" title="Czech Republic"><?endif?> <?if($FILTER1_VALUE$='Германия')?><img src="/flags/Germany.png" title="Germany"><?endif?> <?if($FILTER1_VALUE$='Италия')?><img src="/flags/Italy.png" title="Italy"><?endif?> <?if($FILTER1_VALUE$='Турция')?><img src="/flags/Turkey.png" title="Turkey"><?endif?> <?if($FILTER1_VALUE$='Беларусь')?><img src="/flags/Belarus.png" title="Taiwan"><?endif?> <?if($FILTER1_VALUE$='США')?><img src="/flags/usa.gif" title="USA"><?endif?> <?if($FILTER1_VALUE$='Болгария')?><img src="/flags/Bulgaria.gif" title="Bulgaria"><?endif?> <?if($FILTER1_VALUE$='Тайвань')?><img src="/flags/taivan.gif" title="Belarus"><?endif?> <?if($FILTER1_VALUE$='Россия')?><img src="/flags/Russian.png" title="Russia"><?endif?> <?if($FILTER1_VALUE$='Голландия')?><img src="http://ledexpo.com.ua/flags/Holland.jpg" title="Holland"><?endif?> </span> </div> <div class="dir_logo"> <div> <center><img src="$SCREEN_URL$" width="60"></center> </div> </div> <div class="dir_title"> <a href="javascript:void(0)" onClick="javascript:window.open('$ENTRY_URL$', 'participant', 'width=950,height=600,status=no,toolbar=no, menubar=no,scrollbars=yes,resizable=yes');"> $TITLE$</a> </div> <div class="dir_bottom"> <div class="dir_category"> <?if($CID$='15')?> <?else?> <a href="$CATEGORY_URL$">$CATEGORY_NAME$</a> <?endif?> </div> <ul class="dir_statistics"> <li><span>$READS$</span><img src="https://stepfor.top/vid_mat/ico_Eye.png" alt="просмотров"></li> <?if($COMMENTS_NUM$)?><li><span>$COMMENTS_NUM$</span><img src="https://stepfor.top/vid_mat/ico_comment.png" alt="комментарий"></li> <?endif?> <?if($MODER_PANEL$)?><li>$MODER_PANEL$</li><?endif?> </ul> </div> </div> |
Надеюсь, я справилась с задачей и достаточно доступно рассказала вам про фильтры. Чтобы активировать второй фильтра проделайте все вышеуказанные действия. Вот только системные коды для второго фильтра будут соответственно $FILTER2_MENU$ и $FILTER2_VALUE$.
Спасибо
А если фильтр на несколько значений?
Тернокс, Вы имеете ввиду несколько фильтров или несколько значений одного фильтра?