Спонсор этой статьи хостинг сайтов Abc Name – http://abcname.com.ua
Фильтры материалов – это дополнительная возможность на сайтах uCoz, которая включается и настраивается самостоятельно и по желанию. По сути это дополнительный вариант сортировки. К сожалению, и по не понятным мне причинам, опция Фильтры есть не во всех модулях.
В одном модуле можно создать не более двух фильтров, то есть материалы дополнительно можно сортировать только по двум каким-то еще критериям.
Я реализовывала фильтры в Модуле Каталог сайтов, поэтому и возьму этот вариант как пример.
Пример реализации фильтров в Модуле Каталог сайтов.
Мне нужно было иметь возможность сортировать все материалы по странам. Более того, в зависимости от указанной страны, в поле материала выводился флаг этой страны.
Панель управления – Каталог сайтов – Настройка фильтров.
После того, как вы перешли на страницу настройки фильтров, нужно нажать на «фильтр не активизирован», чтобы активировать фильтр. Далее заполняем все поля. Я показываю на своем примере:
Название фильтра: любое, в моем случае “Страна:”
Значения фильтра: любые, эти значения и будут появляется в выпадающем списке. Каждое значение нужно писать с новой строки. В моем примере значениями являются страны.
После того, как все заполнили, нажать «Сохранить».
Установка фильтра состоит из трех шагов
Шаг 1.
Панель управления – Каталог сайтов – Настройки Модуля
В “Поля для добавления материалов:” появилось новое поле, которое соответствует названию фильтра. Чтобы это поле появилось при добавлении нового материала, поставьте галочку рядом с ним. Нажать “сохранить” после всех изменений.
Шаг 2.
Панель управления – Каталог сайтов – Управление дизайном
Нужно установить наш фильтра, как вид сортировки, на странице с перечнем материалов. Например, Каталог сайтов – Страница со списком материалов категории.
Первому фильтру соответствует системный код $FILTER1_MENU$. Этот код нужно вставить в то место на странице, где вы хотите выидеть выпадающий список сортировки. Например, перед основным содержимым страницы, перед системным кодом $BODY$:
Сортировать по: $FILTER1_MENU$ <hr /> $BODY$
Если вы используете фильры для дополнительной сортировки, то первых двух шагов достаточно.
Шаг 3.
Если Вы хотите с помощью фильра реализовать разный вид для материалов, тогда переходите к Шагу 3. Помните, как в моем примере, в зависимости от страны, в каждом материале показывался флаг этой страны.
Для реализации этой задумки нам поможет системный код $FILTER1_VALUE$.
Панель управления – Каталог сайтов – Вид материалов
Filter value нужно применять только тут. Необходимо задать условие с помощью оператора : если значение фильтра совпадает – выполнить действите. В моем примере условие такое (а точнее несколько условий: столько, сколько и стран в фильтре): если значение фильтра – страна такая-то – вставить флаг этой страны. Естественно заранее нужно загрузить на сайт картинки флагов нужных стран.
<?if($FILTER1_VALUE$='Украина')?><img src="/flags/Ukraine.png" title="Ukraine"><?endif?>
Таких условий должно быть столько, сколько значений имеет фильтр (сколько стран прописано в значениях фильтра).
Вот как выглядит вид материалов с моего примера
<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 (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$.
Если при открытие csv файла с помощью excel У все поехали ячейки - это простой… Read More
Простые шаги как происходит Загрузка проекта на Github и Автодеплой на сервер Сделайте работу проще! Read More
Миграция базы данных - помогают с этим библиотеки SQLAlchemy и Alembic. Read More
Основные Команды Git, которые точно пригодятся. Сохрани себе шпаргалку Git Read More
Установка PostgreSQL на сервер Read More
Как создать PrimaryKey в талице базы данных SQL [РЕШЕНО] Ошибка relation tablename_id_seq doesn't exist Read More
View Comments
Спасибо
А если фильтр на несколько значений?
Тернокс, Вы имеете ввиду несколько фильтров или несколько значений одного фильтра?