/** * Module name getter * * @param $namespace * @return string|bool */ public static function getModuleName($namespace) { foreach (ModuleModel::findAllActive() as $module) { //'/[\w]+$/':结尾的单词 //获取 模块类 目录,eg: $module->class = 'yii\easyii\modules\article\ArticleModule' // 则 $moduleClassPath = 'yii\easyii\modules\article\'; $moduleClassPath = preg_replace('/[\\w]+$/', '', $module->class); if (strpos($namespace, $moduleClassPath) !== false) { return $module->name; } } return false; }
/** * @inheritdoc */ public function init() { parent::init(); // custom initialization code goes here parent::init(); if (Yii::$app->cache === null) { throw new ServerErrorHttpException('请在配置文件中配置cache组件!'); } $this->activeModules = Module::findAllActive(); $modules = []; foreach ($this->activeModules as $name => $module) { $modules[$name]['class'] = $module->class; if (is_array($module->settings)) { $modules[$name]['settings'] = $module->settings; } } $this->setModules($modules); //define('IS_ROOT', !Yii::$app->user->isGuest && Yii::$app->user->identity->isAdmin); //define('LIVE_EDIT', !Yii::$app->user->isGuest && Yii::$app->session->get('easyii_live_edit')); //后台登录的都算为ROOT define('IS_ROOT', !Yii::$app->user->isGuest && Yii::$app->homeUrl != '/'); define('LIVE_EDIT', !Yii::$app->user->isGuest && Yii::$app->session->get('easyii_live_edit')); }