【发布时间】:2012-12-08 22:46:56
【问题描述】:
我想显示移动视图而不是普通视图脚本。
我们以这个动作/my_module/my_controller/my_action为例。
当我调用它时,根据一些标头处理,我知道用户代理是移动设备。
然后我将主布局设置为特定于移动设备的布局。
我这样做并且效果很好:Zend_Layout::getMvcInstance()->setLayout('mobile');
但在我的控制器或其他地方,我想在my_action_mobile.phtml 之类的东西上覆盖默认视图文件my_action.phtml。
考虑到在我的某些观点中我正在使用动作帮助器,如何做到这一点:<?php echo $this->action("index", "index", "items")?> 或者是我的一些动作我有一个像这样的_forward:$this->_forward("index", "auth", "default");
我尝试使用 setViewSuffix('mobile') 和几个文件名变体:my_action.mobile.phtml 或 setViewSuffix('mobile.phtml') 以及名为 my_action.mobile.phtml 的文件等,导致空白页 - 没有错误,什么都没有. (我不知道为什么,因为它设置为显示抛出的错误)
我也尝试过使用 contextSwitching,但它禁用了我的主布局 - 我不想要这个 - 而且感觉它不能正确处理动作视图助手。 (在另一个视图中呈现)
如果有任何建议,我将不胜感激。谢谢!
【问题讨论】:
标签: zend-framework zend-view zend-layout