Оказывается у неавторизованных посетителей нет доступа к Информационному блоку. Хотя в настройках инфоблока выставлено
Все посетители => ЧтениеДля эксперимента следующий php-код для авторизованных пользователей возвращает информацию о разделе, а для НЕавторизованных пустой массив
| Код |
|---|
<?php
require($_SERVER["DOCUMENT_ROOT"] . '/bitrix/modules/main/include/prolog_before.php');
CModule::IncludeModule('iblock');
$currentSection = CIBlockSection::GetList(
array('SORT' => 'ASC'),
array(
'ID' => 626,
'IBLOCK_ID' => 9
),
false,
array('ID', 'IBLOCK_SECTION_ID', 'NAME', 'SECTION_PAGE_URL')
)->GetNext();
print_r($currentSection); |
У всех разделов и товаров в настройках доступа выставлено Все посетители => ЧтениеТакже в день поломки была создана группа пользователей, сами пользователи заносились в эту группу с помощью этого скрипта (посмотрите, возможно я не так их добавлял)
| Код |
|---|
if(isset($_GET['join']) && CUser::IsAuthorized()){
//Изменение параметров пользователя
$user = new CUser;
$fields = Array(
'NAME' => $_GET['firstname'],
'LAST_NAME' => $_GET['lastname'],
'SECOND_NAME' => $_GET['patronymic'],
'PERSONAL_GENDER' => $_GET['sex'],
'EMAIL' => $_GET['email'],
'PERSONAL_PHONE' => $_GET['phone'],
'PERSONAL_BIRTHDAY' => "$_GET[day].$_GET[month].$_GET[year]",
);
$user->Update($USER->GetId(), $fields);
$strError .= $user->LAST_ERROR;
//Получение всех групп, в которых состоит пользователь
$arGroups = CUser::GetUserGroup($USER->GetId());
$arGroups[] = 14;
//Добавление пользователя в группу
CUser::SetUserGroup(
$USER->GetId(),
$arGroups
);
//Необходима переавторизация на сайте, чтобы получить измененные данные
CUser::Logout(); |