3

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

谢谢

4

2 回答 2

17

$script = <<< EOD

/* here you write your javascript normally in multiple lines */

排爆;

Yii::app()->clientScript->registerScript('someId', $script);

你可以这样写。

于 2012-11-17T09:30:40.713 回答
0

这不一定是正确的方法,但我总是这样做,因为带有引号的整个 Yii 脚本让我发疯。

在我的布局中,我像这样加载 jQuery(如果我要使用它,通常是 jQueryUI):

<?php cs()->registerCoreScript('jquery'); ?>
<?php cs()->registerCoreScript('jquery.ui'); ?>

然后我只在普通脚本标签中使用脚本,就像我不使用 Yii 时一样。通过使用 registerCoreScript 加载 jQuery 而不是仅仅以“正常”方式链接到 jQuery,它可以防止 Yii 用于 CGridView 之类的脚本出现问题

就像我说的那样,这不是最正确的方法,但我发现它对我来说是最好的解决方案,因为我使用了大量的 javascript

于 2012-11-17T11:02:25.210 回答