В Битрикс24, для проверки значений кастомного поля можно использовать метод CUserFieldEnum::GetList().
Например, у нас есть кастомное поле "Тип товара" у элементов инфоблока, и мы хотим проверить, существует ли у нас значение "Электроника" в этом поле.
Для начала, необходимо получить список всех значений кастомного поля с помощью функции CUserFieldEnum::GetList(). Затем, мы можем пройти по каждому элементу полученного списка и проверить, совпадает ли он с нашим искомым значением.
Пример кода для проверки значения кастомного поля "Тип товара" на наличие значения "Электроника":
<?php $fieldName = "UF_TYPE"; // Наименование кастомного поля $enumValue = "Электроника"; // Значение, которое мы ищем // Получаем ID инфоблока $iblockId = CIBlockTools::GetIBlockId( "catalog", // Код типа инфоблока "products" // Код инфоблока ); // Получаем список значений кастомного поля $enumValues = CUserFieldEnum::GetList([], [ "USER_FIELD_NAME" => $fieldName, "IBLOCK_ID" => $iblockId, ]); // Проходим по каждому значению и проверяем совпадение while ($enumValueItem = $enumValues->Fetch()) { if ($enumValueItem["VALUE"] === $enumValue) { // Значение найдено, выполняем необходимые действия // ... break; } } ?>
В данном примере мы используем функцию CIBlockTools::GetIBlockId() для получения ID инфоблока по его коду. Затем, используя CUserFieldEnum::GetList(), мы получаем список значений кастомного поля с указанным именем и для указанного инфоблока.
Затем, мы проходим по каждому элементу полученного списка и сравниваем его значение ($enumValueItem["VALUE"]
) с искомым значением ($enumValue
). Если значение совпадает, выполняем необходимые действия.
Пожалуйста, учтите, что приведенный пример кода является общим и может требовать дополнительных настроек и адаптаций в зависимости от конкретных требований и структуры вашего проекта.