Я иcпользую блоки views. Когда заходит анонимный пользователь или просто авторизованный - им показывается один блок, а в случае когда заходит администратор - другой.
Настроил видимость блоков по ролям, но проблема такая - ведь администратор имеет 2 роли, и авторизованный пользователь и админ, и видит 2 блока..
Как возможно ли скрыть блок для администратора, но показать просто авторизованному пользователю?
Комментарии
Добавить еще одну роль (авторизован и может видеть блоки)
и давать ее всем авторизованным пользователям кроме админа, и уже на нее настроить видимость блока
А как автоматом присвоить эту новую роль всем авторизованым пользователям?
Напишите сниппет который проверяет роли текущего пользователя и если там присутствует нужная роль, то показывать или нет данный блок.
примерно так:
<?php global $user
if ($user->uid) {
foreach ($user->roles as $role) {
if ($role == 'имя нужной роли') return TRUE; //Блок покажется
}
}
return FALSE;
?>
А куда этот код вставить? где контролируется показ конкретного блока?
В настройках показа блока, ну можете еще куда нибудь вставить
Не факт что 100% рабочий код, я его не проверял, но вроде так должно быть.
PS учить мат.часть!!!
Спасибо!
да я php знаю, просто с друпалом ещё не освоился
а можно не имя а айли??? для 7ки также???