[Решено] Сниппет видимости блока для роли. Как быть, если имя роли в кириллице?

Прислано: volocuga@drupal.org

чт, 18/03/2010 - 12:04

Другие статьи по теме:

Возникла необходимость убирать блок для определённой роли, пользователи с которой также имеют роль авторизированного пользователя. Одними галочками дело не решить

Использую всем известный сниппет

<?php global $user;
      if (
in_array('role name'array_values($user->roles))) {
            return 
false;
      }
      else{
            return 
true;
      }
 
?>

У меня роли в кириллице, т.к в латинские названия не переводятся. Подскажите, как заюзать в сниппете ID роли, просто подставить цифру не работает

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано volocuga@drupal.org в чт, 18/03/2010 - 12:36.

Подставил название как есть в кириллице и работает.Надеюсь не испорчу карму себе этим :)


Опубликовано glu2006 в чт, 18/03/2010 - 12:52.

Испортите :)
В массиве ролей у пользователя ключ элемента массива роли равен id роли в системе, зачем Вам кирилица? при использовании цифр (id role), главное чтоб они были арабскими, Вам будет абсолютно фиолетово какими букавами ее обозвали (эту роль).


Опубликовано wolfXXXL в чт, 18/03/2010 - 13:02.

Зачем карму портите, можно:

global $user;
<?php global $user;
      if (in_array('3', array_keys($user->roles))) { // 3 = role name, var_dump($user->roles); покажет соответствие 
            return false;
      }
      else{
            return true;
      }
 ?>

Опоздал


Опубликовано glu2006 в чт, 18/03/2010 - 13:08.

wolfXXXL написал(а):

Зачем карму портите, можно:

Опоздал

Вот зачем сразу готовые решения выдавать ;) пусть человек подумает голову поломает слегка так сказать.
заодно вот сюда http://www.php.ru/manual/ref.array.html слазит.
Кстати можно вот эту функцию использовать array_key_exists();

<?php global $user;
  return array_key_exists('3', $user->roles); // 3 = id роли в системе.
 ?>


Опубликовано wolfXXXL в чт, 18/03/2010 - 13:05.

"glu2006" написал(а):

Вот зачем сразу готовые решения выдавать ;)

Sorry исправлюсь :)


Опубликовано volocuga@drupal.org в чт, 18/03/2010 - 16:16.

О,спасибо. Странно, такие сниппеты на орге мне не попадались


Опубликовано wolfXXXL в пт, 19/03/2010 - 08:14.

"volocuga@drupal.org" написал(а):

на орге мне не попадались

:) Они ни пишут кириллицей.


Опубликовано volocuga@drupal.org в пт, 19/03/2010 - 10:08.

Истинно,грёбаные шовинисты


Новое на сайте

Ссылки партнёров