Автор: Maxim
09.04.2015

Search Field 5.0 (5.1) для DLE+пару дополнений


Модуль SearchFields 5.0 предназначен для поиска и фильтрации публикаций по значениям дополнительных полей, будь то одно доп.поле, несколько или отдельные.

Мои дополнения
При создании дополнительного поля у нас есть возможность подключить "Перекрёстные ссылки", что означает, что будет осуществлять поиск по этим ссылкам. Но, поиск не очень точный, он может вывести вам не то, что нужно. К примеру, в новости мы нажимаем на HDTV, которая в адресной ссылке будет отображаться как /xfsearch/HDTV, но на деле - нам будет показывать новости и других "П.С.". Я делал так, чтобы кликая в новости по этому тегу - можно будет искать ТОЛЬКО то, что нам нужно.
В общем, много слов, мало действий.
Начнём:
Открываем /engine/show.short.php
ищем
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";
						else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

меняем на
if( $config['allow_alt_url'] == "yes" ) $value3[] = "<a href=\"" . $config['http_home_url'] . "sf/news_sort_by:date/" . urlencode( $preg_safe_name ) . ":" . urlencode( $value2 ) . "/\" title=\"Поиск по " . $value2 . "\">" . $value2 . "</a>";
						else $value3[] = "<a href=\"$PHP_SELF?do=search_xf&loc=1&loc=1&news_sort_by=date&" . urlencode( $preg_safe_name ) . "=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";


Открываем /engine/show.full.php
ищем
if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" . urlencode( $value2 ) . "/\">" . $value2 . "</a>";
										else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";

меняем на
if( $config['allow_alt_url'] == "yes" ) $value3[] = "<a href=\"" . $config['http_home_url'] . "sf/news_sort_by:date/" . urlencode( $preg_safe_name ) . ":" . urlencode( $value2 ) . "/\" title=\"Поиск по " . $value2 . "\">" . $value2 . "</a>";
						else $value3[] = "<a href=\"$PHP_SELF?do=search_xf&loc=1&loc=1&news_sort_by=date&" . urlencode( $preg_safe_name ) . "=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";


Всё.

Создаём для этого статическую страницу и в "Использовать шаблон" прописываем xf_search. Всё. Шаблон настраиваем под себя.

Вот, недавно нашёл немного подправленный модуль.
Доработка: Ravchik
Чем-же отличается версия 5.1 от версии 5.0?

1. Модуль работает на новых версиях DLE 10.x
2. Исправлена проблема с навигацией при большом количестве результатов поиска
3. Добавлена AJAX-фильтрация, т.е. поиск происходит без перезагрузки страницы (при необходимости)
4. Добавлена подробная документация по установке и настройке модуля.



Возможности:
  • По ступенчатая фильтрация.
  • Поиск по каждому доп.полю.
  • Контроль каждого объекта и генерации формы привязки.
  • Самостоятельное добавление вариантов в блоки.
  • Кеширование формы.

Скачать



Комментарии

Оставьте свой отзыв, комментарий или даже вопрос на тему Search Field 5.0 (5.1) для DLE+пару дополнений