Yii2如何访问web / css / custom.php文件夹文件

时间:2016-11-03 12:18:44

标签: php yii2 yii2-advanced-app yii-extensions yii2-basic-app

在Yii2中我尝试添加动态css loading。所以我在web / css / custom.php中添加php文件。现在我无法访问custom.php中的模型或会话。它显示出一些错误。

现在我添加会话概念但显示此错误Fatal error: Class 'Yii' not found。布局文件我提到了自定义文件链接。<link type="text/css" rel="stylesheet" href="<?php echo Yii::$app->request->baseUrl?>/web/css/custom.php"> $sessionArray = Yii::$app->session['settings'];

请任何人都可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:2)

我建议采用不同的方法:

  1. 创建原始布局文件
  2. 创建自定义操作
  3. 将您的代码放入视图文件
  4. /views/layouts/raw.php

    <?php $this->beginPage() ?>
    <?php $this->beginBody() ?>
    <?= $content ?>
    <?php $this->endBody() ?>
    <?php $this->endPage() ?>
    

    /frontend/controllers/SiteController.php

    <?php
        public function actionCustomCss()
        {
            $this->layout = "raw";
            Yii::$app->response->format = \yii\web\Response::FORMAT_RAW;
            Yii::$app->response->headers->add('Content-Type', 'text/css');
    
            return $this->render('css');
        }
    ?>
    

    /frontend/views/site/css.php

    html, body {
    font-family: <?= implode(['Consolas', 'Arial'], ', ') ?> !important;
        color: <?= "red "?> !important;
    }
    

    并使用它:

    <link rel="stylesheet" type="text/css" href="<?= \yii\helpers\Url::to(['site/custom-css']) ?>">
    

    现在,在您的视图文件中,您可以使用Yii :: $ app等等。