ragnar_ok
@ragnar_ok

Как вывести не авторизованному пользователю форум с доступом «Нет доступа»?

Как вывести не авторизованному пользователю форум с доступом "Нет доступа" в списке форумов?
Компонент: bitrix:forum.index
При этом, насколько я понимаю, при попытке перейти по ссылке, ведущей на этот форум, должно выводить страницу авторизации (?login=yes).
Судя по тому, что в результирующем массиве (arResult) форум с "Нет доступа" отсутствует для не авторизованного пользователя, формирование списка форумов происходит в component.php. Но где?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
ragnar_ok
@ragnar_ok Автор вопроса
/bitrix/components/bitrix/forum.index/component.php:139
Нужно изменить логику работы фильтра:
if (!CForumUser::IsAdmin()):
		$arFilter["PERMS"] = $USER->GetGroups() === "2" ? [] : array($USER->GetGroups(), 'A');
		$arFilter["ACTIVE"] = "Y";
	endif;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Проверку можно организовать через if (!CUser::GetID()) {// логика для не авторизованного
} else {// логика для авторизованного
}
Описанное мной решение не претендует на стандартное, с bitrix порядка полу года.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы