PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

Yii2 framework学习笔记(五) -- 为后台更换皮肤

黄舟
黄舟 原创
2016-12-30 09:53:36 1436浏览

为前台和后台做出区别,为backend换台AdminLTE的皮肤。

网上有现成的yii2的adminLTE插件,直接使用之。

在composer.json里的require节点添加如下内容

"require": {
         ...
         "dmstr/yii2-adminlte-asset": "2.*",
         ...
    },

运行composer update安装代码。

安装完成后,将/vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app下的site/layouts两个文件夹内容复制覆盖/backend/views/下的同名文件夹。

稍微做些改动。

backend/views/layouts/main.php,根据里面的提示,把第一个if中的内容删除,完成后如下。

assetManager->getPublishedUrl('@vendor/almasaeed2010/adminlte/dist');
    ?>
    beginPage() ?>
    
    language ?>">
    
        charset ?>"/>
        
        
        <?= Html::encode($this->title) ?>
        head() ?>
    
         beginBody() ?>     
        render(             'header.php',             ['directoryAsset' => $directoryAsset]         ) ?>         render(             'left.php',             ['directoryAsset' => $directoryAsset]         )         ?>         render(             'content.php',             ['content' => $content, 'directoryAsset' => $directoryAsset]         ) ?>     
    endBody() ?>               endPage() ?>

然后在backend/controllers/SiteController.php里,在aciontLogin里指向login需要使用的layout。

public function actionLogin()
    {
        if (!\Yii::$app->user->isGuest) {
            return $this->goHome();
        }
        // add this line to use the right layout
        $this->layout = '//main-login';
        $model = new LoginForm();
        if ($model->load(Yii::$app->request->post()) && $model->login()) {
            return $this->goBack();
        } else {
            return $this->render('login', [
                'model' => $model,
            ]);
        }
    }

完成后效果如下。

667.png

668.png

 以上就是Yii2 framework学习笔记(五) -- 为后台更换皮肤的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。