Backend
Настраиваем фильтр по категориям
Часть 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);
}
Афоризм дня:
Любимое часто ослепляет любящего. (582)
By den
On July 06, 2018