Расширенный вариант Быстрого поиска в DLE 9.0
С выходом 9-й версии Datalife Engine появилась возможность использовать поиск с автозаполнением, в админпанели DLE этот пункт в настройках называется "Быстрый поиск", поиск работает благодаря библиотеке jQuery. Присутствует также возможность его отключения. Данный вариант "улучшенного поиска" известен довольно давно и широко применяется, пионером в использовании стала компания Google.
Итак, данная возможность не может не радовать нас, простых пользователей системы. Так что же с ним не так? Проблема заключается в том, что помимо функции включения/выключения никаких настроек внешнего вида больше нет. Т.е. результаты такого поиска не вынесены в шаблон, можно разве что изменить цветовую гамму и размеры при помощи CSS.
Далее стандартный вариант будет переработан в расширенный. Наша главная задача - сделать результаты поиска настраиваемыми через файл шаблона. В результате мы получим сам изменённый файл, доступный для скачивания, и два файла шаблона, отредактировав которые можно изменить внешний вид результатов.
Итак, ссылка на сам файл расширенного варита поиска вы сможете найти в конце статьи. Далее мы рассмотрим варианты насройки внешнего вида и параметров поиска, точнее расскажем что и где нужно менять.
Настройка внешнего вида поиска
В новом варианте используются два файла шаблона - ss.main.tpl и ss.result.tpl (ss - suggest search), рассмотрим теги используемые в каждом из них.
ss.result.tpl - отвечает за оформление каждой короткой новости в результатах поиска, далее используемые теги:
{title} - выводит заголовок новости
{description} - выводит описание новости
[full-link][/full-link] - ссылка на саму новость, по аналогии с shortstory.tpl
ss.main.tpl - файл, в который выводятся результаты поиска, далее используемые теги:
[results]{results}[/results] - выводятся результаты поиска, если есть хотя бы одно совпадение
[not-results][/not-results] - выводит текст, если нет результатов
{query} - фразу, вводимую для поиска
Дефолтные настройки CSS содержатся в engine.css шаблона в блоке "Быстрый поиск на сайте"
Настройки параметров поиска
В обновлённом файле engine/ajax/search.php в начало вынесены несколько настроек:
$news_limit - максимальное кол-во новостей в результатах поиска
$title_length - максимальная длина заголовка новости
$descr_length - максимальная длина описания новости
Если хотите ограничить возможность использования "быстрого поиска" у определённых групп, нужно сделать следующее:
В файле index.php строку:
if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search']) {
Нужно заменить на строки:
$fast_search_group = "1,2,3,4,5";
$fast_search_group = explode(",", $fast_search_group);
if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search'] AND in_array($member_id['user_group'], $fast_search_group)) {
где 1,2,3,4,5 - ID групп, их можно посмотреть в админпанели.
DLE: 9.0
Источник: dlestore.ru
Забрать бесплатно Расширенный вариант Быстрого поиска в DLE 9.0