public function beforeAction($action)
{
if (parent::beforeAction($action)) {
$componentClassName = \Yii::$app->request->get('componentClassName');
$namespace = \Yii::$app->request->get('componentNamespace');
if ($namespace) {
$component = new $componentClassName(['namespace' => $namespace]);
} else {
$component = new $componentClassName();
}
if (!$component || !$component instanceof Component) {
throw new UserException("Указан некорректный компонент");
}
$this->_component = $component;
$this->_callableData = $this->_getCallableData($component);
//TODO: Добавить возможность настройки
\Yii::$app->view->theme = new Theme(['pathMap' => ['@app/views' => ['@skeeks/cms/modules/admin/views']]]);
\Yii::$app->language = \Yii::$app->admin->languageCode;
return true;
} else {
return false;
}
}