试图在我的布局中显示变量

时间:2010-03-30 09:41:08

标签: zend-framework zend-view

我有一个简单的问题

我的代码在哪里错了?

索引控制器和索引操作中的

我把

$this->view->username="user1";

当我尝试使用我的布局时,我会使用

echo $this->username;

我得到了fllowing错误或null值

注意:尝试在第115行的D:\ Zend \ Apache2 \ htdocs \ test \ application \ layouts \ layout.phtml中获取非对象的属性

感谢

2 个答案:

答案 0 :(得分:0)

您是否尝试过echo $this->view->username

答案 1 :(得分:0)

您尝试回显变量的布局不是view

基本上,它不可能。让我解释一下:你的布局是一个全局,好吧,布局。特定于IndexController的 indexAction()的东西在(/应该)在全局布局中是逻辑上不可用的,因为如果最终调用,例如FooController的 barAction,你的布局将不会有这个变量( )

您的观点位于views / scripts / index / index.phtml - 您可以使用<?php echo $this->username; ?>

我还没有使用布局中的变量,但这是我从the documentation收集的内容:如果您希望布局显示变量,请尝试在您的操作中使用$this->_helper->layout->username = "user1",这应该允许你在布局中使用echo $this->layout()->username

但要注意,如果使用布局变量,则还必须在每个操作中设置它们。如果您只想让 indexAction()显示用户名,则应尝试将回显放入视图中。