[Решено] Сниппет видимости блока для роли. Как быть, если имя роли в кириллице?
Прислано: 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's blog
- Для комментирования войдите или зарегистрируйтесь
Подставил название как есть в кириллице и работает.Надеюсь не испорчу карму себе этим :)
- Для комментирования войдите или зарегистрируйтесь
Испортите :)
В массиве ролей у пользователя ключ элемента массива роли равен id роли в системе, зачем Вам кирилица? при использовании цифр (id role), главное чтоб они были арабскими, Вам будет абсолютно фиолетово какими букавами ее обозвали (эту роль).
- Для комментирования войдите или зарегистрируйтесь
Зачем карму портите, можно:
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; } ?>
Опоздал
- Для комментирования войдите или зарегистрируйтесь
Зачем карму портите, можно:
Опоздал
Вот зачем сразу готовые решения выдавать ;) пусть человек подумает голову поломает слегка так сказать.
заодно вот сюда http://www.php.ru/manual/ref.array.html слазит.
Кстати можно вот эту функцию использовать array_key_exists();
<?php global $user; return array_key_exists('3', $user->roles); // 3 = id роли в системе. ?>
- Для комментирования войдите или зарегистрируйтесь
Вот зачем сразу готовые решения выдавать ;)
Sorry исправлюсь :)
- Для комментирования войдите или зарегистрируйтесь
О,спасибо. Странно, такие сниппеты на орге мне не попадались
- Для комментирования войдите или зарегистрируйтесь
на орге мне не попадались
:) Они ни пишут кириллицей.
- Для комментирования войдите или зарегистрируйтесь
Истинно,грёбаные шовинисты
- Для комментирования войдите или зарегистрируйтесь




Комментарии