/** * 获取扩展模块列表 * @return array|mixed */ public function modules() { $cache = Yii::$app->cache; if (($modules = $cache->get(self::CACHE_MODULES_DATA)) === false) { $modules = []; $model = $this->moduleModelClass; foreach ($model::models() as $id => $model) { $class = ModuleHelper::getBaseNamespace($model) . '\\Module'; if (!ModuleHelper::isAddonModule($class)) { // 扩展模块必须继承BaseModule continue; } $modules[$id] = ['class' => $class, 'name' => $model['name']]; } $cache->set(self::CACHE_MODULES_DATA, $modules, null, new TagDependency(['tags' => [ModuleModel::CACHE_MODULES_DATA_DEPENDENCY_TAG]])); } return $modules; }
<?php if ($wechat) { ?> <?php echo Html::a($wechat->name, ['/wechat/wechat/update', 'id' => $wechat->id], ['class' => 'btn btn-block btn-success mb10']); ?> <?php } ?> <?php echo CategoryMenu::widget(['items' => $wechatModule->getCategoryMenus()]); ?> </div> <div class="col-sm-10"> <?php if (ModuleHelper::isAddonModule($currentModule) && ($adminMenus = $currentModule->getAdminMenus()) != []) { ?> <?php NavBar::begin(['brandLabel' => $currentModule->name, 'brandUrl' => ModuleHelper::getAdminHomeUrl($currentModule->id), 'renderInnerContainer' => false]); echo Nav::widget(['options' => ['class' => 'navbar-nav'], 'items' => $currentModule->getAdminMenus()]); NavBar::end(); ?> <?php } ?> <?php echo $content; ?> </div> </div> <?php