Поиск на сайте 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)

  1. Amsterdam:
    29 Jun 2017г. в 17:19

    При указании docFields ищет почему то все равно везде. почему так..

  2. admincms:
    29 Jun 2017г. в 17:50

    Возможно пишите для SimpleSearchForm, нужно для SimpleSearch. Все работает.

  3. Amsterdam:
    29 Jun 2017г. в 18:06

    Тьфу, действительно, писал для SimpleSearchForm. Спасибо!

  4. Amsterdam:
    29 Jun 2017г. в 18:27

    А на засыпку - можно как то сделать, что бы находились слова в склонениях? Например, "электрика" и "электрики", в одном поиске не находит. Стиль поиска стоит partial, но все равно..

  5. admincms:
    30 Jun 2017г. в 11:10

    Это уже морфологический поиск. Используйте msearch или msearch2.

  6. Алексей:
    12 May 2018г. в 18:26

    Подскажите, можно ли этим проиндексировать товары в таблице MIGXdb?

  7. Сергей:
    31 May 2020г. в 16:08

    Подскажите, пожалуйста, как сделать так, чтобы в результатах поиска выводились посты из всех категорий но не выводились сами категории?



Разрешённые теги: <b><i><br>Добавить новый комментарий:


Создание сайтов в студии go-up.info