我需要一种将特定于控制器/动作的javascript插入布局的方法。该 javascript 需要进入<head>
文档的内部,远离放置正常内容的位置。我已经有了一个允许每个页面使用多个视图的基础设施,而我已经拥有的 Zend_Layout 充分利用了这一点:
<?php
$script = $this->layout()->script;
if (!is_null($script)) : ?>
<script type="text/javascript"> // <![CDATA[
<?php echo $script; ?>
// ]]>
</script>
<?php endif; ?>
但是,我希望自动选择脚本输出,就像$this->layout()->content
默认情况下将普通视图自动放入布局中一样。我知道这个工具是由 ViewRenderer 类提供的。基本上,我想做的是检查 的实例,如果存在,则将其/VIEWPATH/scripts/CONTROLLER/ACTION.js.php
呈现为命名的输出段。script
我可以相对简单地创建一个 Zend_Controller_Plugin,它会在发布后自动执行此操作,但是控制器将无法在脚本视图上设置值。我还需要一些方法来复制 ViewRenderer 控制器插件如何影响控制器和操作名称。
理想情况下,我会以某种方式将其附加到 ViewRenderer 助手上,但它似乎不支持这种事情。
我完全错了吗?是否有某种机制可以将特定于页面的 Javascript 嵌入框架中?(我不能是唯一有这个问题的人......)
比利3