使用headScript视图助手和脚本

时间:2010-12-12 22:02:17

标签: php javascript zend-framework

我有一些脚本要添加到页面<body>的末尾,还有一些我需要在<head>中添加的脚本。我想知道是否有更优雅的方式将某些脚本添加到<head>,并使用段或类似的东西在<body>中确定。假设我有两个将要进入正文的脚本:

$this->view->headScript()->prependFile($assetUrl . "/js/jquery.min.js");
$this->view->headScript()->appendFile($assetUrl . "/js/application.js");

我想在<head>代替这个:

$this->view->headScript()->prependFile($assetUrl . "/js/modernizr.min.js");

在这两种情况下,调用$this->headScript();输出全部三个。有没有办法分组脚本?我可以手动粘贴HTML代码段,但我想在代码中使用它,因为如果网站在生产环境中运行,我会切换到javascript的缩小版本。

2 个答案:

答案 0 :(得分:3)

我会创建一个名为htmlScript的帮助器。您应该能够扩展现有的headScript帮助程序,仅覆盖注册表项属性。

然后在文档末尾的布局中回显你的助手

<?php echo $this->htmlScript() ?>

<击>

编辑已经离开了太长时间;)

已经有了一个帮手 - Zend_View_Helper_InlineScript

答案 1 :(得分:-2)

如果要覆盖脚本文件:

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

编辑我不知道为什么我会被投票。我给你的问题提供了一个替代答案,尽管是简洁的。如果您已经预先添加/附加了两个脚本文件,但是对于特定的控制器或模块,您希望用第三个脚本文件覆盖这些脚本的加载,那么setFile应该完全按照您的要求执行。