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

San*_*gha 7 css php yii

我在Yii编码.

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

Yii::app()->clientScript->registerCssFile($this->assetsBase.'/css/main.css');
Run Code Online (Sandbox Code Playgroud)

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

我知道使用:

Yii::app()->clientScript->reset();
Run Code Online (Sandbox Code Playgroud)

将删除所有的CSS文件,但我只想要几个CSS文件取消注册.

有办法吗?

boo*_*dev 9

您可以使用特定视图中的scriptMap属性CClientScript,传递false您不想呈现的特定脚本/ css文件的键.来自doc:

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

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

Yii::app()->clientScript->scriptMap = array(
    'main.css' => false
);
Run Code Online (Sandbox Code Playgroud)

禁用包含注册的main.cssregisterCssFile.

scriptMap也可用于控制的JS脚本文件的渲染.

  • 非常感谢!!这正是我想要的. (2认同)