我有一个简单的问题
我的代码哪里错了?
在索引控制器和索引动作中
我放
$this->view->username="user1";
当我尝试布局时,我使用
echo $this->username;
我得到了错误或空值
注意:尝试在第 115 行获取 D:\Zend\Apache2\htdocs\test\application\layouts\layout.phtml 中非对象的属性
谢谢
我有一个简单的问题
我的代码哪里错了?
在索引控制器和索引动作中
我放
$this->view->username="user1";
当我尝试布局时,我使用
echo $this->username;
我得到了错误或空值
注意:尝试在第 115 行获取 D:\Zend\Apache2\htdocs\test\application\layouts\layout.phtml 中非对象的属性
谢谢
你试过echo $this->view->username
吗?
您试图回显变量的布局不是您的视图。
从本质上讲,它不可能。让我解释一下:您的布局是一个全局的布局。特定于 IndexController 的indexAction()的东西在全局布局中(/应该是)逻辑上不可用,因为如果您最终调用 FooController 的barAction(),您的布局将没有此变量。
您的视图将位于 views/scripts/index/index.phtml - 这是您可以使用的地方<?php echo $this->username; ?>
我还没有在布局中使用变量,但这是我从文档中收集到的:如果您希望布局显示变量,请尝试$this->_helper->layout->username = "user1"
在您的操作中使用,这应该可以让您echo $this->layout()->username
在布局中使用。
但是要小心,如果您确实使用布局变量,您还必须在每个操作中设置它们。如果您只想让indexAction()显示用户名,则应尝试将 echo 放入视图中。