Поиск на сайте MODx - SimpleSearch
Пакет для поиска на сайте — SimpleSearch настраиваем его.
Форма поиска, где в landing вставляем ID страницы вывода результатов поиска:
[ [!SimpleSearchForm? &landing=`123`]]
На страницу результатов поиска вставляем:
[ [!SimpleSearch]]
Можно использовать более сложную конструкцию:
[ [!SimpleSearchForm? &landing=`1` &tpl=`form_tpl`]]
В чанк form_tpl вставляем содержимое файла core/components/simplesearch/elements/chunks/searchform.chunk.tpl и дорабатываем шаблон так, как нам необходимо.
Вот код этого чанка на всякий случай:
<form class="sisea-search-form" action="[ [~[ [+landing]]]]" method="[ [+method]]">
<fieldset>
<label for="[ [+searchIndex]]">[ [%sisea.search? &namespace=`sisea` &topic=`default`]]</label>
<input type="text" name="[ [+searchIndex]]" id="[ [+searchIndex]]" value="[ [+searchValue]]" />
<input type="hidden" name="id" value="[ [+landing]]" />
<input type="submit" value="[ [%sisea.search? &namespace=`sisea` &topic=`default`]]" />
</fieldset>
</form>
Основные параметры и чанки SimpleSearch
чанки:
- tpl - вывод каждого отдельного пункта результата поиска
- containerTpl - отвечает за обертку всех результатов поиска
- pageTpl - отвечает за вывод отдельной кнопки страницы пагинации
- currentPageTpl - для управления кнопкой в пагинации активной страницы
- noResultsTpl - когда нет результатов поиска
Параметры:
- depth - глубина поиска (стандартно - 10)
- hideMenu - скрыть или показать ресурсы, с галочкой- не показывать в меню (0 -только видимые ресурсы, 1 - только скрытые, 2 - все показывает)
- docFields - области для поиска документов (pagetitle,longtitle,alias,description,introtext,content)
- perPage - количество результатов поиска на странице (стандартно 10)
- extractLength - кол-во символов для извлечения каждого результата поиска, обычно 200
- includeTVs - включить в поиск TV (если много тв, то замедляет поиск)
- pagingSeparator - какой сепаратор сипользовать для разделения плагинации, обычно - палочка
- ids - разделенный запятыми список идентификаторов документов, что бы искать только в них
- idType - оганичение для верхнего параметра - родители или дети (parents, documents)
- exclude - список id документов, через запятую, которые надо исключить для поиска
- contexts - контексты для поиска
- sortBy - разделенный запятыми список полей ресурсов для сортировки
- sortDir - разделенный запятыми список направлений (кол-во должно совпадать с кол-вом в верхнем параметре)
Комментарии (7)
Amsterdam:
29 Jun 2017г. в 17:19
При указании docFields ищет почему то все равно везде. почему так..
admincms:
29 Jun 2017г. в 17:50
Возможно пишите для SimpleSearchForm, нужно для SimpleSearch. Все работает.
Amsterdam:
29 Jun 2017г. в 18:06
Тьфу, действительно, писал для SimpleSearchForm. Спасибо!
Amsterdam:
29 Jun 2017г. в 18:27
А на засыпку - можно как то сделать, что бы находились слова в склонениях? Например, "электрика" и "электрики", в одном поиске не находит. Стиль поиска стоит partial, но все равно..
admincms:
30 Jun 2017г. в 11:10
Это уже морфологический поиск. Используйте msearch или msearch2.
Алексей:
12 May 2018г. в 18:26
Подскажите, можно ли этим проиндексировать товары в таблице MIGXdb?
Сергей:
31 May 2020г. в 16:08
Подскажите, пожалуйста, как сделать так, чтобы в результатах поиска выводились посты из всех категорий но не выводились сами категории?