[Zend Expressive] Como alterar o Layout Padrão com Zend View

By on

Neste post irei demonstrar como alterar o Layout padrão no Zend Expressive, caso você esteja utilizando o Zend View.

O procedimento é bem simples.

No meu caso estou utilizando o Zend Expressive com as configurações modulares e usando o Zend View, e minhas configurações estão no arquivo src/App/src/ConfigProvider.php, por este motivo, neste arquivo há um bloco semelhante a este:


public function getTemplates(): array
{
	return [
	    'paths' => [
		'app' => [__DIR__ . '/../templates/app'],
		'error' => [__DIR__ . '/../templates/error'],
		'layout' => [__DIR__ . '/../templates/layout'],
	    ],
	];
}

Na ultima linha é definido um Array contendo os caminhos para arquivos de layout, e por padrão internamente o Zend Expressive configurado com o Zend View vai utilizar o arquivo o valor “layout::default” que apontará para src/App/templates/layout/default.phtml.

Se você deseja usar outro arquivo, a solução é você informar ao método render no Array $data que você deseja trocar de layout da seguinte forma:


public function handle(ServerRequestInterface $request): ResponseInterface
{
	return new HtmlResponse($this->template->render('app::home-page', [
	    'layout' => 'layout::no-columns'
	]));
}

Isso fará com que o Zend Expressive utilize o arquivo src/App/templates/layout/no-columns.phtml.

É isso ai!
Espero que tenha lhe ajudado!
Abraço do Giba!

Be the first to write a comment.

Leave a Reply