Easy Filter 1.1 : фильтр по дополнительным полям


С помощью этого модуля можно реализовать, у себя на сайте, фильтр по дополнительным полям. Он выводит блок с заданными дополнительными полями, в котором можно вывести для каждого значения количество новостей которое будет изменяться при выборе значений тем самым суживая выбор значений для поиска новостей. Работа построена полностью на AJAX - никакой перезагрузки страницы. А так же имеет базовые настройки.








Установка:
1. Загрузить все файлы на сервер, предварительно изменив название папки {THEME} в /templates/ на название своего шаблона.

2. Загрузить easy-filter-by-punpun.xml через систему плагинов в админ панели DataLife Engine.

3. Открыть main.tpl или любой другой *.tpl файл, в нужном вам месте для вывода фильтра, и добавить:
<form id="punpun_filter">
	<div class="filter-wrap" id="filter-wrap">
		<div class="filter-box">
			{include file="engine/mod_punpun/easy_filter/site/filter.php"}
		</div>
	</div>
</form>

Найти далее:
</head>

Добавить выше:
<link rel="stylesheet" href="{THEME}/mod_punpun/easy_filter/css/easy_filter.css">

Найти далее:
</body>

Добавить выше:
<script src="{THEME}/mod_punpun/easy_filter/js/easy_filter.js"></script>

Готово!

Перечень тегов в шаблоне filter_block.tpl:
[x] текст [/x] - создает блок оформления элемента формы для фильтра. Где x - название дополнительного поля на латинице.
{x-value} - выводит оформление значений дополнительного поля. Где x - название дополнительного поля на латинице.

Перечень тегов в шаблоне filter_value.tpl:
[x] текст [/x] - создает внутри тега оформление значений дополнительного поля. Где x - название дополнительного поля на латинице.
{value} - выводит значение дополнительного поля. (Не работает при оформлении слайдера).
{key} - выводит название дополнительного поля.
{count} - выводит количество новостей. (Не работает при оформлении слайдера).
{disabled} - выводит параметр disabled если количество новостей для значения дополнительного поля равно 0. (Не работает при оформлении слайдера).
[check] текст [/check] - выводит внутри тега текст если данное значение было выбрано. Для input это checked для select - selected. (Не работает при оформлении слайдера).
{min-x} - выводит минимальное значение дополнительного поля если оформление - слайдер.
{max-x} - выводит максимальное значение дополнительного поля если оформление - слайдер.

Примеры:
Js файл easy_filter.js: если вы хотите подключить слайдер, то объявляйте код инициализации слайдера внутри функции SliderInit.

Примеры оформления блоков в filter_block.tpl:
[year]
	<div class="fb-sect-name">Год</div>
	<div class="fb-sect">
		{year-value}
	</div>
[/year]
[janre]
	<div class="fb-sect-name">Выберите жанр</div>
	<div class="fb-sect fb-sel">
		<select name="janre" multiple data-placeholder="Выберите жанр">
			<option value=""> - </option>
			{janre-value}
		</select>
	</div>
[/janre]
[country]
	<div class="fb-sect-name">Выберите страну</div>
	<div class="fb-sect fb-sel">
		{country-value}
	</div>
[/country]
<div class="fb-sect-name">Выберите сортировку</div>
<div class="fb-sect fb-sel">
	<select name="order_by" multiple data-placeholder="Выберите сортировку">
		<option value=""> - </option>
		<option value="title"> по названию новости </option>
		<option value="dec_year"> по году новости </option>
	</select>
</div>

<div class="fb-sect-name">Выберите тип сортировки</div>
<div class="fb-sect fb-sel">
	<select name="order" data-placeholder="Выберите тип сортировки">
		<option value="desc"> По убыванию </option>
		<option value="asc"> По возрастанию </option>
	</select>
</div>

Примеры оформления в filter_value.tpl:
[year]
	<input type="text" name="slider-{key}" data-ionRangeSlider='ionRangeSlider' data-key='{key}'>
[/year]
[janre]
	<option value="{value}" data-key='{key}-{value}' {disabled} [check]selected[/check]> {value} ({count})</option>
[/janre]
[country]
	<label for="{key}-{value}"><input type="checkbox" name="{key}" value="{value}" data-key='{key}' [check]checked[/check]> {value} ({count})</label>
[/country]

easy-filter-1_1.zip
Создайте аккаунт или авторизуйтесь для скачивания
 
Версия DLE: 13.х
Кодировка: utf-8
Автор: PunPun
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.

Комментариев 2

Oxigen 13 мая 2020 18:35
DarkLane, права конфиг файлам/папке на запись даны?
--------------------
Всё, что вы напишите, будет использовано против вас при показе контекстной рекламы :)
DarkLane 13 мая 2020 14:26
Не работает, не сохраняется в конфигурационных файлах