функция-обработчик( array arFields );
Событие "BeforeIndex" вызывается перед индексацией элемента функцией CSearch::Index.
Параметры
| Параметр | Описание |
|---|---|
| arFields | Массив следующего содержания:
|
Данный обработчик может модифицировать поля параметра arFields и должен вернуть его как результат своей работы.
См. также
Пример функции-обработчика:
<?
// файл /bitrix/php_interface/init.php
// регистрируем обработчик
AddEventHandler("search", "BeforeIndex", Array("MyClass", "BeforeIndexHandler"));
class MyClass { // создаем обработчик события "BeforeIndex" function BeforeIndexHandler($arFields) { if($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == 33) { if(array_key_exists("BODY", $arFields)) { $arFields["BODY"] .= " самые свежие новости"; } } return $arFields; } } ?>
Пользовательские комментарии
Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
|
|
|
Если в обработчике проводятся модификации поля SITE_ID,
то надо помнить,что индексы в массиве должны быть с нуля и по порядку. Иначе битрикс воспримет массив как ассоциативный и элементы привяжутся к сайтам неверно (вместо SITE_ID окажутся числа и элементы "пропадут" из поиска). Проверено на битриксе 8.5.1 и 8.5.6. |
|
| ||
|
Еще важный момент - чтобы не добавлять данную запись в индекс, необходимо в функции обработичке выполнить:
Например если надо какой-то подраздел инфоблока не индексировать. | ||
|
| ||
|
Для того, чтобы модуль search.title проводил поиск по не только по заголовкам, но и по небольшим свойствам (например артикул) необходимо при индексации добавлять это его к заголовку.
| ||
|
| ||||
|
В БУС 8.6.1. (точно, возможно и ранее) и более поздних из-за проверок типа
Для исключения элемента из индекса как записи следует выполнять
| ||||
|
|
|
Очень важная фича появилась с версии 10.0: ограничение поиска по произвольным параметрам.
Подробнее в блоге разработчика Максима Смирнова. |

