Bitrix получить значения списочного свойства

Свойство типа список - это поле, которое позволяет выбрать один или несколько вариантов из предопределенного списка. Например, вы можете создать свойство "Тип клиента", где будут доступны варианты "Физическое лицо", "Юридическое лицо", "ИП" и т.д.

При разработке часто нужно получить все или какие-то конкретные значения списка. Ниже приведены примеры как это можно сделать.

Получить все варианты значений свойства

Всю необходимую информацию о свойстве: ID, название, код свойства, можно узнать в админке на странице редактирования инфоблока к которому привязано свойство.

Указываем IBLOCK_ID чтобы точно получить значения нужно свойства у нужного инфоблока так как возможна ситуация когда у разных инфоблоков есть свойства с одинаковым кодом.

Используя код свойства

\Bitrix\Main\Loader::includeModule('iblock');
$res = \CIBlockPropertyEnum::GetList(array(), array(
	"IBLOCK_ID" => 5,
	"CODE" => 'TIP'
));
while($row = $res->Fetch()) {
	var_dump($row);
}

IBLOCK_ID - ID инфоблока к которому привязано свойство

CODE - код свойства

Используя ID свойства

\Bitrix\Main\Loader::includeModule('iblock');
$res = \CIBlockPropertyEnum::GetList(array(), array(
	"IBLOCK_ID" => 5,
	"PROPERTY_ID" => 65
));
while($row = $res->Fetch()) {
	var_dump($row);
}

IBLOCK_ID - ID инфоблока к которому привязано свойство

PROPERTY_ID - ID свойства

Пример результата работы

array(11) {
  ["ID"]=>
  string(2) "57"
  ["PROPERTY_ID"]=>
  string(2) "65"
  ["VALUE"]=>
  string(29) "Физическое лицо"
  ["DEF"]=>
  string(1) "N"
  ["SORT"]=>
  string(2) "20"
  ["XML_ID"]=>
  string(32) "1126e2879ded40119ccab3583e2b4080"
  ["TMP_ID"]=>
  NULL
  ["EXTERNAL_ID"]=>
  string(32) "1126e2879ded40119ccab3583e2b4080"
  ["PROPERTY_NAME"]=>
  string(6) "Тип"
  ["PROPERTY_CODE"]=>
  string(3) "TIP"
  ["PROPERTY_SORT"]=>
  string(2) "20"
}
array(11) {
  ["ID"]=>
  string(2) "56"
  ["PROPERTY_ID"]=>
  string(2) "65"
  ["VALUE"]=>
  string(31) "Юридическое лицо"
  ["DEF"]=>
  string(1) "N"
  ["SORT"]=>
  string(2) "10"
  ["XML_ID"]=>
  string(32) "a8947a33d6e4e98dcd5ae56846fb1106"
  ["TMP_ID"]=>
  NULL
  ["EXTERNAL_ID"]=>
  string(32) "a8947a33d6e4e98dcd5ae56846fb1106"
  ["PROPERTY_NAME"]=>
  string(6) "Тип"
  ["PROPERTY_CODE"]=>
  string(3) "TIP"
  ["PROPERTY_SORT"]=>
  string(2) "20"
}

Получить конкретный вариант значения свойства

\Bitrix\Main\Loader::includeModule('iblock');
$res = \CIBlockPropertyEnum::GetList(array(), array(
	"ID" => 56
));
while($row = $res->Fetch()) {
	var_dump($row);
}

ID - в данном случаи это ID искомого варианта значения

Пример результата работы

array(11) {
  ["ID"]=>
  string(2) "56"
  ["PROPERTY_ID"]=>
  string(2) "65"
  ["VALUE"]=>
  string(31) "Юридическое лицо"
  ["DEF"]=>
  string(1) "N"
  ["SORT"]=>
  string(2) "10"
  ["XML_ID"]=>
  string(32) "a8947a33d6e4e98dcd5ae56846fb1106"
  ["TMP_ID"]=>
  NULL
  ["EXTERNAL_ID"]=>
  string(32) "a8947a33d6e4e98dcd5ae56846fb1106"
  ["PROPERTY_NAME"]=>
  string(6) "Тип"
  ["PROPERTY_CODE"]=>
  string(3) "TIP"
  ["PROPERTY_SORT"]=>
  string(2) "20"
}

Таким образом используя \CIBlockPropertyEnum::GetList() можно легко получить как все варианты значений свойства так и какой-то конкретный вариант.

Важно помнить, что перед вызовом данного метода необходимо подключить модуль iblock, как показано в примерах.

На нашем сайте так же есть статья о том как получить значения списочного поля в bitrix.

Рубрики: Bitrix

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

Как добавить свою вкладку в карточку элемента СРМ?

Вкладки в карточках элементов CRM очень удобное решение. В этой статье разберем как добавить свою вкладку в карточку элемента CRM с помощью создания обработчика на событие.

Подключить bitrix без подключения шаблона сайта

В статье приводится пример кода подключения bitrix без подключения шаблона сайта. Так же описано когда это может пригодится.

Bitrix сбросить буфер вывода

Функция RestartBuffer() в Bitrix используется для сброса буфера вывода. Она позволяет прервать вывод страницы на определенном этапе выполнения скрипта и начать вывод заново. В статье рассмотрим основные сценарии использования данной функции, рассмотрим пример кода.

Bitrix получить путь к корню сайта

Часто в процессе разработки требуется получить путь до корневой директории проекта. В статье описывается как этом можно сделать легко и удобно.

Bitrix подключить модуль

Так как bitrix состоит из большого количества различных модулей, знать как их правильно подключать просто необходимо.

Bitrix регистрация своего события

В статье приводится пример регистрации собственного события в bitrix и добавления на него обработчика.

Комментарии

Комментариев пока нет
Данный сайт использует файлы cookies. Продолжая просмотр сайта, вы соглашаетесь с использованием файлов cookies.
ОК