Разные шаблоны для разных экшенов

Ребят, подскажите, есть ли возможность давать разные шаблоны для скажем для экшена «admin» и других? Да, есть отдельная папка в шаблоне для каждого экшена, но хочется, чтобы для адреса /admin/… шаблон был отдельный, чтобы отделить от основного. Параметр конфигурации view.skin, который за это отвечает, используется еще до инициализации экшена, поэтому:

Config::Set('view.skin','имя шаблона');

в методе Init() экшена не срабатывает и не меняет шаблон, а такую строчку в Init() класса Views

if (Router::GetAction()=='admin') Config::Set('view.skin','имя шаблона');


тоже не хочется вставлять, да и не корректно. Вообще желательно подключать свой конфиг файл с заданными css и js файлами для этого шаблона. Есть идеи?

3 комментария

avatar
скорее врядли
так шаблон компилируется и кэшируется
изменить модно но много надо чего менять
avatar
для каждого ж шаблона папка компиляции и кэширования своя
avatar
Создал такой хук
class HookAdminSkin extends Hook {
	public function RegisterHook() {
		$this->AddHook('viewer_init_start','SetSkin',__CLASS__,-1000);
	}

	public function SetSkin() {
		//$oEngine=Engine::getInstance();
		/**
		 * У админа свой шаблон
		 */
		if(Router::GetAction()=='admin')	Config::Set('view.skin', 'admin');	
		
	}
}


Работает
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.