【发布时间】:2014-05-25 04:23:21
【问题描述】:
使用 Zend Framework 1,我目前被占位符困扰,真的不明白问题出在哪里。
我想在我的主视图中使用占位符呈现一些内容:
<div>
<?= $this->placeholder( 'segment' ); ?>
</div>
我有一个创建页面的主要操作,但我想使用 ActionStack Helper 在另一个操作中设置此占位符的呈现。这似乎是不可能的。
这一行:
$this->view->placeholder('segment')->set( 'XXXXXX' );
写在主要动作上时给出预期的结果,但在我用 ActionStack 调用的动作中没有效果。
我尝试在新操作的视图中以及操作的代码中处理占位符。没有结果,我的占位符没有输出。
有什么线索吗?
(我在做一个不使用 Zend_Layout 的项目,不知道会不会有什么后果)
【问题讨论】:
-
请进一步解释:您是否希望
new action为您希望在main action输出中呈现的segment占位符设置内容? -
是的,这正是我想要的
-
问题可能是,视图是您的 main.phtml 视图脚本,它在 mainAction 完成后呈现。所以占位符是在 mainAction 完成时呈现的。在 mainAction 之后更改为另一个 Action,这就是 ActionStack Helper 所做的,只是不发送响应并完成调度过程,而是从堆栈中调用下一个动作。也许您应该阻止在 mainAction 中渲染视图,而是在您的操作堆栈中的最后一个操作中渲染视图。
-
在我看来,视图是在每个动作运行后呈现的。所以对Zend的路由MVC有误解。谢谢你。