Здравствуйте. Воспользовалась вашим решением. Надо вывести наименования разделов из доп. полей (тип - привязка к разделам инфоблока), которые выбраны пользователем. НО! Выводится ВЕСЬ массив. Как это исправить?
Код |
---|
<?
//Получаем все возможные поля текущего пользователя
$rsUser = CUser::GetByID($USER->GetID());
$arUser = $rsUser->Fetch();
//Выводим если множественное
foreach ($arUser['UF_TAGI'] as $propertyUf):
echo $propertyUf;
endforeach;
$IBLOCK_ID = 27; // ID нужного инфоблока
//Создаем массив фильтра
$arFilter = array('IBLOCK_ID' => $IBLOCK_ID, 'ACTIVE' => 'Y');
//Добавляем наш массив в котором перечислены ID разделов выбранные пользователем
$sect_id = $fofilter;
//Создаем массив фильтра. В конце переменная фильтра
$arFilter = array('IBLOCK_ID' => $IBLOCK_ID, 'ACTIVE' => 'Y', 'ID' => $sect_id);
//Создаем массив выводимых полей
$arSelect = array('ID', 'NAME');
//Применяем метод с фильтром и полями
$rsSection = CIBlockSection::GetTreeList($arFilter, $arSelect);
//Выводим названия разделов
while ($arSection = $rsSection->Fetch()) {
echo $arSection['NAME'];
}
foreach ($arUser['UF_TAGI'] as $propertyUf):
$sectionsUser .= '\'' . $propertyUf . '\',';
endforeach;
eval('$fofilter=array(' . $sectionsUser . ');');
extract($fofilter);
?>
|