Вывести блок, если пользователь имеет роль

Аватар пользователя mailikos

Друзья, помогите пожалуйста. Мне нужно вывести текст, если Пользователь, на странице которого я нахожусь имеет роль, допустим: неактивный. Я знаю как выводить это, если залогинившийся пользователь имеет роль:

<?php// Load the currently logged in user.
global $user;
// Если пользователь имеет роль Неактиынй
if (in_array('Неактивный'$user->roles)) {
  
$block block_load('block''21');
$blocks _block_render_blocks(array($block));
$blocks_build _block_get_renderable_array($blocks);
unset(
$blocks_build[$module_name '_' $block_delta]['#theme_wrappers']);
echo 
drupal_render($blocks_build);
}
?>

но никак не могу применить это к пользователю, на странице которого я нахожусь. Заранее прошу, не судить строго, так как начал изучать друпал совсем недавно

Модули и темы:
Тип материала:
Версия Drupal:
0 Thanks

Комментарии

Аватар пользователя Andruxa
Andruxa 1 неделя назад
2

В настройках блока есть выбор, каким ролям его показывать.

Аватар пользователя Orion76
Orion76 1 неделя назад
mailikos написал:
если Пользователь, на странице которого я нахожусь имеет роль,

Если это страница профиля пользователя, то uid пользователя есть в url-е..
Его можно получить функцией arg(ИНДЕКС_ЭЛЕМЕНТА_URL) ( https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/arg/7.x )

<?php
//Получаете uid
$uid=arg(1);
// Загружаете объект пользователя
$usruser_load($uid);

// и так далее

?>