Редирект после логина по ролям.Помогите с синтаксом в сниппете

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

Аватар пользователя volocuga volocuga 26 мая 2009 в 13:55

Модуль Login destination

Вот такой сниппет работает если роль (в данном случае "special users") написана латиницей:

<?phpglobal $user;
if (in_array('special users', $user->roles)) {
    return 'node/5'; // Редирект для роли 'special users'
}
else {
    return '<front>'; //Перенаправляем остальных на главную
}?>

У меня же названия ролей кирилицей.Само собой код невалидный.Как заюзать ID роли?
Пробую так:

<?phpglobal $user;
if (in_array('5', $user->roles)) {
    return 'node/5'; // Редирект на node/5 для роли с ID 5
}
else {
    return '<front>'; //Перенаправляем остальных на главную
}?>

Что делаю не так?

Комментарии

Аватар пользователя vicccy vicccy 26 мая 2009 в 15:30

Мне кажется, что названия ролей лучше сделать латиницей. Если есть необходимость сделать их на русском, то использовать просто переводы. И все будет работать как нужно.

Кстати, мне давно нужен был такой модуль! Спасибо за подсказку!)

Аватар пользователя volocuga volocuga 27 мая 2009 в 0:19

vicccy:
Да,это очевидное решение.Только локализатором у меня эти названия почему то не находятся-допускаю,что они непереводимы.

Вообщем я забил и отказался от редиректа по ролям.Назначил для менеджеров,редакторов определённые роли и редирекчу по UID