<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$iblock_id = 2;
$section_id = 34;
$arSelect = Array(
"ID",
"NAME",
"PROPERTY_ACTION");
$arFilter = Array( "IBLOCK_ID"=>$iblock_id, "SECTION_ID"=>$section_id, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y" );
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement()) :
$arFields = $ob->GetFields();
echo $arFields['PROPERTY_ACTION_VALUE'] . '<hr>';
endwhile;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
$VALUES = array();
$res = CIBlockElement::GetProperty($IBLOCK_ID, $ELEMENT_ID, Array("sort"=>"asc"), array("CODE" => "UF_NOTE_USER"));
while ($ob = $res->GetNext())
{
$VALUES[] = $ob['VALUE'];
}
}
Примечание 1: если в массиве используются свойство, являющееся множественным, то для элементов, где используются несколько значений этого свойства, будет возвращено несколько записей вместо одной. Для решения этой проблемы инфоблоки нужно перевести в Режим хранения свойств в отдельных таблицах, в этом случае для свойства будет отдаваться массив значений. Либо можно не указывать свойства в параметрах выборки, а получать их значения на каждом шаге перебора выборки с помощью _CIBElement::GetProperties().
$iblockId = 1;
$iblockCode = 'catalog';
$productIds = [123, 1234, 1235];
$propertyCode = 'CML2_TRAITS';
// Получим ID свойства которое нам нужно по его символьному коду
$propertyId = \CIBlockProperty::GetByID("CML2_TRAITS", false, $iblockCode)->Fetch()['ID'];
// Далле уже получаем по ID свойства его значения.
$rsPropertyValues = \CIBlockElement::GetPropertyValues($iblockId, ['ID' => $productIds], true, ['ID' => $propertyId]);
while ($arPropertyValue = $rsPropertyValues->Fetch()){
foreach ($arPropertyValue['DESCRIPTION'][$propertyId] as $key => $value){
if ($value == 'Вес'){
// Ваш код...
}
if ($value == 'Объем'){
// Ваш код...
}
if ($value == 'Штрихкод'){
// Ваш код...
}
}
}