1

在执行所有其他代码之后,我想在呈现布局之前执行一些代码。我会把那个代码放在哪里?

我特别尝试在布局使用之前修改 headLink、headScript 和 inlineScript 视图助手中引用的文件。

以下是我要采取的步骤:

  1. 遍历那些视图助手中的文件
  2. 列出本地文件
  3. 从视图助手中删除本地文件
  4. 将本地文件列表作为参数引用到服务器脚本,该服务器脚本将它们组合为单个 HTTP 请求
  5. 将新的组合脚本引用添加到适当的视图助手

前端控制器插件似乎无法帮助我完成此任务,原因如下:

  1. postDispatch()在执行每个控制器操作后执行,我需要样式表/javascripts 的完整列表
  2. dispatchLoopShutdown()在控制器动作循环之后执行,但此时布局已经呈现

正如 Rufinus 建议的那样,我通过扩展 View Helpers 解决了这个问题。 我从这个角度提出的问题以及解决方案都在这里

4

1 回答 1

13

ZF1 调度过程概述(c)作者 Thorsten Ruf

请参阅Thorsten Ruf 创建的原始 PDF镜子

您可以通过插件访问的最后一部分应该是 dispatchLoopShutdown

编辑:对于 ZendFramework2,请参阅http://zendframework2.de/en/cheat-sheet.html这个 gdoc

于 2010-02-12T16:25:08.070 回答