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

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

Основные команды Linux

В статье приведены примеры команд для работы с пользователями и группами, файлами и каталогами.

Обзор google keep

Google Keep — универсального инструмента для создания и организации заметок. В статье рассмотрены основные возможности сервиса.

Полезные материалы по Битрикс

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

dreamShaper Сравнение стилей художников

Погрузитесь в мир цифрового искусства со Stable Diffusion и DreamShaper! В статье мы сравнили стили известных художников и подобрали ключевые слова, чтобы вы смогли создавать свои шедевры.

CSS магия: стилизации элементов на основе нумерации

В статье как с помощью CSS добавить стили для каждого второго, третьего, четвертого элемента и т.д., для четных и нечетных элементов.

Комментарии

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