Задать вопрос
@Darklt

Почему в битриксе не работает поиск по артикулы если есть спецсиволы?

Есть событие поиска по артикулу:
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler");
function BeforeIndexHandler($arFields)
{
   if(!CModule::IncludeModule("iblock")){
      return $arFields;
   }
   if($arFields["MODULE_ID"] == "iblock" && $arFields["PARAM2"] == 99){ // ID инфоблока
      $db_props = CIBlockElement::GetProperty(                        // Запросим свойства индексируемого элемента
                                    $arFields["PARAM2"],         // BLOCK_ID индексируемого свойства
                                    $arFields["ITEM_ID"],          // ID индексируемого свойства
                                    array("sort" => "desc"),       // Сортировка (можно упустить)
							      
                                    Array("CODE"=>"CML2_ARTICLE")); // CODE свойства (в данном случае артикул)
      if($ar_props = $db_props->Fetch()){
		  $arFields["TITLE"] = $ar_props["VALUE"] . " " . $arFields["TITLE"];
       
      }
      $arFields["BODY"] = "";
   }
   return $arFields;
}

По артикулу ищет если этот артикул состоит только из цифр и букв, а если артикул например KLC-100, то так не найдёт, найдет если указать KLC100, хотя на самом деле артикул KLC-100.
  • Вопрос задан
  • 520 просмотров
Подписаться 1 Сложный 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы