我怎么能在layout.phtml中添加一些变量?我可以像这里一样在每个控制器中添加它:Sending variables to the layout in Zend Framework
但这并不是真正具有启发性,而且在Bootstrap中我也不想添加它 .
我怎么能在layout.phtml中添加一些变量?我可以像这里一样在每个控制器中添加它:Sending variables to the layout in Zend Framework
但这并不是真正具有启发性,而且在Bootstrap中我也不想添加它 .
3 回答
创建将扩展
Zend_Controller_Action
的新抽象控制器 .IndexController extends My_Controller_Action
- >My_Controller_Action extends Zend_Controller_Action
你应该在任何地方放入
init()
. :)您可以创建一个名为LayoutDefaults的前端控制器插件:
在前端控制器中:
在你的layout.phtml中:
最后,在您的控制器中,根据需要覆盖默认值:
听起来你正试图将视图内容保留在控制器之外 . 我也相信尝试将视图内容保留在控制器之外,因此我尽可能在视图中放置视图内容 . 我是这样做的:
例如,在layout.phtml中,我可能有两个占位符,一个用于 Headers ,另一个用于主要内容:
然后在index.phtml视图本身中我放了两个这样的内容:
您可以根据需要添加任意数量的占位符,而不会对控制器产生任何影响 . 使用此方法,大多数内容都不在控制器之外,除非它来自模型 .