Zend framework2 如何从zf2中的控制器中禁用全局视图/布局对象?

Zend framework2 如何从zf2中的控制器中禁用全局视图/布局对象?,zend-framework2,Zend Framework2,我使用的是ZF2.0.6,我知道以下禁用视图的技巧,但它保留了其他全局视图/布局不变。我也知道有一种setContent方法,它可以处理我不需要的所有东西那么如何从控制器中禁用全局视图/布局对象? 仅禁用视图 重击回应 在模块引导和分派事件中设置布局时似乎有问题。我决定使用clobber方法并传递一个新的视图模型。这似乎有效,但必须有一个更优雅的方法 控制器 抱歉,Sam认为这是显而易见的——标题就是问题所在——但我也会将其添加到内容块>)我猜只是没有理解;)你到底想要实现什么?总的来说,对于你

我使用的是ZF2.0.6,我知道以下禁用视图的技巧,但它保留了其他全局视图/布局不变。我也知道有一种setContent方法,它可以处理我不需要的所有东西那么如何从控制器中禁用全局视图/布局对象?

仅禁用视图

重击回应


在模块引导和分派事件中设置布局时似乎有问题。

我决定使用clobber方法并传递一个新的视图模型。这似乎有效,但必须有一个更优雅的方法

控制器


抱歉,Sam认为这是显而易见的——标题就是问题所在——但我也会将其添加到内容块>)我猜只是没有理解;)你到底想要实现什么?总的来说,对于你想做的事情,可能有一种不同的方法,它可能比你目前试图做的更适合。例如:如果您需要一个只显示数据的控制器,您可能会发现RestFulController或JsonModel很有趣?我知道我只能输出json,但我想在没有任何全局视图/布局的模式窗口中输出生成的表单——如果没有,我将不得不解析json并重新创建生成的表单——这有意义吗?当然,但特别是在这种情况下,表单的显示满足于一个控制器的一个操作,因此您的第一个示例
$vM->setTerminal(true)
将是我尝试使用
setTerminal(true)的方法
它禁用了表单,但保留了全局视图/布局--我的配置是否有问题?如果您在模块级对视图模型执行任何操作,可能需要使用此方法,否则只需使用
setTerminal()
method。我所说的视图模型是指根据路线或其他内容切换布局视图之类的事情。
$viewModel = new ViewModel(array());
$viewModel->setTerminal(true);
return $viewModel;
return $this->getResponse()->setContent('Nooooooooo!');
use Zend\View\Model\ViewModel;
use Module\Form\Form;

....

public function createAction()
{
    $viewRenderer = $this->getServiceLocator()->get('viewrenderer');
    $viewModel = new ViewModel();
    $viewModel->setTemplate('module/controller/action')
              ->setVariables(array('form' => new Form()));
    return $this->getResponse()
                ->setContent($viewRenderer->render($viewModel));
}