12 de janeiro de 2010

Layout específico para um método

Por vezes precisamos de ter um método com um layout completamente diferente do geral (que está em: aplicacao/templates/layout.php).

Para atribuir um layout diferente a um módulo específico basta:
  1. Criar o novo layout em: aplicacao/novo_layout.php
  2. No modulo pretendido, criar o ficheiro: aplicacao/modulo/config/view.yml
  3. Nesse novo ficheiro dizer qual o layout que diz respeito ao método pretendido, assim:
termsSuccess:
layout: plain_layout
# neste caso o metodo termsSuccess terá o layout definido em aplicacao/templates/plain_layout.php
No ficheiro views.yml é também possível dizer que um determinado método não tem qualquer layout associado (ex: o método serve apenas fazer uma chamada à base de dados e é redireccionado após isso para a homepage):
leadCentreSubmitSuccess:
has_layout: false
# a vista leadCentreSubmitSuccess.php não existe
Quando se definem estas excepções de vistas, é sempre seguro assegurar que o layout pré-definido não é afectado, por isso convém acrescentar esta linha ao ficheiro views.yml:
all:
layout: layout
# assegura que o layout pre-definido continua a ser o aplicacao/tempaltes/layout.php

Nenhum comentário:

Postar um comentário