Добрый день!
Есть несколько ролей.
При входе на сайт пользователей с разными ролями, все они должны видеть один и тот же layout, и, например, переходя по одному и тому же пути - иметь разный контент этого layout'a.
Например,
есть 3 роли: role_1, role_2, role_3.
Пользователи переходят по урлу "/".
И каждый из них видит свой контент внутри этого layout'a.
т.е. пользователь с ролью role_1 - видит view_1, пользователь с ролью role_2 - видит view_2 и т.д.
Логика для view's - так же отличается.
Посоветуйте, пожалуйста, как это более грамотно организовать? Чтобы контроллеры не раздувались и не было switch'ей по роли в каждом методе(контроллере).
Проблема именно в том, что логика для каждого рендера view у каждой роли разная и для каждой роли в методе контроллера придется писать что-то типа:
switch($role) {
case 'role_1':
.....
$params = arr1;
break;
case 'role_2':
.....
$params = arr2;
break;
case 'role_3':
.....
$params = arr2;
break;
}
return $this->render('index-' . $role, $params);
Спасибо