DLE Filter

Организация фильтра новостей.

version: 1.1.2 dle: 12.0 - 13.2 charset: UTF-8 php: 5.4 - 7.3
  • Кроссбраузерная поддержка. Chrome, Firefox, Opera, Safari, IE9+
  • Возможность задать Мета-тег Robots для страницы фильтра.
  • SEO оптимизация страниц фильтра.
  • Кэширование результатов фильтра.
  • Обработка неверных URL фильтра.
  • Запись данных для отслеживания что ищут пользователи Вашего сайта.
  • Возможность искать новости только в рамках категории на которой находиться пользователь сайта.
  • Возможность искать новости только в рамках тега на котором находиться пользователь сайта.
  • Возможность искать новости только в рамках дополнительного поля на котором находиться пользователь сайта.
  • Возможность задать количество новостей на страницу фильтра.
  • Возможность установить сортировку новостей по умолчанию.
  • Возможность исключить категории с фильтра.
  • Возможность исключить новости с фильтра.
  • AJAX подгрузка результатов фильтра.
  • Возможность убрать AJAX подгрузку фильтра.
  • Возможность искать только по нажатию на кнопку с AJAX подгрузкой.
  • Возможность искать только по нажатию на кнопку с перенаправлением на страницу фильтра.
  • Возможность включить AJAX навигацию в фильтре.
  • При AJAX подгрузке меняется: Мета-тег Title, Хлебные крошки, URL страницы.
  • Интеграция с сторонними модулями: «Miniposter PRO v2», «Miniposter PRO v3», «Хлебные крошки в Speedbar + RDFa», «User Hide News».
  • Поддержка JavaScript Chosen для стилизации элемента SELECT.
  • Поддержка JavaScript Tail.Select для стилизации элемента SELECT.
  • Поддержка JavaScript Ion.RangeSlider для создания слайдера (ползунка).
  • Возможность скрывать и показывать нужные блоки в форме фильтра в зависимости от нужного значения другого элемента формы фильтра.
  • Возможность искать по всем полям новости.
  • Возможность в слайдере использовать дополнительные поля и рейтинг новости.
  • Человеко понятный урл, ЧПУ.
  • Кнопка сброса фильтра и результата поиска фильтра.
  • Множество параметров для поиска новостей.
  • Дополнительные теги для страницы фильтра.

Установка


Установка модуля еще никогда не была такой простой

Установка для DataLife Engine 13.0 и выше
  • Шаг первый

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

  • Шаг второй

    Загрузить файл dle-filter.license.php в папку /engine/lazydev/dle_filter/.

  • Шаг третий

    Установить через систему плагинов XML файл dle-filter.xml.

  • Шаг четвертый

    Перед тегом в main.tpl

    </body>
    Вставить
    <link href="{THEME}/lazydev/dle_filter/assets/style.filter.css" type="text/css" rel="stylesheet">
    <script src="{THEME}/lazydev/dle_filter/assets/script.filter.js"></script>
    <script src="/engine/lazydev/dle_filter/lib/dle_filter.js.php"></script>

  • Шаг пятый

    Откройте файл .htaccess после

    RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
    Вставить
    #DLE Filter
    RewriteRule ^tags/([^/]*)/f/(.*)(/?)$ index.php?do=dle_filter&tag=$1&filter_data=$2 [L]
    RewriteRule ^xfsearch/(.*)/f/(.*)(/?)$ index.php?do=dle_filter&xf=$1&filter_data=$2 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/f/(.*)(/?)$ index.php?do=dle_filter&cat=$1&filter_data=$2 [L]
    RewriteRule ^f/(.*)(/?)$ index.php?do=dle_filter&filter_data=$1 [L]

Установка для DataLife Engine 12.1 и ниже
  • Шаг первый

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

  • Шаг второй

    Загрузить файл dle-filter.license.php в папку /engine/lazydev/dle_filter/.

  • Шаг третий

    Откройте файл /engine/engine.php после

    switch ( $do ) {
    Вставить
    case 'dle_filter':
    	include ENGINE_DIR . '/lazydev/dle_filter/index.php';
    break;

  • Шаг четвертый

    Откройте файл /engine/modules/main.php перед

    echo $tpl->result['main'];
    Вставить
    include ENGINE_DIR . '/lazydev/dle_filter/lib/dle_filter.if.php';

  • Шаг пятый

    Выполнить файл dle_filter.install.php

  • Шаг шестой

    Перед тегом в main.tpl

    </body>
    Вставить
    <link href="{THEME}/lazydev/dle_filter/assets/style.filter.css" type="text/css" rel="stylesheet">
    <script src="{THEME}/lazydev/dle_filter/assets/script.filter.js"></script>
    <script src="/engine/lazydev/dle_filter/lib/dle_filter.js.php"></script>

  • Шаг седьмой

    Откройте файл .htaccess после

    RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]
    Вставить
    #DLE Filter
    RewriteRule ^tags/([^/]*)/f/(.*)(/?)$ index.php?do=dle_filter&tag=$1&filter_data=$2 [L]
    RewriteRule ^xfsearch/(.*)/f/(.*)(/?)$ index.php?do=dle_filter&xf=$1&filter_data=$2 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/f/(.*)(/?)$ index.php?do=dle_filter&cat=$1&filter_data=$2 [L]
    RewriteRule ^f/(.*)(/?)$ index.php?do=dle_filter&filter_data=$1 [L]

Как работать с фильтром


Инструкция по настройке формы фильтра

Форма фильтра имеет следующий каркас
<form data-dlefilter="dle-filter">

	<input type="button" data-dlefilter="submit" value="Поиск">
	<input type="button" data-dlefilter="reset" value="Очистить">
</form>
Все элементы формы задаються внутри этого каркаса. В нем настраиваються параметры фильтра и внешний вид вашей формы.
Перечисление элементов формы
<input name="PARAM" value="VALUE" type="text"> - Текстовое поле
<input name="PARAM" value="VALUE" type="checkbox"> - Флажки
<input name="PARAM" value="VALUE" type="radio"> - Переключатели

<select name="PARAM"> - Выпадающий одиночный список
	<option value="VALUE">Раз</option>
	<option value="VALUE">Два</option>
	<option value="VALUE">Три</option>
</select>

<select name="PARAM" multiple> - Выпадающий мульти-список
	<option value="VALUE">Раз</option>
	<option value="VALUE">Два</option>
	<option value="VALUE">Три</option>
</select>
Все эти элементы вы можете оформлять как угодно и стилизировать любыми js скриптами.
Как видно из перечисленых выше элементов формы, для того что бы работал верно фильтр, нужно указывать параметры и значения (для текстового поля задавать значение не обязательно, лишь в том случае если нужно что бы оно было по-умолчанию).

Список параметров:
  1. Название дополнительного поля на латинице - В параметр передаеться название дополнительного поля.

    Посмотреть примеры

  2. sort - Этот параметр служит по какой ячейке сортировать новости, параметр принимает следующие значения (value):
    1. date - Дата добавления новости.
    2. editdate - Дата редактирования новости.
    3. title - Название новости.
    4. comm_num - Количество комментариев.
    5. news_read - Количество просмотров.
    6. rating - Рейтинг новости.
    7. autor - Автор новости.
    8. Название дополнительного поля на латинице - Для сортировки по дополнительному полю.
    9. d.Название дополнительного поля на латинице - Для сортировки по числовым данным дополнительного поля.
    Кроме того можно задавать как именно сортировать по выбранному полю (по убыванию или по возростанию) через точку с запятой ;

    Посмотреть примеры

  3. order - Этот параметр служит для типа сортировки новостей, по-убыванию или по-возростанию, если в параметре sort вы этого не указали через точку с запятой. Параметр принимает следующие значения (value):
    1. asc - По возрастанию.
    2. desc - По убыванию.

    Посмотреть примеры

  4. cat - Этот параметр ищет новости строго по выбранным категориям, это значит если выбрать две или больше категорий то фильтр будет искать новости которые содержат все выбранные категории. Параметр принимает id категорий.

    Посмотреть примеры

  5. o.cat - Этот параметр ищет новости по выбранным категориям, отличие от параметра cat состоит в том, что фильтр будет искать новости которые содержат хотя бы одну из выбраных категорий. Параметр принимает id категорий.

    Посмотреть примеры

  6. p.cat - Этот параметр ищет новости по родительськой категории. Это значит что id родительськой категории и все ее подкатегории будут автоматически включены в выборку новостей. Параметр принимает id родительських категорий.

    Посмотреть примеры

  7. l.X - Этот параметр ищет новости по указаной ячейке (вместо X подставляете название ячейки) с таблицы _post и _post_extras используя неточный поиск. Параметр принимает следующие значения (X):
    1. id - ID новости [ Принимает числовое значение ].
    2. autor - Автор новости.
    3. date - Дата добавления.
    4. short_story - Краткая новость.
    5. full_story - Полная новость.
    6. title - Заголовок новости.
    7. descr - Мета Description.
    8. keywords - Мета Keywords.
    9. comm_num - Количество комментариев [ Принимает числовое значение ].
    10. allow_comm - Разрешены комментарии [ Принимает значение 1 - да, 0 - нет ].
    11. allow_main - Показ новости на главной [ Принимает значение 1 - да, 0 - нет ].
    12. approve - Прошла модерацию новость [ Принимает значение 1 - да, 0 - нет ].
    13. fixed - Зафиксирована новость [ Принимает значение 1 - да, 0 - нет ].
    14. symbol - Символ.
    15. tags - Теги.
    16. metatitle - Мета Title.
    17. news_read - Количество просмотров новости [ Принимает числовое значение ].
    18. allow_rate - Разрешен рейтинг [ Принимает значение 1 - да, 0 - нет ].
    19. rating - Рейтинг [ Принимает числовое значение ].
    20. vote_num - Количество голосов [ Принимает числовое значение ].
    21. votes - Опрос в новости [ Принимает значение 1 - да, 0 - нет ].
    22. disable_index - Запрещено для индексации [ Принимает значение 1 - да, 0 - нет ].
    23. editor - Автор редактирования.
    24. reason - Причина редактирования.
    25. user_id - ID пользователя [ Принимает числовое значение ].
    26. disable_search - Запрещено для поиска [ Принимает значение 1 - да, 0 - нет ].

    Посмотреть примеры

  8. m.X - Этот параметр ищет новости по указаной ячейке (вместо X подставляете название ячейки) с таблицы _post и _post_extras используя регулярный поиск. Одним словом все тоже самое что и l.X параметр, только точнее и чуть медленей. Параметр принимает следующие значения (X):
    1. id - ID новости [ Принимает числовое значение ].
    2. autor - Автор новости.
    3. date - Дата добавления.
    4. short_story - Краткая новость.
    5. full_story - Полная новость.
    6. title - Заголовок новости.
    7. descr - Мета Description.
    8. keywords - Мета Keywords.
    9. comm_num - Количество комментариев [ Принимает числовое значение ].
    10. allow_comm - Разрешены комментарии [ Принимает значение 1 - да, 0 - нет ].
    11. allow_main - Показ новости на главной [ Принимает значение 1 - да, 0 - нет ].
    12. approve - Прошла модерацию новость [ Принимает значение 1 - да, 0 - нет ].
    13. fixed - Зафиксирована новость [ Принимает значение 1 - да, 0 - нет ].
    14. symbol - Символ.
    15. tags - Теги.
    16. metatitle - Мета Title.
    17. news_read - Количество просмотров новости [ Принимает числовое значение ].
    18. allow_rate - Разрешен рейтинг [ Принимает значение 1 - да, 0 - нет ].
    19. rating - Рейтинг [ Принимает числовое значение ].
    20. vote_num - Количество голосов [ Принимает числовое значение ].
    21. votes - Опрос в новости [ Принимает значение 1 - да, 0 - нет ].
    22. disable_index - Запрещено для индексации [ Принимает значение 1 - да, 0 - нет ].
    23. editor - Автор редактирования.
    24. reason - Причина редактирования.
    25. user_id - ID пользователя [ Принимает числовое значение ].
    26. disable_search - Запрещено для поиска [ Принимает значение 1 - да, 0 - нет ].

    Посмотреть примеры

  9. s.X - Этот параметр ищет новости по указаной ячейке (вместо X подставляете название ячейки) с таблицы _post и _post_extras используя сопоставление данных как равно. Параметр не подходит к ячейкам которые содержат несколько данных которые перечислены через запятую или другой символ. Параметр подходит для одиночного поиска. Параметр принимает следующие значения (X):
    1. id - ID новости [ Принимает числовое значение ].
    2. autor - Автор новости.
    3. date - Дата добавления.
    4. short_story - Краткая новость.
    5. full_story - Полная новость.
    6. title - Заголовок новости.
    7. descr - Мета Description.
    8. keywords - Мета Keywords.
    9. comm_num - Количество комментариев [ Принимает числовое значение ].
    10. allow_comm - Разрешены комментарии [ Принимает значение 1 - да, 0 - нет ].
    11. allow_main - Показ новости на главной [ Принимает значение 1 - да, 0 - нет ].
    12. approve - Прошла модерацию новость [ Принимает значение 1 - да, 0 - нет ].
    13. fixed - Зафиксирована новость [ Принимает значение 1 - да, 0 - нет ].
    14. symbol - Символ.
    15. tags - Теги.
    16. metatitle - Мета Title.
    17. news_read - Количество просмотров новости [ Принимает числовое значение ].
    18. allow_rate - Разрешен рейтинг [ Принимает значение 1 - да, 0 - нет ].
    19. rating - Рейтинг [ Принимает числовое значение ].
    20. vote_num - Количество голосов [ Принимает числовое значение ].
    21. votes - Опрос в новости [ Принимает значение 1 - да, 0 - нет ].
    22. disable_index - Запрещено для индексации [ Принимает значение 1 - да, 0 - нет ].
    23. editor - Автор редактирования.
    24. reason - Причина редактирования.
    25. user_id - ID пользователя [ Принимает числовое значение ].
    26. disable_search - Запрещено для поиска [ Принимает значение 1 - да, 0 - нет ].

    Посмотреть примеры

  10. f.X - Этот параметр служит для выборки по диапазону ОТ по дополнительному полю, где X - название дополнительного поля на латинице. Параметр принимает только числовые значения.

    Посмотреть примеры

  11. t.X - Этот параметр служит для выборки по диапазону ДО по дополнительному полю, где X - название дополнительного поля на латинице. Параметр принимает только числовые значения.

    Посмотреть примеры

  12. r.X - Этот параметр служит для работы слайдера, где X - название дополнительного поля на латинице или rating для рейтинга новости.

    Посмотреть примеры

  13. j. - Этот параметр служит для объединения нескольких ячеек в одну и поиск по соединеным данным.

    Посмотреть примеры

  14. g.X - Этот параметр проверяет дополнительное поле на наличие данных, где X - название дополнительного поля на латинице. Будут показаны новости у которых указанное дополнительное поле не пустое.

    Посмотреть примеры

  15. e.X - Этот параметр проверяет дополнительное поле на наличие данных, где X - название дополнительного поля на латинице. Будут показаны новости у которых указанное дополнительное поле пустое.

    Посмотреть примеры

  16. v.X - Этот параметр проверяет дополнительное поле на наличие данных, где X - название дополнительного поля на латинице. Будут показаны новости у которых указанное дополнительное не содержит указанное значение.

    Посмотреть примеры

  17. b.X - Этот параметр ищет новости строго по значению дополнительного поля, где X - название дополнительного поля на латинице. Отлично подходит для дополнительных полей которые хранят только одно значение.

    Посмотреть примеры

  18. n. - Этот параметр изменяет поиск других параметров с ИЛИ на И.
    Поддерживаемые параметры
    1. l.
    2. s.
    3. m.
    4. Название дополнительного поля на латинице

    Посмотреть примеры

SEO оптимизация фильтра


Инструкция по работе с SEO оптимизацией страниц фильтра

Файл отвечающий за SEO оптимизацию находиться в /templates/Ваш шаблон/lazydev/dle_filter/seo.tpl

Внутри этого файла доступны 4 основных тега:

  1. [meta-title] Данные [/meta-title] - тег отвечает за Мета-тег Title на странице фильтра. Все данные внутри него будут показаны в Мета-тег Title.
  2. [meta-description] Данные [/meta-description] - тег отвечает за Мета-тег Description на странице фильтра. Все данные внутри него будут показаны в Мета-тег Description.
  3. [meta-keywords] Данные [/meta-keywords] - тег отвечает за Мета-тег Keywords на странице фильтра. Все данные внутри него будут показаны в Мета-тег Keywords.
  4. [meta-speedbar] Данные [/meta-speedbar] - тег отвечает за Хлебные крошки (speedbar) на странице фильтра. Все данные внутри него будут показаны в Хлебных крошках (speedbar).
Внутрь этих тегов вы вписываете условия или теги вывода данных из фильтра.
Теги фильтра:

  1. [name] {name} [/name] - выведет значения выбранные с фильтра, где name это ваши данные из name параметра элемента формы.
  2. {name-from} - выведет начало полузнка слайдера, где name это ваши данные из name параметра элемента формы.
  3. {name-to} - выведет конец полузнка слайдера, где name это ваши данные из name параметра элемента формы.

Условия фильтра:

[filter name=текст]Выбранное значение равно указанному тексту[/filter]
[filter name!=текст]Выбранное значение не равно указанному тексту[/filter]
[filter name==текст,текст2]Выбранное значение имеет текст и текст2[/filter]
[filter name!==текст,текст2]Выбранное значение не имеет текст и текст2[/filter]
[filter name>100]Выбранное значение строго больше 100[/filter]
[filter name>=55]Выбранное значение больше либо равно 55[/filter]
[filter name<300]Выбранное значение строго меньше 300[/filter]
[filter name<=444]Выбранное значение меньше или равно 444[/filter]
[filter name~кофе]В выбранном значении встречается слово кофе[/filter]
[filter name!~кофе]В выбранном значении НЕ встречается слово кофе[/filter]
[filter r.name.from>100]Первый ползунок слайдера выбран больше 100[/filter]
[filter r.name.to<300]Второй ползунок слайдера выбран меньше 300[/filter]
[filter ...] текст [elif ...] текст [/elif][else] текст [/filter]
Вложенные условия:

[filter name=new]
	Новая 
	[filter1 name>50 || name>1000]
		популярная 
		[else1]
		не популярная 
	[/filter1]
	новость
[/filter]
В условиях вы можете использовать логические операторы И (&&) и ИЛИ (||). Пример:
[filter r.sell.from>1000 || r.rating.from>50 && name=new]Продаваемый товар![/filter]

Вывод информации на странице фильтра


Инструкция по работе с выводом информации на странице фильтра

В любом tpl файле вашего шаблона доступны следующие теги:
[not-filter-NAME] любой текст [/not-filter-NAME] - выведет текст на странице фильтра если указанный NAME параметр не выбран в форме фильтре.
[filter-NAME] любой текст [/filter-NAME] - выведет текст на странице фильтра если указанный NAME параметр выбран в форме фильтре.
{filter-NAME} - выведет выбранные данные NAME параметра.
[filter name=текст]Выбранное значение равно указанному тексту[/filter]
[filter name!=текст]Выбранное значение не равно указанному тексту[/filter]
[filter name==текст,текст2]Выбранное значение имеет текст и текст2[/filter]
[filter name!==текст,текст2]Выбранное значение не имеет текст и текст2[/filter]
[filter name>100]Выбранное значение строго больше 100[/filter]
[filter name>=55]Выбранное значение больше либо равно 55[/filter]
[filter name<300]Выбранное значение строго меньше 300[/filter]
[filter name<=444]Выбранное значение меньше или равно 444[/filter]
[filter name~кофе]В выбранном значении встречается слово кофе[/filter]
[filter name!~кофе]В выбранном значении НЕ встречается слово кофе[/filter]
[filter r.name.from>100]Первый ползунок слайдера выбран больше 100[/filter]
[filter r.name.to<300]Второй ползунок слайдера выбран меньше 300[/filter]
[filter ...] текст [elif ...] текст [/elif][else] текст [/filter]

Работа с Tail.Select


Инструкция по работе с Tail.Select

Tail.Select работает только с элементом select.
Параметры Tail.Select задаются в атрибуте data-select-config="".
Ни один из параметров настроек в data-select-config не являеться обязательным. Вы можете не прописывать атрибут data-select-config если ни одна из настроек вам не нужна.
Параметры Tail.Select разделяются точкой с запятой а значение параметра через двоеточие.
Пример:
<select data-select-config="Поиск;Скрыть выбранные;Вывод выбранных;Сортировать:ASC" name="cat">
	<option value="">Любая категория</option>
	<option value="1">Заготовки</option>
	<option value="3">Выпечка и десерты</option>
	<option value="7">Основные блюда</option>
	<option value="4">Завтраки</option>
	<option value="5">Салаты</option>
	<option value="11">Супы</option>
	<option value="12">Закуски</option>
	<option value="13">Напитки</option>
</select>

Перечень всех настроек Tail.Select
Параметр Значение Описание
Поиск - Включает возможность искать в выпадающем списке.
Скрыть выбранные - Скрывает в выпадающем списке выбранные данные.
Максимум выбрать число Задает количество максимального выбора значений в выпадающем списке.
Показать количество выбранных - Показывает сколько пользователь выбрал значений в выпадающем списке. Не работает с параметром Вывод выбранных
Вывод выбранных - Показывает выбранные данные. Не работает с параметром Показать количество выбранных
Подсказка текст Задает подсказку для выпающего списка (placeholder).
Сортировать ASC - По возрастанию
DESC - По убыванию
Сортирует значения в выпадающем списке.

Работа с скрытием и показом блоков


Инструкция как скрывать и показывать нужные блоки при выбраном значении

Для того что бы скрыть элемент нужно прописать к нужному блоку data-dlefilter-hide="NAME", где NAME название параметра скрываемого элемента формы.

Для того что бы после выбора нужного значения показывало скрытый блок нужно прописать data-dlefilter-show="NAME:value,value2" для нужного элемента формы, где NAME название параметра скрываемого элемента формы, а value и value2 это при каких значениях показывать блок.

Вы можете указывать несколько скрываемых блоков через точку с запятой. Наглядней в примере.

Посмотреть пример

Обновление на версию DLE Filter 1.1.2


Инструкция по обновлению на новую версию

  • Шаг первый

    Замените все файлы и папки в папке /engine/lazydev/dle_filter кроме файла /engine/lazydev/dle_filter/data/config.php

Обновление с Field Search на DLE Filter


Инструкция по обновлению на новую версию

  • Шаг первый

    Откройте файл /engine/modules/main.php найдите и удалите

    include ENGINE_DIR . '/mod_punpun/field_search/site/field_search_text.php';

  • Шаг второй

    Откройте файл main.tpl вашего шаблона, найдите и удалите

    <link rel="stylesheet" href="{THEME}/mod_punpun/field_search/style/ion.rangeSlider.css">
    <link rel="stylesheet" href="{THEME}/mod_punpun/field_search/style/ion.rangeSlider.skinFlat.css">
    Потом найдите и удалите
    <script src="{THEME}/mod_punpun/field_search/js/ion.rangeSlider.js"></script>
    [aviable=filter]<script src="{THEME}/mod_punpun/field_search/js/field_search.js"></script>[/aviable]
    <script src="{THEME}/mod_punpun/field_search/js/main_field.js"></script>

  • Шаг третий

    Откройте файл /engine/engine.php найдите и удалите

    if($get_filter) $s_navigation .= " {$config['speedbar_separator']} " . $get_filter;
    Потом найдите и удалите
    elseif ($do == 'filter') $get_filter = $speedbar;
    Потом найдите и удалите
    case "filter" :
    	include ENGINE_DIR . '/mod_punpun/field_search/site/field_search.php';
    break;

  • Шаг четвертый

    Откройте файл .htaccess найдите и удалите

    #Field Search v7.0
    RewriteRule ^tags/([^/]*)/f/(.*)/page/([0-9]+)(/?)$ index.php?do=filter&tag=$1&form_field=$2&cstart=$3 [L]
    RewriteRule ^tags/([^/]*)/f/(.*)(/?)$ index.php?do=filter&tag=$1&form_field=$2 [L]
    RewriteRule ^xfsearch/(.*)/f/(.*)/page/([0-9]+)(/?)+$ index.php?do=filter&xf=$1&form_field=$2&cstart=$3 [L]
    RewriteRule ^xfsearch/(.*)/f/(.*)(/?)$ index.php?do=filter&xf=$1&form_field=$2 [L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)/f/(.*)/page/([0-9]+)(/?)$ index.php?do=filter&cat_filter=$1&form_field=$2&cstart=$3 [L]
    RewriteRule ^([^.]+)/f/(.*)(/?)$ index.php?do=filter&cat_filter=$1&form_field=$2 [L]
    RewriteRule ^f/(.*)/page/([0-9]+)(/?)$ index.php?do=filter&form_field=$1&cstart=$2 [L]
    RewriteRule ^f/(.*)(/?)$ index.php?do=filter&form_field=$1 [L]
    Если у вас NGINX система главная, то в своем nginx.conf найдите и удалите правила
    rewrite "^/tags/([^/]*)/f/(.*)/page/([0-9]+)(/?)+$" /index.php?do=filter&tag=$1&form_field=$2&cstart=$3 last;
    rewrite "^/tags/([^/]*)/f/(.*)(/?)+$" /index.php?do=filter&tag=$1&form_field=$2 last;
    rewrite "^/xfsearch/(.*)/f/(.*)/page/([0-9]+)(/?)+$" /index.php?do=filter&xf=$1&form_field=$2&cstart=$3 last;
    rewrite "^/xfsearch/(.*)/f/(.*)(/?)+$" /index.php?do=filter&xf=$1&form_field=$2 last;
    if (!-d $request_filename) {
    	rewrite "^/([^.]+)/f/(.*)/page/([0-9]+)(/?)+$" /index.php?do=filter&cat_filter=$1&form_field=$2&cstart=$3 last;
    	rewrite "^/([^.]+)/f/(.*)(/?)+$" /index.php?do=filter&cat_filter=$1&form_field=$2 last;
    }
    rewrite "^/f/(.*)/page/([0-9]+)(/?)+$" /index.php?do=filter&form_field=$1&cstart=$2 last;
    rewrite "^/f/(.*)(/?)+$" /index.php?do=filter&form_field=$1 last;

  • Шаг пятый

    Удалите папку /engine/mod_punpun/field_search

  • Шаг шестой

    Проследуйте установке модуля в инструкции.

Обновление параметров в форме фильтра с Field Search на DLE Filter


Инструкция обновлению параметров в форме фильтра

Старый параметр Новый параметр Описание
order_by sort Этот параметр служит по какой ячейке сортировать новости.
order_by_one sort Этот параметр служит по какой ячейке сортировать новости и каким образом.
ocat o.cat Этот параметр ищет новости по выбранным категориям.
a.cat p.cat Этот параметр ищет новости по родительськой категории.
from- f. Этот параметр служит для выборки по диапазону ОТ по дополнительному полю.
to- t. Этот параметр служит для выборки по диапазону ДО по дополнительному полю.
r- r. Этот параметр служит для работы слайдера.
n- g. Этот параметр проверяет дополнительное поле на наличие данных и выводит новости у которых указанное дополнительное поле не пустое.
e- e. Этот параметр проверяет дополнительное поле на наличие данных и выводит новости у которых указанное дополнительное поле пустое.
k- v. Этот параметр проверяет дополнительное поле на наличие данных и выводит новости у которых указанное дополнительное не содержит указанное значение.
equally- b. Этот параметр ищет новости строго по значению дополнительного поля.
t- j. Этот параметр служит для объединения нескольких ячеек в одну и поиск по соединеным данным.

Правила для Nginx


Список правил ЧПУ для NGINX

rewrite "^/tags/([^/]*)/f/(.*)(/?)+$" /index.php?do=dle_filter&tag=$1&filter_data=$2 last;
rewrite "^/xfsearch/(.*)/f/(.*)(/?)+$" /index.php?do=dle_filter&xf=$1&filter_data=$2 last;
if (!-d $request_filename) {
	rewrite "^/([^.]+)/f/(.*)(/?)+$" /index.php?do=dle_filter&cat=$1&filter_data=$2 last;
}
rewrite "^/f/(.*)(/?)+$" /index.php?do=dle_filter&filter_data=$1 last;