Налаштування пошукових підказок для Bitrix CMS
Пошукові підказки — випадаючий список з варіантами при введенні запиту в рядок пошуку. У Bitrix підказки реалізовані через компонент bitrix:search.suggest та працюють за AJAX-запитом до контролера пошуку. Без правильного налаштування підказки або не з'являються, або показують нерелевантні результати.
Як працюють підказки
При введенні кожного символу (з debounce) браузер надсилає GET-запит на /bitrix/components/bitrix/search.suggest/ajax.php з параметрами q (запит) та lang (мова). Відповідь — JSON зі списком підказок.
Джерелом даних для підказок служить пошуковий індекс b_search_content — ті ж дані, що й для основного пошуку. Тому підказки працюють тільки при наявності побудованого індексу.
Підключення компонента підказок
У шаблоні форми пошуку:
$APPLICATION->IncludeComponent('bitrix:search.suggest', '', [
'SITE_ID' => SITE_ID,
'START_SEARCH_FORM_ID' => 'searchForm', // ID форми пошуку
'SUGGEST_MAX_COUNT' => 10, // максимум підказок
'MIN_QUERY_LENGTH' => 3, // мінімум символів для запиту
'SUGGEST_CACHE_TIME' => 3600, // кеш відповідей
'FILTER_NAME' => 'arrFILTER',
'arrFILTER' => [
['MODULE_ID' => 'iblock', 'PARAM1' => 'catalog', 'PARAM2' => 5],
],
]);
Форма пошуку повинна мати поле з назвою q та ID, зазначений у START_SEARCH_FORM_ID.
Налаштування зовнішнього вигляду підказок
Шаблон компонента знаходиться в /bitrix/components/bitrix/search.suggest/templates/.default/. Для кастомізації — скопіювати в /local/components/bitrix/search.suggest/templates/custom/ та змінити.
Стандартний шаблон виводить тільки текст заголовка. Часто потрібно додати зображення товару та ціну — це реалізується через користувацький шаблон з додатковим запитом до каталогу за знайденими ID елементів.
Пошук за торговими пропозиціями (SKU)
За замовчуванням пошук та підказки працюють за основними товарами, не за SKU. Для пошуку за артикулами SKU потрібно увімкнути індексування торгових пропозицій:
Параметри → Пошук → Додаткові параметри — увімкнути індексування властивостей торгових пропозицій, вказати інфоблок офер.
Продуктивність AJAX-запитів
При великому трафіку AJAX-запити підказок можуть навантажувати сервер. Рішення:
- Збільшити
SUGGEST_CACHE_TIME— підказки кешуються у файловому кеші Bitrix - Увімкнути керований кеш для компонента
- Для високонавантажених сайтів — видати підказки через окремий кешований endpoint з TTL
Терміни виконання
Базове налаштування підказок з підключенням компонента — 1–2 години. Користувацький шаблон з зображеннями та цінами — 3–5 годин.







