Результаты поиска
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Страница результатов поиска — это обычная страница сайта, которая принимает поисковый запрос и выводит найденные страницы. Поиск по сайту состоит из двух частей: блока формы поиска, который отправляет запрос, и страницы результатов, которая его обрабатывает.
Сценарий нужен сайтам с большим числом страниц. Штатные блоки формы поиска рассчитаны на базы знаний — сайты типов knowledge и group. На обычном сайте или в магазине блок формы собирают свой: разметку и подтип берут из штатного блока.
Отдельного подтипа у страницы результатов нет. Ее собирают из обычных блоков, у которых включены динамические карточки, а подтип search указывают в блоке формы, а не здесь.
Как запрос попадает на страницу результатов
Форма поиска — это тег <form> с текстовым полем q. В атрибуте action формы записана ссылка на страницу результатов, поэтому при отправке браузер открывает эту страницу и передает запрос в параметре q:
https://example.bitrix24.site/search-result/?q=договор
Такую ссылку можно открыть и напрямую, без формы: страница результатов читает параметр q из адреса. Значение запроса браузер кодирует, поэтому в адресной строке кириллица будет выглядеть как %D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80.
Сама страница ничего не ищет. Поиск выполняет блок с динамическими карточками: он читает запрос и подставляет в карточки найденные страницы сайта. Поэтому на странице обязательно должен быть хотя бы один такой блок.
Что такое динамические карточки
Динамические карточки — это режим блока, в котором его карточки заполняются не вручную, а данными из выбранного источника. Режим включают в настройках блока на странице результатов, там же выбирают источник.
Для поиска нужен источник, который в интерфейсе называется «Страницы сайта», а в параметрах блока записан кодом landing:landing. Источник подставляет в карточки страницы текущего сайта, подходящие под запрос, а настройки задают порядок сортировки и число страниц на выдаче.
Чтобы блок поддерживал этот режим, в его манифесте должен быть описан атрибут типа dynamic_source. Поля такого атрибута перечислены в статье Атрибуты.
Отдельного метода для настройки динамических карточек в REST нет: режим и источник задают в редакторе Битрикс24. Текущие параметры источника у блока возвращает landing.block.getcontent в поле dynamicParams.
Как настроить поиск по сайту
-
Добавьте на страницу блок формы поиска, например штатный блок
59.1.search. Настройка формы описана в статье Формы поиска. -
Получите страницу результатов:
- если в манифесте блока формы задан
subtype_params.resultPage, система найдет или создаст страницу сама при добавлении блока и запишет ссылку на нее в атрибутactionформы - если
resultPageне задан, создайте страницу заранее методом landing.landing.add и укажите ее в настройках формы вручную
- если в манифесте блока формы задан
-
Настройте вывод на странице результатов: включите у блока динамические карточки и выберите источник «Страницы сайта». Без этого страница откроется, но найденные страницы на ней не появятся.
-
Опубликуйте обе страницы методом landing.landing.publication: черновик посетителям недоступен.
Проверить результат можно по адресу страницы результатов с параметром q: на опубликованной странице в карточках блока появятся найденные страницы сайта.
Штатные шаблоны страницы результатов
Страницу результатов система создает по шаблону. Штатных шаблонов три, каждый уже собран из блока формы, заголовка и блока с динамическими карточками:
|
Шаблон |
Что в нем |
Какой блок формы в нем стоит |
|
|
Светлый вариант: форма во всю ширину на фоновом изображении, ниже список результатов |
|
|
|
Светлый вариант с формой в сайдбаре |
|
|
|
Темный вариант с заголовком раздела над формой |
|
Шаблон подключают кодом из первой колонки: его указывают в subtype_params.resultPage манифеста своего блока формы. Посмотреть манифест штатного блока и узнать, какой шаблон в нем задан, можно методом landing.block.getmanifestfile, передав код блока.
Права и ограничения
Scope:
landingКто может выполнять метод: в зависимости от метода
Ограничения:
- поиск ищет страницы текущего сайта. Другие объекты Битрикс24 через этот сценарий не находятся
- страницу результатов система создает по шаблону только при добавлении блока формы. Для блоков, которые уже стоят на странице, подстановка не повторяется
- при переносе конфигурации сайта между Битрикс24 страница результатов не создается: подготовка манифеста формы в этом режиме не выполняется