Как ограничить поиск в SimpleSearch?

В MODX SimpleSearch компонент используется для создания поисковой функциональности на вашем сайте. Он предоставляет возможность пользователям искать информацию по заданным критериям. Ограничение поиска в SimpleSearch можно настроить различными способами, в зависимости от ваших потребностей.

Одним из наиболее распространенных способов ограничения поиска является использование параметров "includeTVs" (включить дополнительные поля) и "processTVs" (обрабатывать дополнительные поля) при вызове сниппета SimpleSearch.

Параметр "includeTVs" позволяет задать список дополнительных полей, которые будут включены в поиск. Например, если вам нужно искать только в поле "pagetitle", вы можете установить значение параметра "includeTVs" равным пустой строке.

Параметр "processTVs" позволяет задать список дополнительных полей, которые будут обработаны перед поиском. Это может быть полезно, если вам нужно нормализовать данные в дополнительных полях перед поиском. Например, вы можете привести все символы к нижнему регистру, чтобы поиск был регистронезависимым.

// Пример вызова сниппета SimpleSearch с ограничением поиска по полю "pagetitle"
[[!SimpleSearch? &includeTVs=pagetitle &processTVs=pagetitle]]

В дополнение к этому, вы можете использовать различные селекторы для более точного ограничения поиска. Например, вы можете использовать параметр "where" для указания условий поиска. Этот параметр принимает строку SQL-подобного формата, которая позволяет задать сложные условия для поиска.

// Пример вызова сниппета SimpleSearch с ограничением поиска по определенным страницам
[[!SimpleSearch? &where={"OR":[{"template:=":1},{"template:=":2}]}]]

В этом примере поиск будет ограничен только на страницах, которые используют шаблоны с идентификаторами 1 или 2.

Также можно использовать параметры "parents" и "depth" для ограничения поиска только к определенным родителям страниц и их глубине.

// Пример вызова сниппета SimpleSearch с ограничением поиска к родителям страниц {1,2}
[[!SimpleSearch? &parents=1,2 &depth=1]]

В этом примере поиск будет ограничен только к страницам, которые являются прямыми детьми страниц с идентификаторами 1 и 2, на глубине 1.

Надеюсь, эти примеры помогут вам ограничить поиск в SimpleSearch и достичь нужного результата.