Готовые решения для 1С-Битрикс
Карточка решения
База знаний по решению:
Умный поиск с исправлением ошибок в запросе и подсказками
Часто задаваемые вопросы:

Дополнительные полезные функции

Процесс интеграции умного поиска в разные шаблоны и сайты может отличаться в зависимости от архитектуры проекта. В данной заметке будут публиковаться вспомогательные функции для адаптации функционала решения с шаблоном сайта.


1. Добавить в массив ID найденных товаров все ID торговых предложений (при наличии).

$arProductAndSkuIDs = \Arturgolubev\Smartsearch\Tools::dwAddSkuId($arProductIDs);

Данная функция будет полезна при интеграции с решение DW Deluxe, т.к. для вывода карточек с предложениями по фильтру, необходимо указывать не только ID основных товаров, но и передать все айди их предложений.


2. Получить массив ID основных товаров, по смешанному массиву Товары + торговые предложения

$arProductIDs = CArturgolubevSmartsearch::getProductIdByMixed($arProductAndSkuIDs);

Данная функция будет полезна когда поиск ведется по инфоблоку товаров и инфоблоку торговых предложений, а на вывод мы должны отдать массив айди основных товаров.

3. Переиндексировать конкретный элемент инфоблока

CIBlockElement::UpdateSearch($ID, true);

Функция будет полезна, если вы изменили элемент по api без базовой автопереиндексации, например через CIBlockElement::SetPropertyValuesEx и нужно принудительно переиндексировать элемент