yii javascript脚本内联

时间:2012-11-17 09:14:16

标签: php cakephp yii

我有一个非常长的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

由于

2 个答案:

答案 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