Layout в accessRules

Пишу свою cms. Сделал систему разделения прав. В front-end пользователь, если он не имеет доступа попадает на страницу error.php - в конфиге:




'errorHandler'=>array(

			// use 'site/error' action to display errors

                        'errorAction'=>'index/error',

                ),



Layout в который врапится error.php - layout по умолчанию. Меня это устраивает.

А вот в админке хотелось бы направлять пользователя пусть на тот же error.php, но врапить в другой layout.

Так вот люди, добрые, подскажите как задать layout используя accessRules?

с помощью accessRules думаю никак этого не сделать.

хотя с другой стороны accessRules срабатывает в контроллере а layout тоже можно в рантайме изменить из контроллера

Да, срабатывает в контроллере, но куда дальше мы попадаем…по какому признаку отследить как сработал accessRules?

на мой взгляд в accessRules вы можете сделать условие по которому определить тот ли это юзер которого Вам надо !послать" на другой лэйаут, и если да то подменить лэйаут в рантайме.

Сделайте отдельный контролер для ошибок на который и будет перенаправлять при ошибки, а в нем переопределите свойство layout

Проблему решил не очень красивым методом, но все же:

в методе error, указанном в errorAction проверяю ссылку с которой попадаю в данный метод и, разобрав ссылку ищу в ней слово admin (все контроллеры у меня начинаются со слова Admin). В зависимости от наличия данного слова устанавливаю нужный layout.