Модуль 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:
Да,это очевидное решение.Только локализатором у меня эти названия почему то не находятся-допускаю,что они непереводимы.
Вообщем я забил и отказался от редиректа по ролям.Назначил для менеджеров,редакторов определённые роли и редирекчу по UID