Здравствуйте.
Есть тип инфоблока, в нем несколько блоков, в каждом блоке есть один раздел. Нижеприведенный скрипт проходится по каждому блоку и возвращает список элементов из секции. Проблема в том, что корректно работает только когда залогинишься под админом, а иначе выводит все элементы.
Пытаясь понять в чем дело выяснил, что когда авторизован не как админ (либо не авторизован вообще), переменная $sect['ID'] оказывается пустой. Быть может проблема в правах доступа?
Есть тип инфоблока, в нем несколько блоков, в каждом блоке есть один раздел. Нижеприведенный скрипт проходится по каждому блоку и возвращает список элементов из секции. Проблема в том, что корректно работает только когда залогинишься под админом, а иначе выводит все элементы.
Код |
---|
// выбираем все инфоблоки нужного типа $res = CIBlockElement::GetList(array("created"=>"DESC"), array('IBLOCK_TYPE' => 'FM_projects', 'INCLUDE_SUBSECTIONS' => 'Y', 'SECTION_ID' => 0)); while($ar = $res->Fetch()) { // находим ид раздела $res2 = CIBlockSection::GetList(array(), array('IBLOCK_TYPE' => 'FM_projects', 'IBLOCK_ID' => $ar['IBLOCK_ID'])); $sect = $res2->GetNext(); // берем элементы раздела $res2 = CIBlockElement::GetList(array("created"=>"DESC"), array('SECTION_ID' => $sect['ID'])); while($job = $res2->GetNext()) { echo '<pre>'; print_r($job); echo '</pre>'; } } |
Пытаясь понять в чем дело выяснил, что когда авторизован не как админ (либо не авторизован вообще), переменная $sect['ID'] оказывается пустой. Быть может проблема в правах доступа?