Xml id битрикс что это
Перейти к содержимому

Xml id битрикс что это

  • автор:

Как задать xml_id элемента свойства, типа Список?

Задаются элементы типа список так:
< $iblockId = $this->getIblockIdByCode(‘clothes’);
$propId = $this->addIblockElementProperty([
‘ID’ => ’20’,
‘NAME’ => ‘Сезон’,
‘SORT’ => 500,
‘CODE’ => ‘Seasons’,
‘PROPERTY_TYPE’ => ‘L’, // Список
‘LIST_TYPE’ => ‘C’, // Тип списка — ‘флажки’
‘SMART_FILTER’ =>»Y»,
‘MULTIPLE’ => ‘Y’,
‘IS_REQUIRED’ => ‘Y’,
‘VALUES’ => [
‘VALUE'[0] => ‘Лето’,
‘VALUE’ [1]=> ‘Зима’

],
‘IBLOCK_ID’ => $iblockId,
]);
>
В итоге имя элемента списка указывается как надо, а вот xml_id формируется автоматически и имеет набор символов.
Как только не пробовал его задать вручную, никак не получалось его задать.
Подскажите, кто знает как правильно было бы задать xml для каждого элемента.

  • Вопрос задан более двух лет назад
  • 586 просмотров

1 комментарий

Средний 1 комментарий

Как получить значение XML_ID у пользовательского свойства?

Здравствуйте! Подскажите пожалуйста, как получить значение XML_ID у пользовательского свойства? Я создал инфоблок, дальше в нем создаю разделы, поскольку эти разделы будут хранить не только элементы но еще и определенные значения появилась необходимость создать новое пользовательское поле которое хранит некие значения, с помощью приведенного кода ниже получилось получить ID значений списка. А, как получить значение XML_ID? Раньше был похожий вопрос, но там вопрос относился к инфоблокам, а тут пользовательское свойство.

CModule::IncludeModule('iblock'); $arSelect = Array('ID', 'NAME', 'UF_TF'); $arFilter = Array('IBLOCK_ID'=>$iblock, 'ACTIVE'=>'Y', 'GLOBAL_ACTIVE'=>'Y'); $res = CIBlockSection::GetList(Array('SORT'=>'ASC'), $arFilter, true, $arSelect); while($ob = $res->GetNext()) < ?> ?> 

Во вложении скрины, может помогут в понимании вопроса. Заранее всем благодарен. alt text alt text alt text

Отслеживать
задан 10 июн 2013 в 14:35
1,712 4 4 золотых знака 24 24 серебряных знака 51 51 бронзовый знак

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Друзья, и вновь получил ответ от тех.поддержки, комментирую если кому-то вдруг случайно пригодиться:

Получить можно таким образом:

Cmodule::IncludeModule('iblock'); $rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$ID));//$ID - id значения пользовательского поля типа список $arEnum = $rsEnum->GetNext(); echo $arEnum["XML_ID"]; 

В моем случае это вот так выглядит:

 CModule::IncludeModule('iblock'); $arSelect = Array('ID', 'NAME', 'UF_TF'); $arFilter = Array('IBLOCK_ID'=>$newID, 'ACTIVE'=>'Y', 'GLOBAL_ACTIVE'=>'Y'); $res = CIBlockSection::GetList(Array('SORT'=>'ASC'), $arFilter, true, $arSelect); while($ob = $res->GetNext()) < ?> 
$newID)); $arEnum = $rsEnum->GetNext(); echo $arEnum["XML_ID"]; ?>
?>

Форум

Здравствуйте! Подскажите пожалуйста, как получить значение XML_ID у пользовательского свойства?Я создал инфоблок, дальше в нем создаю разделы, поскольку эти разделы будут хранить не только элементы но еще и определенные значения появилась необходимость создать новое пользовательское поле которое хранит некие значения, с помощью приведенного кода ниже получилось получить ID значений списка. А, как получить значение XML_ID?

Раньше был похожий вопрос , но там вопрос относился к инфоблокам, а тут пользовательское свойство.

CModule::IncludeModule('iblock'); $arSelect = Array('ID', 'NAME', 'UF_TF'); $arFilter = Array('IBLOCK_ID'=>$iblock, 'ACTIVE'=>'Y', 'GLOBAL_ACTIVE'=>'Y'); $res = CIBlockSection::GetList(Array('SORT'=>'ASC'), $arFilter, true, $arSelect); while($ob = $res->GetNext()) < ?> ?>

Во вложении скрины, может помогут в понимании вопроса. Заранее всем благодарен.

Прикрепленные файлы

  • 2013-06-10_175154.png (70.7 КБ)
  • 2013-06-10_173859.png (53.74 КБ)
  • 2013-06-10_173656.png (61.74 КБ)

Заглянувший

Сообщений: 18 Регистрация: 01.12.2011

20.11.2013 15:26:29

Такая же проблема, есть решение у нее?

Постоянный посетитель

Сообщений: 75 Баллов: 10 Регистрация: 21.04.2008

20.11.2013 18:56:25

Метод для получения значений пользовательского поля типа «список»

Постоянный посетитель

Сообщений: 183 Баллов: 34 Регистрация: 13.08.2014

27.06.2017 06:11:09

Для вашего вопроса:

$db_list = CIBlockSection::GetList(Array(SORT=>"ASC"), $arFilter = Array("IBLOCK_ID"=>$arResult["IBLOCK_ID"], "ID"=>$arResult["IBLOCK_SECTION_ID"]), true,$arSelect=Array("UF_P_T_PRICE")); while($ar_result = $db_list->GetNext())< foreach($ar_result["UF_P_T_PRICE"] as $PROP)< $rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$PROP)); $arEnum = $rsEnum->GetNext(); $arPropC [] = $arEnum["XML_ID"]; > >

Еще пример:

$db_list = CIBlockSection::GetList(Array(SORT=>"ASC"), $arFilter = Array("IBLOCK_ID"=>$arSection["IBLOCK_ID"], "ID"=>$arSection["ID"]), true,$arSelect=Array("UF_*")); while($ar_result = $db_list->GetNext())< foreach($ar_result["UF_FILTR"] as $PROP)< $rsEnum = CUserFieldEnum::GetList(array(), array("ID" =>$PROP)); $arEnum = $rsEnum->GetNext(); echo $arEnum["VALUE"]; > >

Страницы: 1

Центр поддержки

Продукты

Управление сайтом
Битрикс24
Интернет-магазин + CRM

Решения

Для интернет-магазинов
Каталог готовых решений

Внедрение

Выбрать партнера
Проверить партнера
Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2024 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

1C-Битрикс — как по XML_ID получить имя свойства?

Latest version of admin is now available. Please download here.

Victoria Mendis

Just upgraded to premium account.

Сообщество Битрикса
Заказать сайт
Получить консультацию
2019-10-01 09:48:00

Привет, Хочу поделиться небольшой заметкой, которую делал для себя, думаю кому-нибудь это будет полезно. Как-то мне потребовалось из множественно списка получить имена предложенных вариантов для заполнения элемента, чтобы получить имя свойства по XML_ID свойства, достаточно использовать вот такую простую функцию.

function nameProperty($ID) 
$UserField = CIBlockPropertyEnum::GetList(array(), array("ID" => $ID));
if($UserFieldAr = $UserField->GetNext())
return $UserFieldAr["VALUE"];
>
else return false;
>

В коде где нужно получить имя, используется так nameProperty(XML_ID свойства);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *