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




CIBlockSection::GetList ничего не возвращает

0 голосов
Пишу скрипт,  в начале которого получаю список разделов инфоблока. Заметил такую особенность: если пользователь авторизован, то все отрабатывает чудесно, иначе дальше функции  CIBlockSection::GetList дело не идет. Происходит какая-то ошибка, но при этом эта ошибка не выводится. Даже последующий var_dump не отрабатывает. Что делать? 
Код
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

/*global $USER;
if(!$USER->IsAuthorized())
{
   $USER->Authorize(1);
}
*/

$arFilter = Array('IBLOCK_ID'=>"9", 'GLOBAL_ACTIVE'=>'Y', 'DEPTH_LEVEL'=>1, "CHECK_PERMISSIONS"=>"N");
$db_list = CIBlockSection::GetList(Array("SORT"=>"ASC"), $arFilter, false);
var_dump($db_list);
 
спросил 28 Ноя, 13 от Duffel (100 баллов)

2 Ответы

0 голосов
Обращение к модулю инфоблоков надо обернуть в if (CModule::IncludeModule('iblock')) { }. Почему работает при авторизованном - вполне вероятно, что выше по странице (или в обработчиках) для авторизованного пользователя подрубается модуль инфоблоков.
ответил 23 Янв, 14 от Arn4 (2,140 баллов)
+1 голос
В настройках информационного блока нужно настроить права доступа. Для всех пользователей поставить "чтение". Если стоит по умолчанию "Нет доступа" - будет такое поведене, как описано.
ответил 02 Июнь от аноним

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

0 голосов
0 ответов
спросил 08 Фев, 14 от Cirus (160 баллов)
0 голосов
3 ответов
спросил 07 Март, 14 от aisigylka (100 баллов)
0 голосов
2 ответов
0 голосов
5 ответов
спросил 17 Ноя, 13 от HeJIJIu (630 баллов)
0 голосов
3 ответов
спросил 12 Ноя, 13 от Snezhka (2,240 баллов)