Нигде не нашел как добавить значение свойства с типом "Справочник" к элементу через CIBlockElement::Add, поделитесь, пожалуйста, ссылкой или примером
|
Нигде не нашел как добавить значение свойства с типом "Справочник" к элементу через CIBlockElement::Add, поделитесь, пожалуйста, ссылкой или примером
|
|
|
|
|
|
Эта должна помочь вам.
|
|
|
|
|
|
|
Денис Сон, спасибо за ссылку, но к контенту меня не пускают, система требует, чтобы я залогинился, хотя я и так авторизован, может как-то можно идею того форума уместить в 1 сообщении тут?)
|
|
|
|
|
|
|||
|
|
|
|
|
|||
|
|
|
|
"Нигде не нашел как добавить значение свойства с типом "Справочник" к элементу через CIBlockElement::Add, поделитесь, пожалуйста, ссылкой или примером"
И я нигде этого не найду, раздел форума виден, однако это не по теме. Если кто-то знает, поделитесь пожалуйста секретными знаниями, не описанными в официальной документации. |
|
|
|
|
|
Если поглядеть отладчиком - то видно что тип значения - S, то есть обыкновенная строка. По идее строчное значение должно проглатываться без проблем.
А вот как добавить свойство к инфоблоку через CIBlockProperty::Add как справочник? Вот это интересный вопрос. |
|
|
|
|
|
В лучших традициях форумов для программистов отвечу сам себе, итак:
Далее:
Что здесь интересно: значение свойство надо вставлять не идентификатор поля highloadblock-а, а значение поля UF_XML_ID от вашего справочника. |
|||||
|
|
|
Спасибо большое! Целый день ничего не мог найти по текущему вопросу, пока Ваш ответ не нашёл. |
|||||||
|
|
|
А тогда правильно я делаю? CIBlockElement::SetPropertyValuesEx($PRODUCT_ID, 23, array('COLOR_REF'=>'purple')); Здесь purple - это "внешний код" элемента справочника. |
|||||||||
|
|
|
|
|||
|
|
|
|
Здравствуйте.
А как не добавить, а получить название? Получаю свойство товарного предложения у которого тип "Справочник":
Получаю: array (size=32) 'ID' => string '117' (length=3) 'TIMESTAMP_X' => string '2023-08-05 22:32:42' (length=19) 'IBLOCK_ID' => string '16' (length=2) 'NAME' => string 'Толщина (мм)' (length=21) 'ACTIVE' => string 'Y' (length=1) 'SORT' => string '500' (length=3) 'CODE' => string 'TOLSHCHINA_MM_83B5AC' (length=20) 'DEFAULT_VALUE' => string '' (length=0) 'PROPERTY_TYPE' => string 'S' (length=1) 'ROW_COUNT' => string '1' (length=1) 'COL_COUNT' => string '30' (length=2) 'LIST_TYPE' => string 'L' (length=1) 'MULTIPLE' => string 'N' (length=1) 'XML_ID' => null 'FILE_TYPE' => string '' (length=0) 'MULTIPLE_CNT' => string '0' (length=1) 'TMP_ID' => null 'LINK_IBLOCK_ID' => string '0' (length=1) 'WITH_DESCRIPTION' => string 'N' (length=1) 'SEARCHABLE' => string 'Y' (length=1) 'FILTRABLE' => string 'Y' (length=1) 'IS_REQUIRED' => string 'N' (length=1) 'VERSION' => string '1' (length=1) 'USER_TYPE' => string 'directory' (length=9) 'USER_TYPE_SETTINGS' => array (size=5) 'size' => int 1 'width' => int 0 'group' => string 'N' (length=1) 'multiple' => string 'N' (length=1) 'TABLE_NAME' => string 'b_hlbd_63acb0ea43372' (length=20) 'HINT' => string '' (length=0) 'PROPERTY_VALUE_ID' => string '2552' (length=4) 'VALUE' => string 'c453f9ce8a6406f8578656640ef876ba' (length=32) 'DESCRIPTION' => string '' (length=0) 'VALUE_ENUM' => null 'VALUE_XML_ID' => null 'VALUE_SORT' => null Вижу: 'VALUE' => string 'c453f9ce8a6406f8578656640ef876ba' В самом справочнике, данное значение хранится в поле "Внешний код", а как получить именно название? |
|||
|
|
|
|
Вопрос снят. Через highload блоки.
|
||||
|
|
|
|||