Hello world))
Как показать блок зарегистрированным пользователям, но скрыть от других ролей?
Порылся на D.ORG, но решения не нашел, понял одно, реализуется php кодом в видимости блока, но каким?
Такое решение предлагают для D5
<?php
global $user;
return ((count($user->roles) == 1) && ($user->roles[1] == 'anonymous user' || $user->roles[2] == 'authenticated user'));
?>
Комментарии
В настройках каждого блока есть же Настройки видимости для ролей
Чекбоксами, надо полагать. Задавайте вопросы конкретнее. Что из моего ответа не ясно / не получается?
Любая роль, является зарегистрированным пользователем. Как показать блок зарегистрированным пользователям, но скрыть от других ролей?
Всё, дошло
Решение в первом посте в общем-то тоже верное и для 6-ки.
Предлагаю следующее. В настройке "Показывать блок на определенных страницах" ставим режим "Показывать, если данный PHP-код возвращает TRUE" и вводим:
return count($GLOBALS['user']->roles) == 1 && isset($GLOBALS['user']->roles[2]);
?>
Роль с id = 2 зарезервирована в системе для авторизованных пользователей, и если других ролей у активного в данный момент посетителя нет - блок будет показан.