Easy Filter version: 1.1

Страница модуля

Благодарность


Собрано 50 рублей Поддержать автора

Войдите на сайт


Данное дополнение сделано на энтузиазме для пользователей. Вы можете помочь автору материально сделав вклад в развитие, создание и поддержку других бесплатных дополнений. Любая помощь это добрый шаг с вашей стороны, вы становитесь одним из спонсоров раздела и непосредственным образом влияете на его дальнейшее развитие.

Общая информация о модуле


Модуль Easy Filter предназначен для создания простого фильтра новостей по дополнительным полям.

Требования к системе


Версия DLE: 13.0 и выше
Поддерживаемая кодировка: UTF-8
Версия PHP: 5.4 и выше

Структура модуля


Архив модуля содержит такую иерархию файлов и папок.

  • Документация.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

              • chosen-sprite@2x.png

            • js

              • .htaccess

              • easy_filter.js

            • .htaccess

            • filter_block.tpl

            • filter_value.tpl

    • easy-filter-by-punpun.xml

Особенности модуля


  • Легкая работа с модулем.
  • Без правок движка.
  • Поддерживаемые версии DataLife Engine с 13.0 и выше.

Установка модуля


  • Загрузить все файлы на сервер, предварительно изменив название папки {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 - название дополнительного поля на латинице.
  • {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]