gpt4 book ai didi

viewmodel - ZF2 : How to propagate Controller return to layout template?

转载 作者:行者123 更新时间:2023-12-01 12:45:20 25 4
gpt4 key购买 nike

我像这样从 Controller 返回数据:

/**
* Password request sent
*
* @return array
*/
public function passwordRequestSentAction ()
{
return array(
'foo' => $this->bar,
);
}

但是 $this->foo 在 layout.phtml 中是空的,即使它在 controller/passwordRequestSent.phtml 中是正确的

我必须在我的抽象 Controller 中创建 postDispatch 方法并在 attachDefaultListeners() 中链接到它并在 postDispatch 中执行此操作:

$e->getViewModel()->setVariables($e->getResult()->getVariables());

真的是这样吗?我只是想共享我所有的变量,无论它的布局还是页面模板。

最佳答案

您可以通过调用 $this->layout() 访问布局模板:

class MyController extends AbstractActionController
{
public function myAction()
{
$layout = $this->layout();
// Returns the ViewModel of the Layout
}
}

更多信息和 sample 请查看the manual's examples .

然而,在大多数情况下,我建议为这些任务编写一个 viewhelper - 特别是导航/...这封装了 Controller 的逻辑,来自查看任务,如 I want the navigation displayed here显示用户的登录框。几乎所有类型的状态消息都是如此。

关于viewmodel - ZF2 : How to propagate Controller return to layout template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com