从控制器操作设置/添加视图

Posted

技术标签:

【中文标题】从控制器操作设置/添加视图【英文标题】:set/add view from controller action 【发布时间】:2010-06-15 10:52:21 【问题描述】:

除了当前请求的操作视图脚本之外,我正在尝试设置要执行的视图脚本。我想从控制器操作本身执行此操作,使新的视图脚本输出可从布局 $this->layout()->content helper 获得。

我找到了 setView() 方法,但不知道如何从控制器中使用它。

非常感谢。

【问题讨论】:

你想输出另一个脚本的第二个脚本 INSEATD 还是连接它们? 如果有人可以向我展示两种方法(替换或连接),那将是完美的。 【参考方案1】:

如果你只是想从控制器渲染一些其他的视图脚本:

$this->render('someotherview');

Wich 将渲染 someotherview.phtml。 来自:http://framework.zend.com/manual/en/zend.controller.action.html#zend.controller.action.viewintegration.render

class MyController extends Zend_Controller_Action
public function fooAction()

    // Renders my/foo.phtml
    $this->render();

    // Renders my/bar.phtml
    $this->render('bar');

    // Renders baz.phtml
    $this->render('baz', null, true);

    // Renders my/login.phtml to the 'form' segment of the
    // response object
    $this->render('login', 'form');

    // Renders site.phtml to the 'page' segment of the response
    // object; does not use the 'my/' subirectory
    $this->render('site', 'page', true);


public function bazBatAction()

    // Renders my/baz-bat.phtml
    $this->render();

应该让你走上正轨!

还有

$this->renderScript('path/to/index.phtml');

效果很好。

【讨论】:

以上是关于从控制器操作设置/添加视图的主要内容,如果未能解决你的问题,请参考以下文章

推送视图控制器不显示从情节提要添加的元素

从任何其他类的控制器中删除视图?

如何设置滚动视图委托? [关闭]

设置视图控制器,例如 Find My Friends iPad 应用

从导航栏视图控制器导航到标签栏视图控制器

从 nib 文件在自定义视图中设置自定义委托