1

我试图将一个变量从主布局传递到视图,但我没有运气。

布局.phtml

$this->hadMessages = true;

我的视图.phtml

var_dump($this->hadMessages);

总是var_dump回来。NULL从我读过的内容来看,布局也是一个视图,所以它应该在相同的上下文中,对吧?

我正在使用 Zend Framework 1.11。

4

2 回答 2

3

The layout is rendered after the view, so that's why this doesn't work. Depending on what you are trying to do you might be able to achieve the desired effect with the help of a controller plugin.

于 2013-05-09T00:11:04.423 回答
0

没有办法将变量从布局传递到视图,因为根据 MVC 模式,您不应该有这样的任务。布局是否包含一些消息应该由控制器或引导程序级别决定,而不是布局本身。这意味着在控制器中,您应该进行所有需要的分配,$this->view->layout_messages_shown = true并在布局和视图中获取此变量值,例如echo ( $this->layout_messages_shown ? "messages shown" : "messages hidden" )

于 2013-05-09T10:20:56.777 回答