Как запретить отображение блока Drupal, если у пользователя нет определенного разрешения?
Я знаю, что могу использовать блок "Показать блок для определенных ролей", чтобы вручную настроить отображение блока для пользователей.
У меня есть модуль, который определяет пользовательские блоки. Вместо того, чтобы полагаться на то, что администратор ограничивает видимость блоков на основе ролей, может ли мой модуль ограничивать отображение своих блоков, если у пользователя нет определенного разрешения?
2 ответа
Решение
Проверьте доступ по user_access("Некоторое имя доступа");
Для вашего модуля просто верните пустое значение, и блок для этого пользователя не появится.
Для блочного администрирования используйте php код для наглядности.
Никит прав, пример кода:
<?php
$block = array();
if (user_access('my custom permission')) {
$block['content'] = t('Here is a message');
}
return $block;
?>