我有一个非常长的JavaScript,我需要在其中使用YII CHtml函数,但是,引用字符串使代码非常混乱。
例如,
$script = "$('#car_brand').click(function(e), {
//codes
var car_name = /"bmw/";
});";
<?php Yii::app()->clientScript->registerScript('car-js', $script); ?>
上面的问题只是展示了短版本的一个例子。 CakePHP的scriptBlock函数是否有任何相同的东西?
http://book.cakephp.org/1.3/view/1604/scriptBlock
由于
答案 0 :(得分:16)
$ script =&lt;&lt;&lt; EOD
/* here you write your javascript normally in multiple lines */
EOD;
Yii :: app() - &gt; clientScript-&gt; registerScript('someId',$ script);
你可以这样写。
答案 1 :(得分:0)
这不一定是正确的方法,但这是我经常做的事情,因为带引号的整个Yii脚本事情让我发疯。
在我的布局中,我加载jQuery(通常是jQueryUI,如果我要使用它),如下所示:
<?php cs()->registerCoreScript('jquery'); ?>
<?php cs()->registerCoreScript('jquery.ui'); ?>
然后我就像在不使用Yii时那样在普通脚本标签中使用脚本。通过使用registerCoreScript加载jQuery而不是以“正常”方式链接到jQuery,它可以防止Yii用于CGridView之类的脚本的问题
就像我说的那样,不是最正确的方式,但我发现它是最好的解决方案,因为我使用了大量的javascript