2010-02-23 39 views
0

如何为layout/layout.phtml脚本提供一些数据而无需从控制器创建视图脚本?仅使用控制器的布局

我已经在indexAction函数中尝试了以下操作,但它不起作用。当我不创建视图脚本时,我得到一个错误。我可以创建一个空的,但我不喜欢这个解决方案。任何更好的想法?

$this->layout->content = "foo" 
$this->_helper->viewRenderer->setNoRender(true); 

在此先感谢

回答

0

其实你不呈现一些数据您提供有关数据,然后选择要渲染的脚本。不要混淆术语。

你做了什么存在来使用渲染停止任何脚本:

$此 - > _ helper-> viewRenderer-> setNoRender(真);

当你

$这个 - >布局 - >内容= “富”;

您正在设置属性内容,然后您需要在布局脚本中使用它。

这样,就要在你的layout.phtml脚本(我希望你已经配置由EFAULT渲染),你再只是这样做,我不实际使用$这 -

echo $this->content 

通知>布局因为当你在布局中时,$ this等于$ this-> layout。 $ this-> view-> foo同样适用于您的视图中的$ this-> foo。

我希望这会有所帮助。 任何问题只是问。

+0

感谢您的回答,我很抱歉,如果我解释我的问题错了。我的问题是,对于每个控制器,我必须**创建视图脚本,否则会出现错误。我想为layout.phtml中的控制器“提供”一些数据。我可以创建空的视图脚本并将其呈现给布局,但似乎并不是最佳实践。 – 2010-02-23 20:22:53

+0

This line:$ this - > _ helper-> viewRenderer-> setNoRender(true);禁用视图渲染器,这应该让布局完成它的事情。 – berty 2010-02-23 21:10:44