在Zend Framework中放置自定义jquery和javascript的最佳位置在哪里?

时间:2012-02-23 08:37:29

标签: javascript jquery zend-framework

将jquery和javascript脚本放在zend框架中的最佳位置在哪里?

我应该将每个脚本放在js文件中并附加到控制器中,如:

$ this-> view-> headScript() - > appendScript

还是留在phtml页面中?

2 个答案:

答案 0 :(得分:2)

我说这取决于您的脚本,如果您的脚本链接到您的控制器,您可以将其包含在控制器的_init()方法中。

我通常喜欢在我的视图中包含我的.js脚本(当它们只涉及一个独特的视图时),使用$this->jQuery()->addOnload()来表示jQuery并且:

<?php $this->headScript()->appendFile('/js/user-list.js') ?>
<?php $this->headScript()->captureStart() ?>
site = {
    baseUrl: "<?php echo $this->baseUrl() ?>"
};
<?php $this->headScript()->captureEnd() ?>

用于js脚本。 正如您在第二个示例中所看到的,使用captureStart()的一个真正优势是您可以使用PHP在Javascript中生成内容。例如,它对于翻译单词非常有用。

最后,你的bootstrap中的_initView()方法是放置网站相对.js的好地方。

答案 1 :(得分:1)

  • 您希望在 bootstrap 期间添加整个网站所需的Javascript,在视图设置或initView方法中。
  • 某些控制器所需的Javascript,您应该附加到该控制器的init()方法中。
  • 您只需要某个操作的Javascript,您应该附加该操作。

这样客户端就不必下载比真正需要的更多的数据/文件。