代码之家  ›  专栏  ›  技术社区  ›  Petr Peller

仅使用控制器中的布局

  •  0
  • Petr Peller  · 技术社区  · 14 年前

    如何在不需要从控制器创建视图脚本的情况下为layout/layout.phtml脚本提供一些数据?

    我在indexaction函数中尝试了以下方法,但它不起作用。当我不创建视图脚本时,我会得到一个错误。我可以创建一个空的,但我不太喜欢这个解决方案。有更好的主意吗?

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

    提前谢谢

    1 回复  |  直到 14 年前
        1
  •  0
  •   Layke    14 年前

    实际上你没有 呈现一些数据 您可以使数据可用,然后选择要呈现的脚本。不要混淆术语。

    您所做的操作将阻止使用以下命令呈现任何脚本:

    $this->_helper->viewrenderer->setnorender(真);

    当你这样做的时候

    $this->布局->content=“foo”;

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

    所以在layout.phtml脚本中(我希望您已经配置为通过efault进行渲染),您只需执行此操作。

     echo $this->content
    

    请注意,我实际上不使用$this->布局,因为当您在布局中时,$this等于$this->布局。同样,对于$this->view->foo,您的视图中也有$this->foo。

    我希望这有帮助。 任何问题都可以问。