我正在使用我的SaaS应用程序,该应用程序需要构建自定义ViewModel来填充小部件(左,中,右,页脚等)
我开始使用BaseController
`class BaseController extends AbstractActionController {`
但是因为我将尝试使用像ZfcUser等模块,我想知道我可以创建一个构建ViewModel的模块,如果是这样,我应该在哪里/如何挂钩事件以不打破前进/重定向?
我的想法是构建更大的视图模型而不会干扰正常的控制器行为。控制器只会传回视图模型的正常数组()并将其放置
`<?php echo $this->content; ?>`
在网站上澄清您通常有Header,Footer,Content并说Left Nav。所以页脚有3列Login Box,Lastest News和twitter feed,左侧导航有导航和一些广告
这一切真的与调用Controller和Action无关,所以我试图找到获取ViewModel的最佳位置,以及如何构建和填充所有这些外部实体(登录模板,twitter,Nivo Slider)并替换
然后当控制器返回其数组()时,它将替换布局中的$this->content
将所有这些放在每个Action中将是巨大的并且会破坏模块的外部使用。
答案 0 :(得分:1)
我建议使用zf2plugin,但它适用于zend forward helper,也许你不想要这个。但是有一个闭包结果模式,你可以生成一些动态内容..
试试吧,希望有用。
答案 1 :(得分:0)
您可能希望创建位于TwitterFeed-Module等模块中的viewhelper。视图助手将从同一模块访问服务。
TwitterFeed服务只会从twitter请求提要(理想情况下将其缓存一小时左右)。 viewhelper只是根据需要呈现数据,或者使用视图来呈现或返回要在布局中处理的原始数据。