Php Yii:在标题中添加一个JavaScript

Php Yii:在标题中添加一个JavaScript,php,yii,Php,Yii,我需要在header中定义一个JavaScript变量(var dates={…};),该变量将从.js脚本中使用 最好是在header中,而不是在jQuery(function($){…})中,这样就不会隐藏变量,以免我的.js脚本使用它 除了修改布局之外,还能用其他方法吗?我通常这样做: Yii::app()->clientScript->registerScript('my vars',' var myFirstVar="something"; var myUr

我需要在header中定义一个JavaScript变量(
var dates={…};
),该变量将从
.js
脚本中使用

最好是在header中,而不是在
jQuery(function($){…})
中,这样就不会隐藏变量,以免我的
.js
脚本使用它

除了修改布局之外,还能用其他方法吗?

我通常这样做:

Yii::app()->clientScript->registerScript('my vars','
    var myFirstVar="something";
    var myUrl="' . CController::createUrl("controller/action") . '";
    ,CClientScript::POS_HEAD);

在控制器中如何?@DCoder:您的代码生成了一个封装在jQuery(函数($){…})中的脚本,这对我来说是不满意的。您仍然可以将符号导出到全局范围中
$(function(){window.dates=…;})
(尽管您可能需要为它考虑一个更独特的名称)。@DCoder的示例错误,因为它缺少第一个参数(脚本id)。正确的例子是
Yii::app()->clientScript->registerScript($scriptId,$scriptSource,CClientScript::POS_HEAD)
,至少对我来说,在Yii 1.1.13上,它不会被包装在
jQuery()
中。这将发生在
CClientScript::POS_READY
@kekkis:你说得对,谢谢。