
Представляем у нас на
https://dle9.com/ бесплатный модуль
Easy Filter - фильтр по дополнительным полям для DataLife Engine, легкая установка без правок движка, позволит реализовать на сайте фильтр по дополнительным полям с необходимыми вам настройками. Функционал модуля работает на AJAX, не нужно перезагружать страницу. В бесплатной версии только базовые настройки.
Модуль для DLE Easy Filter выводит блок с заданными настройками по дополнительными полями, тем самым можно вывести для каждого значения необходимое количество публикаций, которое будут изменяться при выборе значений, чтобы сузить вывод данных при поиске новостей.
Архив модуля содержит такую иерархию файлов и папок.
Документация.url
Module
engine
inc
easy_filter.php
mod_punpun
easy_filter
admin
ajax
.htaccess
ajax.php
.htaccess
admin.php
ajax
.htaccess
easy_filter.php
config
.htaccess
easy_filter_config.php
language
.htaccess
easy_filter.lng
site
.htaccess
filter.php
templates
{THEME}
mod_punpun
easy_filter
css
.htaccess
easy_filter.css
images
.htaccess
chosen-sprite.png
[email protected] js
.htaccess
easy_filter.js
.htaccess
filter_block.tpl
filter_value.tpl
easy-filter-by-punpun.xml
Загрузить все файлы на сервер, предварительно изменив название папки {THEME} в /templates/ на название своего шаблона.
Загрузить easy-filter-by-punpun.xml через систему плагинов в админ панели DataLife Engine.
Открыть 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>
Далее перед тегом
</body>
Вставить
<script src="{THEME}/mod_punpun/easy_filter/js/easy_filter.js"></script>
Далее перед тегом
</head>
Вставить
<link rel="stylesheet" href="{THEME}/mod_punpun/easy_filter/css/easy_filter.css">
Перечень тегов в шаблоне filter_block.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]
Особенности модуля
Легкая работа с модулем.
Без правок движка.
Автор: PunPun
Поддерживаемая кодировка: UTF-8
Версия
DataLife Engine 13.0 и выше
Версия php: 5.4 и выше
Страница поддержки:
Страница документации:
Скачать плагины для DLE, как модуль Easy Filter можно по следующей ссылке
EasyFilter-master-DLE.zip [74,93 Kb] (cкачиваний: 859)