2

我有一个简单的问题

我的代码哪里错了?

在索引控制器和索引动作中

我放

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

当我尝试布局时,我使用

echo $this->username;

我得到了错误或空值

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

谢谢

4

2 回答 2

0

你试过echo $this->view->username吗?

于 2010-03-30T09:54:52.830 回答
0

您试图回显变量的布局不是您的视图

从本质上讲,它不可能。让我解释一下:您的布局是一个全局的布局。特定于 IndexController 的indexAction()的东西在全局布局中(/应该是)逻辑上不可用,因为如果您最终调用 FooController 的barAction(),您的布局将没有此变量。

您的视图将位于 views/scripts/index/index.phtml - 这是您可以使用的地方<?php echo $this->username; ?>

我还没有在布局中使用变量,但这是我从文档中收集到的:如果您希望布局显示变量,请尝试$this->_helper->layout->username = "user1"在您的操作中使用,这应该可以让您echo $this->layout()->username在布局中使用。

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

于 2010-03-30T10:07:18.823 回答