我正在使用ZF 2.0.6并且我知道以下禁用视图的技巧,但它保留了其他全局视图/布局。我也知道有一个setContent方法可以破坏我不需要的一切。 那么如何在控制器中禁用全局视图/布局对象?
仅停用视图
$viewModel = new ViewModel(array());
$viewModel->setTerminal(true);
return $viewModel;
Clobber回复
return $this->getResponse()->setContent('Nooooooooo!');
在Module bootstrap和dispatch事件中设置布局时似乎存在问题。
答案 0 :(得分:0)
我选择了clobber方法并传递了一个新的视图模型。这似乎有效,但必须有一个更优雅的方法。
控制器的
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));
}