bitrix
Настраиваем фильтр по категориям
Часть 2: как запилить привязку каждого элемента к собственной секции.
в первой части мы сформировали хайлоад блок для всех секций для формирования справочника к которому будет иметь привязку каждый элемент инфоблока.
$arSelect = Array("ID", "IBLOCK_ID", 'IBLOCK_SECTION_ID',"PROPERTY_SECTION");//IBLOCK_ID и ID обязательно должны быть указаны $arFilter = Array("IBLOCK_ID"=>$iblock_ID, "ACTIVE"=>"Y",'!PROPERTY_SECTION'=>false); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); //получим код секции по её ID $res_section = CIBlockSection::GetByID($arFields['IBLOCK_SECTION_ID']); if($ar_res_section = $res_section->GetNext()){ $cur_section_code = $ar_res_section['CODE']; // Установим новое значение для данного свойства данного элемента //Если передаётся массив "свойство"=>"значение", то в качестве значения свойств типа "справочник" нужно указывать внешний код элемента справочника. CIBlockElement::SetPropertyValuesEx($arFields['ID'], $iblock_ID, array('SECTION' => $cur_section_code)); } // $arProps = $ob->GetProperties(); // pre2($arProps); }
Афоризм дня:
Лучшая опора в несчастье не разум, а мужество. (596)
Leave a reply