Home  >  Article  >  php教程  >  Yii2 framework study notes (5) -- changing the skin for the backend

Yii2 framework study notes (5) -- changing the skin for the backend

黄舟
黄舟Original
2016-12-30 09:53:361749browse

Make a distinction between the frontend and the backend, and change the AdminLTE skin for the backend.

There is a ready-made adminLTE plug-in for yii2 on the Internet, use it directly.

Add the following content to the require node in composer.json

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

Run the composer update installation code.

After the installation is complete, copy the contents of the site/layouts folders under /vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app to overwrite those under /backend/views/ folder with the same name.

Make some slight changes.

backend/views/layouts/main.php, according to the prompts inside, delete the content in the first if, as shown below.

<?php
use yii\helpers\Html;

/* @var $this \yii\web\View */
/* @var $content string */

    if (class_exists(&#39;backend\assets\AppAsset&#39;)) {
        backend\assets\AppAsset::register($this);
    } else {
        app\assets\AppAsset::register($this);
    }

    dmstr\web\AdminLteAsset::register($this);

    $directoryAsset = Yii::$app->assetManager->getPublishedUrl(&#39;@vendor/almasaeed2010/adminlte/dist&#39;);
    ?>
    <?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(
            &#39;header.php&#39;,
            [&#39;directoryAsset&#39; => $directoryAsset]
        ) ?>

        <?= $this->render(
            &#39;left.php&#39;,
            [&#39;directoryAsset&#39; => $directoryAsset]
        )
        ?>

        <?= $this->render(
            &#39;content.php&#39;,
            [&#39;content&#39; => $content, &#39;directoryAsset&#39; => $directoryAsset]
        ) ?>

    </div>

    <?php $this->endBody() ?>
    </body>
    </html>
    <?php $this->endPage() ?>

Then in backend/controllers/SiteController.php, point to the layout that needs to be used for login in aiontLogin.

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

The finished effect is as follows.

Yii2 framework study notes (5) -- changing the skin for the backend

Yii2 framework study notes (5) -- changing the skin for the backend

The above are the Yii2 framework study notes (5) - the content of changing the skin for the background. For more related content, please pay attention to PHP Chinese Net (www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn