• 技术文章 >php教程 >PHP开发

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

    黄舟黄舟2016-12-30 09:53:36原创1208

    为前台和后台做出区别,为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中的内容删除,完成后如下。

    <?php
    use yii\helpers\Html;
    
    /* @var $this \yii\web\View */
    /* @var $content string */
    
        if (class_exists('backend\assets\AppAsset')) {
            backend\assets\AppAsset::register($this);
        } else {
            app\assets\AppAsset::register($this);
        }
    
        dmstr\web\AdminLteAsset::register($this);
    
        $directoryAsset = Yii::$app->assetManager->getPublishedUrl('@vendor/almasaeed2010/adminlte/dist');
        ?>
        <?php $this->beginPage() ?>
        <!DOCTYPE html>
        <html lang="<?= Yii::$app->language ?>">
        <head>
            <meta charset="<?= Yii::$app->charset ?>"/>
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <?= Html::csrfMetaTags() ?>
            <title><?= Html::encode($this->title) ?></title>
            <?php $this->head() ?>
        </head>
        <body class="hold-transition skin-blue sidebar-mini">
        <?php $this->beginBody() ?>
        <div>
    
            <?= $this->render(
                'header.php',
                ['directoryAsset' => $directoryAsset]
            ) ?>
    
            <?= $this->render(
                'left.php',
                ['directoryAsset' => $directoryAsset]
            )
            ?>
    
            <?= $this->render(
                'content.php',
                ['content' => $content, 'directoryAsset' => $directoryAsset]
            ) ?>
    
        </div>
    
        <?php $this->endBody() ?>
        </body>
        </html>
        <?php $this->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核实处理。
    专题推荐:Yii2 ,framework
    上一篇:ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 静态html文件执行php语句的方法(推荐)• 如何优化设置phpcms v9的url规则?• 基于jQuery实现Tabs选项卡自定义插件• MySQL命令行参数完整版• PHP 高手之路(二)
    1/1

    PHP中文网