Перейти к содержанию

Количество результатов в поиске по новостям (Битрикс)

Инструкция
Как изменить количество результатов на странице поиска по новостям в 1С-Битрикс. Меняем параметр PAGE_RESULT_COUNT во вложенном компоненте поиска в шаблоне search.php комплексного компонента «Новости».

5 мин 39 Обновлено 22 июля Сложность: Базовая

TL;DR

  • Число результатов поиска задаёт параметр PAGE_RESULT_COUNT.
  • Он передаётся вложенному bitrix:search.page в файле search.php шаблона «Новостей».
  • Шаблон копируйте в /local/, а не правьте в /bitrix/.
  • В настройках bitrix:news должно быть включено «Разрешить поиск».
  • После правки сбросьте кэш компонента.

Комплексный компонент bitrix:news умеет искать по своим новостям, если включён параметр «Разрешить поиск». Внутри он подключает компонент поиска bitrix:search.page, а тот отдаёт результаты постранично. По умолчанию на странице результатов выводится фиксированное число совпадений – и это число можно изменить. Приём рабочий и в 2026 году.

Где лежит нужный шаблон

За страницу результатов поиска внутри «Новостей» отвечает файл search.php в шаблоне комплексного компонента. Копируйте его в свою тему, а не правьте в ядре:

/local/templates/ВАШ_ШАБЛОН/components/bitrix/news/ИМЯ_ШАБЛОНА/search.php

Если у вас пока нет своей копии шаблона bitrix:news, скопируйте его целиком из /bitrix/components/bitrix/news/templates/.default/. Правка файлов прямо в /bitrix/ недопустима – обновление ядра их затрёт.

Меняем количество результатов

Внутри search.php вызывается вложенный компонент bitrix:search.page. Ему передаётся параметр PAGE_RESULT_COUNT – число результатов на странице. Задайте нужное значение:

$APPLICATION->IncludeComponent(
    "bitrix:search.page",
    "",
    [
        // ... остальные параметры ...
        "PAGE_RESULT_COUNT" => "3", // сколько результатов выводить на странице
        // ...
    ],
    $component
);

Вместо 3 подставьте нужное число. Именно этот параметр отвечает за размер страницы выдачи и за то, после какого количества результатов появится постраничная навигация.

Почему меняем в шаблоне, а не в настройках

У комплексного компонента bitrix:news нет отдельной галочки «сколько результатов поиска показывать» в визуальных настройках – это внутренний параметр вложенного search.page. Поэтому значение задаётся в коде шаблона search.php. Отсюда и правило: держите свою копию шаблона в /local/, чтобы правка пережила обновления.

Частые нюансы

  • «Разрешить поиск» должно быть включено. Если в настройках bitrix:news поиск выключен, файл search.php просто не задействуется.
  • Индексация поиска. Поиск работает по поисковому индексу модуля search. Если новостей в выдаче меньше ожидаемого – проверьте, переиндексирован ли инфоблок (Настройки → Поиск → Переиндексация).
  • Кэш компонента. После правки search.php сбросьте кэш компонента (или весь кэш сайта), иначе изменение может не примениться сразу.
  • Не путать с длиной анонса. PAGE_RESULT_COUNT задаёт количество результатов, а не длину текста каждого – за обрезку отвечают другие параметры.

Смежные задачи по «Новостям» и подсчёту: как вывести количество элементов в разделе, как посчитать все элементы инфоблока и как вывести детальное описание в анонсе.

Частые вопросы

Каким параметром меняется число результатов поиска по новостям?

Параметром PAGE_RESULT_COUNT вложенного компонента bitrix:search.page. Его значение задаётся в файле search.php шаблона комплексного компонента bitrix:news – например "PAGE_RESULT_COUNT" => "3".

Где находится файл search.php?

В шаблоне компонента «Новости»: /local/templates/ВАШ_ШАБЛОН/components/bitrix/news/ИМЯ_ШАБЛОНА/search.php. Если своей копии нет, скопируйте шаблон из /bitrix/components/bitrix/news/templates/.default/.

Почему нельзя задать число результатов в настройках компонента?

У комплексного bitrix:news нет отдельной визуальной настройки для размера поисковой выдачи – это внутренний параметр вложенного search.page, поэтому его меняют в коде шаблона search.php.

Изменение не применилось – что проверить?

Проверьте, что включено «Разрешить поиск», сброшен кэш компонента, а инфоблок переиндексирован в модуле поиска (Настройки → Поиск → Переиндексация).

Материалы по теме

Что почитать дальше по этой теме

Инструкция Вывести количество элементов в разделе (Список новостей) Как в компоненте «Список новостей» 1С-Битрикс посчитать и вывести количество активных элементов внутри раздела инфоблока. Разбираем CIBlockSection::GetSectionElementsCount и учёт вложенных разделов. 7 мин 67 17 января 2017 Инструкция Подсчёт общего количества элементов в инфоблоке (Битрикс) Как посчитать количество активных элементов инфоблока 1С-Битрикс. Три рабочих способа: CIBlockElement::GetCount, GetList с пустым arGroupBy и D7-метод ElementTable::getCount – с разбором, чем они отличаются. 6 мин 55 18 февраля 2017 Инструкция В анонсе новостей вывести детальное описание и обрезать текст Как в анонсе компонента «Список новостей» 1С-Битрикс выводить текст из детального описания вместо превью и аккуратно обрезать его до нужной длины через CTextParser::html_cut, не ломая HTML-теги. 6 мин 55 18 февраля 2017 Инструкция Добавить иконку в кнопку поиска по новостям в Битрикс Как заменить текст на кнопке поиска компонента bitrix:search.form иконкой лупы. Разбираем современный способ – кнопку с inline-SVG и aria-label, старый приём с иконочным шрифтом Font Awesome и почему важно не сломать доступность. 7 мин 44 18 февраля 2017