我想在前端/ views / layouts / main.php的yii2高级中添加css类到body标签我该怎么办?
答案 0 :(得分:4)
您可以像这样动态执行此操作:
<body class="<?= $this->context->bodyClass; ?>">
在主Controller
(所有其他控制器应扩展此Controller
)定义属性:
public $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');
}
答案 1 :(得分:1)
您只需将课程添加到正文标记
即可<body class="yourClass">
答案 2 :(得分:1)
另一种可能的解决方案是在视图中使用变量$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,这样仅当在您的视图中设置了$ params ['bodyClass']时才放置该类。
此外,您可以使用所需的任何名称代替 bodyClass 。
此示例将输出<body class="yourclass">
干杯。