在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'];
请任何人都可以帮忙解决这个问题。
答案 0 :(得分:2)
我建议采用不同的方法:
/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等等。