Мастерская iPloGic
+7 (926) 961-66-26

 — База знаний — Если поиск по каталогу в Битрикс выводит не все товары

Если поиск по каталогу в Битрикс выводит не все товары

Не раз сталкивался с такой проблемой. При работе и интернет магазином можно столкнуться с ситуацией, когда при поиске по каталогу сайт выдает не все товары по введенному запросу. Это случается при  вводе запроса с большим количеством результатов выдачи. Например, если в интернет-магазине электроники с большим ассортиментом ввести слово "Ноутбук". При этом для поиска используется компонент bitrix:catalog.search. 

А решается эта проблема очень просто. Дело в том, что в дефолтных настройках модуля bitrix:catalog.search установлено значение параметра PAGE_RESULT_COUNT равным 50. Соответственно нам просто нужно изменить это значение. Для этого открываем для редактирования шаблон компонента bitrix:catalog.searchлюбым удобным способом (через бэкенд или фронтенд). Не забываем скопировать его к себе есль используется дефолтный. В коде находим следующие строки:

$arElements = $APPLICATION->IncludeComponent(
"bitrix:search.page",
".default",
Array(
"RESTART" => $arParams["RESTART"], "NO_WORD_LOGIC" => $arParams["NO_WORD_LOGIC"], "USE_LANGUAGE_GUESS" => "N", "CHECK_DATES" => $arParams["CHECK_DATES"], "arrFILTER" => array("iblock_".$arParams["IBLOCK_TYPE"]), "arrFILTER_iblock_".$arParams["IBLOCK_TYPE"] => array($arParams["IBLOCK_ID"]), "USE_TITLE_RANK" => "N", "DEFAULT_SORT" => "rank", "FILTER_NAME" => "", "SHOW_WHERE" => "N", "arrWHERE" => array(), "SHOW_WHEN" => "N", "PAGE_RESULT_COUNT" => 50, "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "N", "PAGER_TITLE" => "", "PAGER_SHOW_ALWAYS" => "N", "PAGER_TEMPLATE" => "N", ), $component );

Найти строку с нужным параметром и заменить 50 на любое другое число выше 50, которое гарантирует вывод всех товаров, например, 9999.

Вот и вся хитрость.

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



19.05.2017