Javascript 在yii控制器中注册css和js是否更好?
我只想为一个特定视图加载这些文件 或者在Yii框架中为特定视图导入CSS和Javascript更好的方法,如下所示:Javascript 在yii控制器中注册css和js是否更好?,javascript,php,css,yii,Javascript,Php,Css,Yii,我只想为一个特定视图加载这些文件 或者在Yii框架中为特定视图导入CSS和Javascript更好的方法,如下所示: Yii::app()->getClientScript()->registerCssFile(Yii::app()->theme->baseUrl.'/css/jquery.ad-gallery.css'); Yii::app()->getClientScript()->registerScriptFile(Yii::app()->the
Yii::app()->getClientScript()->registerCssFile(Yii::app()->theme->baseUrl.'/css/jquery.ad-gallery.css');
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->theme->baseUrl.'/js/jquery.ad-gallery.js', CClientScript::POS_HEAD);
像这样,如果您想要控制器特定的文件:
public function actionIndex()
{
$uri = 'path to your action-specific css';
Yii::app()->clientScript->registerCssFile($uri, 'screen, projection');
}
如果要在所有控制器上使用此功能,请创建CController的子类,将这些方法放在其中,然后更改控制器以使用新的子类
如果您只想在特定视图中添加文件,那么将其添加到
操作
或控制器
中有什么意义呢?这是完全错误的方法,您应该将它们包含在要加载的视图中,而不是操作或控制器中。除非您有这样的需求,您必须通过控制器操作加载文件,否则这肯定不是答案。您告诉OP如何通过控制器操作包含文件,问题是,这是一种更好的方法,但您没有解释为什么更好,这绝对不是直到你没有其他选择或一个特定的要求,你想要一个文件整体添加到布局中,你想要一个文件只在一个特定的视图中加载他们在视图中,你的答案是一个精确的副本
public function init()
{
$uri = 'path to your controller-specific css';
Yii::app()->clientScript->registerCssFile($uri, 'screen, projection');
return parent::init();
}