Самый просто способ установки - использовать модуль Extras
в админке.
DocLister
content_with_tv
и content_with_tv_index
, а также нужных индексов производится автоматически при первом запуске индексации.onDocFormSave
.* Первая строка и количество строк за сеанс устанавливать в зависимости от возможностей хостинга. Например, первая строка 0 и строк за сеанс 10 000 проиндексирует в БД строки с 0 в количестве 10 000 штук.
Вывод результатов
[!evoSearch? &tpl=
evoSearch
!]
Чанк evoSearch
создается при установке дополнения.
Форма
<form action="2.html" method="get"><input name="search" type="text"><button type="submit"></button></form>
Обработка результатов на странице id=2
[!evoSearch?
&display=`16`
&paginate=`pages`
&statTpl= `<div class="srch_res_info">По запросу <b>[+stat_request+]</b> найдено <b>[+stat_total+]</b> документов.</div>`
&noResult=`<div class="srch_res_info">По запросу <u>[+stat_request+]</u> ничего не найдено. Смягчите условия поиска</div>`
&ownerTPL=`@CODE: <div class="srch_res">[+dl.wrap+] </div>`
&tpl=`@CODE:
<div class="srch_res_one">
<a href="[+url+]">[+title+]</a>
<div class="srch_ext">[+extract+]</div>
</div>
`
&TplNextP=`` &TplPrevP=`` &TplPage=`@CODE: <li><a href="[+link+]">[+num+]</a></li>` &TplCurrentPage=`@CODE: <li class="active"><a href="[+link+]">[+num+]</a></li>`&TplWrapPaginate=`@CODE: <div class="pagination"><ul>[+wrap+]</ul></div>`
!]
[+pages+]
evoSearch
- используется для индексирования результатов поиска. Индексируются поля pagetitle
, longtitle
,description
, introtext
, content
и указанные TV-параметры
. Требуемые TV
указываются в конфигруации плагина через админку в поле Имена TV для поиска через запятую. При использовании для построения списка возможных значений TV
сниппета multiParams
(из комплекта eFilter
) индексируются не id
ресурсов, а их заголовки.evoSearch
- используется для вывода результатов поиска. Может работать в двух режимах: использовать для вывода результатов DocLister
или возвращать список id
ресурсов (режим выбирается параметром &action='ids'
). В последнем случае генерируется и возвращается список id
ресурсов, подходящих под условия поиска. Эти данные могут использоваться в любом другом сниппете через плейсхолдер evoSearchIDs
, который содержим массив id
из результатов поиска.Для плагина требуется событие onDocFormSave
.
Параметры:
&offset=Первая строка переиндексации;text;0
&rowsperonce=Строк за сеанс индексировать;text;1
&reindex=Переиндексировать все;text;0
&excludeTmpls=Исключить шаблоны;text;
&excludeIDs=Исключить ID ресурсов;text;
&TvNames=Имена TV для поиска;text;
&unpublished=Индексировать неопубликованные;text;0
&deleted=Индексировать удаленные;text;0
&dicts=Использовать словари;text;rus,eng
Сниппет evoSearch
является оберткой для DocLister
, поэтому то он принимает все параметры DocLister
.
&action = ids - возвращает список найденных ids
, которые можно подставить в другой сниппет. По-умолчанию - отрабатывает полностью с выводом результатов
&noResult - шаблон строки, которая выводится при отсутствии результата поиска. Значение по-умолчанию:
&noResult = "По запросу <u>[+stat_request+]</u> ничего не найдено. Смягчите условия поиска")
&extract - отключить экстрактор. Формирует нужную часть текста с подсветкой из результатов поиска. Плейсхолдер [+extract+]
в чанке вывода результатов DocLister
. Значение по-умолчанию:
&extract = 1
&maxlength - максимальная длина извлекаемой части текста в результатах поиска. Значение по-умолчанию:
&maxlength = 350
&show_stat - показ статистики. Значение по-умолчанию:
&show_stat = 1
&statTpl - шаблон показа статистики. Значение по-умолчанию:
<div class="evoSearch_info">По запросу <b>[+stat_request+]</b> найдено всего <b>[+stat_total+]</b>. Показано <b>[+stat_display+]</b>, c [+stat_from+] по [+stat_to+]</div>
где
[+stat_request+]
- запрос из строки $_GET['search']
[+stat_total+]
- количество найденных документов[+stat_display+]
- показано на текущей странице с [+stat_from+]
по [+stat_to+]
&rel - релевантность поиска.по умолчанию 0.01, Чем выше цифра - тем более релевантные результаты и тем их меньше. Значение по-умолчанию:
&rel = 0.01
&search_field - поле $_GET
для запроса. По-умолчанию запрос ищется в $_GET['search']
.
&minlength - минимальная длина слова, которое будет участвовать в полнотекстовом поиске. Значение по-умолчанию:
&minlength = 2
подсветка найденных слов в pagetitle и extract в результатах поиска осуществляется тегом - т.е. возможна ее стилизация через css-файлы
pagetitle
и extract
в результатах поиска осуществляется тегом <span class="evoSearch_highlight">
. Возможна ее стилизация через css-файлы.DocLister
, что улучшает результаты. Особенно при их отстутствии в результате обычного поиска.DocLister
версии 1.4.1 и ниже, 1.4.8 и выше.$_GET
, из-за чего некорректно срабатывает обработка пустых результатов.