Внимание! В данном способе редактируется файл ядра Bitrix, при обновлении Bitrix изменения перезатрутся.
Для занесения кода в индекс при создании или импорте нового товара правим:
./bitrix/modules/iblock/classes/mysql/iblockelement.php
находим :
$arFields["SEARCHABLE_CONTENT"] = ToUpper( (is_set($arFields, "NAME")? $arFields["NAME"]: $ar_wf_element["NAME"])."\r\n". ($PREVIEW_TYPE_tmp=="html"? HTMLToTxt($PREVIEW_tmp): $PREVIEW_tmp)."\r\n". ($DETAIL_TYPE_tmp=="html"? HTMLToTxt($DETAIL_tmp): $DETAIL_tmp) );
меняем на :
$arFields["SEARCHABLE_CONTENT"] = ToUpper( (is_set($arFields, "NAME")? $arFields["NAME"]: $ar_wf_element["NAME"])."\r\n". ($PREVIEW_TYPE_tmp=="html"? HTMLToTxt($PREVIEW_tmp): $PREVIEW_tmp)."\r\n". ($DETAIL_TYPE_tmp=="html"? HTMLToTxt($DETAIL_tmp): $DETAIL_tmp)."\r\n". $arFields["CODE"] );
Для индексации уже загруженных товаров, создаем и выполняем php с содержанием:
<? ;require($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/dbconn.php"); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); ;require($_SERVER["DOCUMENT_ROOT"]."/bitrix/php_interface/after_connect.php"); $query = "UPDATE `b_iblock_element` SET `SEARCHABLE_CONTENT`= concat(`NAME`,' ',`CODE`) WHERE `IBLOCK_ID`= '32'"; $result = $DB->Query($query); $row=$result->Fetch(); print_r($row); ?>
