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

Главные вкладки

Аватар пользователя mailikos mailikos 10 октября 2018 в 1:49

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

<?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);
}?>

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

Комментарии

Аватар пользователя Orion76 Orion76 10 октября 2018 в 6:21

mailikos wrote:

если Пользователь, на странице которого я нахожусь имеет роль,

Если это страница профиля пользователя, то 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);

// и так далее

?>