@sagaton

Как в SetPropertyValuesEx обращаться не к id значения для свойства типа Список, а к XML_ID?

Как в SetPropertyValuesEx обращаться не к id значения для свойства типа Список, а к XML_ID?
К примеру
$ELEMENT_ID = 33; // код элемента
$PROPERTY_CODE = "Seasons"; // код свойства
$PROPERTY_VALUE = "184"; // значение свойства
184 она не статическое а периодически интерируется. Потому нужно обращаться к xml_id. Но в SetPropertyValuesEx, не нашел примера как такое возможно сделать.
  • Вопрос задан
  • 346 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tgarl
Потому что нету такой возможности, в документации об этом сказано.
Для этого получаете отдельно все значения списка, там ищите свой xml_id, узнаете у него id и его подставляете
т.е.
$db_enum_list = CIBlockProperty::GetPropertyEnum("BREND", Array('sort' => 'asc'), Array("IBLOCK_ID"=>$arParams["IBLOCK_ID"]));
while($ar_enum_list = $db_enum_list->GetNext())
{$arrProp[]=$ar_enum_list;}//получили значения списка, если требуется именно по xml_id, то сразу формируйте с ключами нужными
//$arrProp[$ar_enum_list['XML_ID']]=$ar_enum_list; - лень принтовать проверьте у себя сами правильность написания
//ну а далее 
// пусть будет id = 184, xml_id=leto, value=лето
$PROPERTY_VALUE = $arrProp['leto']['id'];

примерно так
Ответ написан
Ваш ответ на вопрос

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

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