Этот сниппет отображает результаты поиска.
Просто поместите вызов сниппета туда, где хотите отобразить результаты поиска.
[[!AdvSearch]]
Указываем где искать и какие результаты получить.
Имя | Описание | По умолчанию |
contexts | Контекст для поиска. | web |
fields | Список полей доступных в результатах поиска. | pagetitle,longtitle,alias,description,introtext,content |
hideContainers | Обрабатывание ресурсов контейнеров(isContainers). 0 : учитываем документы контейнеры. 1 : исключаем документы контейнеры. | 0 |
hideMenu | Обрабатывание скрытых ресурсов (hidemenu). 0 : показываем только видимые ресурсы, 1 : показываем только скрытые ресурсы, 2 : отображаются все. | 2 |
ids | Id ресурсов по которым будет произведен поиск, id должны быть разделены запятыми. | |
parents | id ресурсов родителей разделенных запятыми, поиск будет происходит по вложенным ресурсам. | |
includeTVs | Разделенный запятыми список TV имен которые необходимо включить в результаты поиска. | |
queryHook | Название сниппета для изменения запроса. | |
withFields | Список полей по которым будет производиться поиск. | pagetitle,longtitle,alias,description,introtext,content |
withTVs | Список TV полей по которым будет производиться поиск. |
Сортировка и ограничение результатов поиска.
Имя | Описание | По умолчанию |
fieldPotency | Поле по которому призводится сортировка. | createdon |
perPage | Количество результатов поиска отображенных на странице. | 10 |
sortby | Направление и поле для сортировки, в виде "field [ASC]". | createdon DESC |
showExtract | Ищем повторения в определенных полях, повторения указываются в виде "1:content". Искомое слово ищется в связанных полях. | 1:content |
Стиль страницы результатов
Имя | Описание | По умолчанию |
containerTpl | Чанк, который будет использоваться, чтобы обернуть Все результаты поиска, нумерацию страниц и сообщений. | SearchResults |
tpl | Чанк, который будет использоваться для отображения содержимого каждого результата поиска. | AdvSearchResult |
pagingType | Тип пагинации. Тип 0 или 1 | 1 |
pageTpl | Чанк для вывода пагинации. | PageLink |
paging1Tpl | Чанк пагинации при типе 1 | Paging1 |
paging0Tpl | Чанк пагинации при типе 0 | Paging0 |
currentPageTpl | Чанк который используется для текущей пагинации. | CurrentPageLink |
pagingSeparator | Разделитель для вставки между ссылки пагинации | | |
extractEllipsis | Строка, используемая для обертывания каждой строки запроса. По умолчанию используется ... | ... |
extractLength | Длина строки результата поиска. | 200 |
extractTpl | Чанк для обертки каждого блока строки запроса. | Extract |
highlightClass | Имя CSS-класса для добавления к выделенному результату поиска. | advsea-highlight |
highlightResults | Стоит ли выделять искомое слово в результатах. | 1 |
highlightTag | HTML-тег для обертки найденных слов в результатах поиска. | span |
placeholderPrefix | Префикс глобального плейсхолдера. | span |
toPlaceholder | Префикс глобального плейсхолдера. | Замена плейсхолдера для вывода |
Создаем свой собственный поиск
Имя | Описание | По умолчанию |
asId | Уникальный идентификатор для экземпляра AdvSearch. Любая комбинация символов от A до Z, знак подчеркивания и цифры 0-9. Чувствителен в регистру. | as0 |
engine | Система поиска ('mysql' , 'zend' or 'all'). | mysql |
init | Показываем все результаты или нет при первой загрузке страницы поиска ('all' or 'none'). | none |
maxWords | Максимальное количество слов, которые необходимо включить в поиск. | 20 |
method | Метод для организации запроса POST or GET. | GET |
minChars | Минимальное количество символов строки для поиска. | 3 |
offsetIndex | Имя параметра запроса, для хранения пагинации. | offset |
output | Тип выхода. 'json' или 'HTML' json-вывод предоставляет результаты в виде json-объекта. | html |
searchIndex | Имя параметра запроса, слово по которому будем искать. | search |
urlScheme | Схема в которой будет возвращаться ссылки (-1, 0, 1, full, abs, http, https). | -1 |
Параметры для системных настроек.
Имя | Описание | По умолчанию |
docindexPath | путь до assets/files/ | docindex/ |
libraryPath | путь до папки где содержится Zend библиотека | libraries/ |
Некоторые чанки обрабатываются в AdvSearch. Они соответствуют параметрам AdvSearch:
В зависимости от типа пагинации:
Пагинация тип 1:
Пагинация тип 0:
Отображать результаты, но просто показывают их названия:
[[!AdvSearch? &showExtract=`0`]]
Отображаем все результаты, но только детей ресурса с идентификатором 15, скрываем ресурсы контейнеры и выделяем результаты тегом с 'strong':
[[!AdvSearch? &ids=`[[!GetIds? &ids=`c15`]]` &hideContainers=`1` &highlightTag=`strong`]]
Совершаем поиск по полю introtext и TV полю mytv. Запрашиваем поля для вывода pagetitle,introtext. Настраиваем поиск совпадений в поле 'introtext'. Показываем не более 2 совпадений в поле. И, наконец, устанавливаем вывод результатов в плейсхолдер 'results':
[[!AdvSearch? &withFields=`introtext` &withTVs=`mytv` &fields=`pagetitle,introtext` &showExtract=`2:introtext` &toPlaceholder=`results`]]