Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Просмотр секций

00 голосов
0
Здравствуйте.
Есть тип инфоблока, в нем несколько блоков, в каждом блоке есть один раздел. Нижеприведенный скрипт проходится по каждому блоку и возвращает список элементов из секции. Проблема в том, что корректно работает только когда залогинишься под админом, а иначе выводит все элементы.

Код
// выбираем все инфоблоки нужного типа
$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'] оказывается пустой. Быть может проблема в правах доступа?
спросил 01 Июнь, 13 от Kara2 (220 баллов)

Ваш ответ

Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

Похожие вопросы

0 голосов
7 ответов
спросил 28 Июль, 13 от Kara2 (220 баллов)
0 голосов
0 ответов
спросил 07 Дек, 13 от Kania (5,180 баллов)
0 голосов
1 ответ
0 голосов
1 ответ