Desativando o layout no Zend Framework 2

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Tutorial adaptado do original escrito por EvanDotPro: http://blog.evan.pro/disabling-the-layout-in-zend-framework-2

As vezes você precisa desativar o layout para uma ação específica. Para fazer isso, simplesmente configure a sua View Model da sua ação para retornar como “terminal”. Isso fará com que o ZF2 não envolva o conteúdo na view em um layout.

[php]<?php

namespace Application\Controller;

use Zend\Mvc\Controller\ActionController;
use Zend\View\Model\ViewModel;

class IndexController extends ActionController
{
public function nolayoutAction()
{
// Turn off the layout, i.e. only render the view script.
$viewModel = new ViewModel();
$viewModel->setTerminal(true);
return $viewModel;
}
}[/php]

Mais exemplos podem ser encontrados na excelente ZF2TestApp do Rob Allen.