如何将css类添加到yii2布局中的body标记?
我想在前端/views/layouts/main.php中的yii2 advanced中将css类添加到body标记中。我该怎么做?您只需将类添加到body标记中即可如何将css类添加到yii2布局中的body标记?,yii2,yii2-advanced-app,Yii2,Yii2 Advanced App,我想在前端/views/layouts/main.php中的yii2 advanced中将css类添加到body标记中。我该怎么做?您只需将类添加到body标记中即可 <body class="yourClass"> 您只需将类添加到body标记中即可 <body class="yourClass"> 您可以这样动态地执行此操作: <body class="<?= $this->context->bodyClass; ?>"> 或
<body class="yourClass">
您只需将类添加到body标记中即可
<body class="yourClass">
您可以这样动态地执行此操作:
<body class="<?= $this->context->bodyClass; ?>">
或默认值:
public $bodyClass = 'custom-skin';
Ofc您可以通过重新定义在任何扩展控制器中重写此属性:
public $bodyClass = 'custom-skin-2';
在init中:
public function init() {
parent::init();
$this->bodyClass = 'custom-skin-2';
}
在具体行动中:
public function actionView()
{
$this->bodyClass = 'custom-skin-3';
return $this->render('view');
}
您可以这样动态地执行此操作:
<body class="<?= $this->context->bodyClass; ?>">
或默认值:
public $bodyClass = 'custom-skin';
Ofc您可以通过重新定义在任何扩展控制器中重写此属性:
public $bodyClass = 'custom-skin-2';
在init中:
public function init() {
parent::init();
$this->bodyClass = 'custom-skin-2';
}
在具体行动中:
public function actionView()
{
$this->bodyClass = 'custom-skin-3';
return $this->render('view');
}
另一种可能的解决方案是在视图中使用变量
$params
例子
在您的视图中,您可以定义:
$this->params['bodyClass'] = 'yourclass';
然后,在布局文件中,您将:
[.. head and other codes ..]
<body <? if(isset($this->params['bodyClass'])) echo 'class="' . $this->params['bodyClass'] . '"'; ?>>
<?php $this->beginBody() ?>
[.. rest of your code ..]
[…头和其他代码..]
>
[…代码的其余部分]
注意
我建议您使用if-so,它只在您的视图中设置$params['bodyClass']时才放置类
此外,您可以使用任何您想要的名称来代替bodyClass
此示例将输出
干杯。另一种可能的解决方案是在视图中使用变量
$params
例子
在您的视图中,您可以定义:
$this->params['bodyClass'] = 'yourclass';
然后,在布局文件中,您将:
[.. head and other codes ..]
<body <? if(isset($this->params['bodyClass'])) echo 'class="' . $this->params['bodyClass'] . '"'; ?>>
<?php $this->beginBody() ?>
[.. rest of your code ..]
[…头和其他代码..]
>
[…代码的其余部分]
注意
我建议您使用if-so,它只在您的视图中设置$params['bodyClass']时才放置类
此外,您可以使用任何您想要的名称来代替bodyClass
此示例将输出
干杯。你尝试了什么?你尝试了什么?谢谢我没有注意到)谢谢我没有注意到)如果你这样做如果你这样做