Зачастую возникает такая потребность, что нужно скрыть блок или блоки для определенных ролей.
К примеру у вас существую роль блок который нужно показывать для пользователей с ролью "Зарегистрированный" но скрыть его для всех с ролью "vipuser".
Стандартными настройками блоков тут не обойтись, потому что если выставить показывать только для зарегистрированных, а для "vipuser" не по показывать, то такая настройка не применится, т.к. "vipuser" он по умолчанию является "Зарегистрированным".

Чтобы решить данную задачу, нам потребуется в поле настроек видимости блоков прописать следующий php код:

<?php
global $user;
return in_array('vipuser', $user->roles) ? FALSE : TRUE;
?>