public function beforeAction($action) { if (parent::beforeAction($action)) { if (!in_array(Yii::$app->user->identity->username, Yii::$app->params['admin']) || !$this->checkAccess()) { throw new ForbiddenHttpException(Yii::t('app', 'You are not allowed to access this page.')); } if (!Common::getLanguage()) { preg_match('/^([a-z\\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches); Common::setLanguage($matches[1]); Yii::$app->language = $matches[1]; } else { Yii::$app->language = Common::getLanguage(); } return true; } else { return false; } }
$menuItems[] = ['label' => \Yii::t('app', 'Logout') . ' (' . Yii::$app->user->identity->username . ')', 'url' => ['/site/logout'], 'linkOptions' => ['data-method' => 'post']]; } if (Common::getLanguage()) { switch (Common::getLanguage()) { case 'en': $languageLable = '<i class="ficon-flag-GB"></i> English'; break; case 'zh-CN': $languageLable = '<i class="ficon-flag-CN"></i> 简体中文'; break; default: $languageLable = '<i class="ficon-flag-GB"></i> English'; break; } } $menuItems[] = ['label' => Common::getLanguage() ? $languageLable : \Yii::t('app', 'choose language'), 'url' => '#', 'items' => [['label' => '<i class="ficon-flag-GB"></i> English', 'url' => ['default/locale', 'language' => 'en']], ['label' => '<i class="ficon-flag-CN"></i> 简体中文', 'url' => ['default/locale', 'language' => 'zh-CN']]]]; echo Nav::widget(['options' => ['class' => 'navbar-nav navbar-right'], 'items' => $menuItems, 'encodeLabels' => false]); NavBar::end(); ?> <!-- <div class="container"> --> <?php echo $content; ?> <!-- </div> --> </div> <?php $this->endBody(); ?> </body> </html>
<?php use yii\bootstrap\Nav; use app\components\Common; use app\models\User; /* @var User $current_user */ $current_user = Yii::$app->user->identity; $menuItems = [['label' => '前台首页', 'url' => ['/site/index'], 'linkOptions' => ['target' => '_blank']]]; switch (Common::getLanguage()) { case 'en': $languageLabel = ' English'; break; case 'zh-CN': $languageLabel = '简体中文'; break; default: $languageLabel = 'English'; break; } $menuItems[] = ['label' => $languageLabel, 'url' => '#', 'items' => [['label' => ' English', 'url' => ['default/locale', 'language' => 'en']], ['label' => ' 简体中文', 'url' => ['default/locale', 'language' => 'zh-CN']]]]; $menuItems[] = ['label' => $current_user->nickname, 'url' => ['#'], 'active' => false, 'items' => [['label' => '<i class="fa fa-user"></i> ' . '个人资料', 'url' => ['/user']], ['label' => '<i class="fa fa-sign-out"></i> ' . '注销', 'url' => ['/logout']]]]; $menuItems[] = ['label' => "<i class=\"fa fa-cog\"> </i>", 'url' => '#', 'linkOptions' => ['data-toggle' => 'control-sidebar']]; echo Nav::widget(['options' => ['class' => 'nva navbar-nav'], 'items' => $menuItems, 'encodeLabels' => false]);