防止在Yii中加载特定的CSS文件

时间:2013-07-22 14:56:02

标签: php css yii

我在Yii编码。

我在main.php布局文件中注册了main.css文件,如下所示:

Yii::app()->clientScript->registerCssFile($this->assetsBase.'/css/main.css');

现在这个脚本正在所有页面中注册。但是,我不希望该脚本在特定页面上注册。

我知道使用:

Yii::app()->clientScript->reset();

会删除所有CSS文件,但我只想要几个CSS文件取消注册。

有办法吗?

2 个答案:

答案 0 :(得分:9)

您可以在特定视图中使用scriptMap property of CClientScript,将false传递给您不想呈现的特定脚本/ css文件的密钥。来自doc:

  

数组键是脚本文件名(没有目录部分),数组值是相应的URL。如果数组值为false,则不会呈现相应的脚本文件。

例如,在 views / site / pages / about.php 中说:

Yii::app()->clientScript->scriptMap = array(
    'main.css' => false
);

禁止在registerCssFile注册 main.css

scriptMap也可用于控制js脚本文件的呈现。

答案 1 :(得分:1)

我建议:

为该页面使用单独的布局,例如main_no-css.php

在注册脚本之前添加条件(如控制器!= xxx和action!= yyy),但这会导致在每个其他页面上检查条件。

我肯定会选择单独的布局。