Уже 2ой день мучаюсь с обработчиком...Помогите пожалуйста.
Задача - нужно в анонс товара заносить значения свойств элемента при импорте товара из 1с. Пытаюсь вывести хотя бы одно свойство. У свойства тип список, не множественное.
Мой код работает крайне странно. У каких то элементов анонс заносится правильно, в соответствии со значением свойства, у каких то нет. Но значение свойства заносятся всем элементам импорта - и парадокс в том, что иногда заносятся в анонс даже такие значения свойств, которых даже нет в файле импорта, но они заведены на сайте. Т.е. происходит какой-то лютый рандом.
Код |
---|
<?
AddEventHandler("iblock", "OnStartIBlockElementUpdate", Array("AHandlers", "ChangeElementName1CImport"));
AddEventHandler("iblock", "OnStartIBlockElementAdd", Array("AHandlers", "ChangeElementName1CImport"));
class AHandlers {
function ChangeElementName1CImport(&$arFields) {
$arSelect = Array("ID", "IBLOCK_ID", "NAME", "PROPERTY_SVOISTVO");
$arFilter = Array("IBLOCK_ID"=>16, "ACTIVE"=>"Y");
$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($ob = $res->Fetch())
{
$PROPERTY_VALUE = $ob['PROPERTY_SVOISTVO_VALUE']; // значение свойства
$arFields['PREVIEW_TEXT'] = $PROPERTY_VALUE;
}
}
}
?>
|
Так же пробую простой код без вызова CIBlockElement::GetList:
Цитата |
---|
Код |
---|
$arFields['PREVIEW_TEXT'] = $arFields['PROPERTY_VALUES']['120'][0]['VALUE'] (где 120 - ID свойства) |
|
Тоже ничего. И еще много чего пробовал... безрезультатно(