terça-feira, 18 de outubro de 2011

Que cara é essa ? :: Mudando o layout de suas páginas


Muito mais que mudar apenas o CSS, as vezes lidamos com a situação em que a própria estrutura da página têm de ser diferente das outras - ou talvez queiramos ( por algum motivo MUITO especial ) que todas as páginas tenham um layout diferente umas das outras.

Um exemplo bem simples é um site com login logo na entrada. Na primeira página, o layout é o apropriado para o login, e as páginas a seguir ao login possuem o layout padrão.

Pois bem, assim como nos outros posts, vou mostrar que a coisa não é um bicho de sete cabeças no Zend.

Primeiro, habilite seus layouts com zend tools

$ zf enable layout

Agora, vai ser cirado na pasta "application/layouts" o arquivo padrão de layout do zend, o "layout.phtml", edite como você quiser.

Nessa mesma pasta, crie um arquivo "layout2.phtml" e edite com o layout alternativo que deseja.

Vá até o controller onde está a action da página onde será aplicado o layout alternativo e coloque nessa action a linha

...
$this->_helper->layout->setLayout('layout2');
...

E pronto. Basta abrir o action e terá seu layout alternativo para ele. Se for usar um css alternativo também, basta colocar na action

...
$this->_helper->layout->setLayout('layout2');
$this->view->headLink()->appendStylesheet( $this->view->baseUrl('caminho_do_css/estilo_alternativo.css' )  );
... 

E pode repetir essa situação pra quantas views desejar e pra quantos layouts você quiser.

Felizes ? Espero que sim. Abraços a todos e até a próxima.



Referências:

Felipe Djin : Zend_Layout: Templates no Zend Framework

Zend Manual : Zend_Layout Configuration Options


Um comentário: