在我的应用程序中,我在3列上有以下经典模板
*********************************************************
* *
* *
*********************************************************
* * * *
* * * *
* sidea * content * sideb *
* * * *
* * * *
* * * *
* * * *
* * * *
* * * *
*********************************************************
* *
* *
*********************************************************
标题和sideb在网站的大部分内容相似(b面内容取决于用户的状态,因此需要动态呈现),以及sidea&每个控制器的内容都在变化。
由于我是ZF(1.9)的新手,我在实现这样的设置时遇到了一些困难,其中脚本视图重用了常用方法(对于sideb),并且动态内容注入有3个不同的位置。有人可以暗示任何教程/代码示例吗?
提前致谢。
修改
在更深入的zend_layout文档读者和其他一些链接(即this post)之后,我发现我应该将我的研究集中在zend框架的Composite View模式的方向上,特别是Zend_View_helper_partial。可能跟随两个链接可以给我一个手(和其他人搜索相同的东西)
答案 0 :(得分:2)
看起来你需要一个布局。查看Zend_Layout文档页面,看看它是否达到了您想要的效果。
请查看此webinar,了解Zend_Layouts
的可能性答案 1 :(得分:1)
View Helpers对于重用的函数非常有用。
答案 2 :(得分:1)
仅使用yout查看脚本来呈现页面内容。
利用Zend_Layout呈现页面的其余部分,并从布局中调用视图助手,以填充左右侧边栏。
如果你的'sidea'绑定到你当前的动作/控制器,你可以从动作视图脚本渲染它们,并从布局中调用'sideb'视图助手。
您当然可以将视图脚本的不同部分呈现给不同的响应段,并使用布局文件将响应段放在您希望的位置。
转发到多个控制器/操作是因为Alekc对应用程序的性能产生了巨大影响,在这种情况下是非常不必要的。
答案 3 :(得分:0)
我会回应你正在寻找的是布局。通过布局,您可以让控制器将视图渲染到不同的“内容”区域。
将此与将一个控制器“转发”到另一个控制器的能力相结合,请求的主控制器可以将视图(或多个视图)呈现到内容占位符中,然后转发到呈现(如果需要)侧边栏的控制器/页眉页脚。
对于不需要这些元素的视图(比如文章控制器的'print'操作),您可以只禁用布局,并正常渲染视图(不转发给其他人)控制器)。