Layouts
O layout é uma página sem conteúdo, com apenas a apresentação visual que será fixa em todas as páginas, apenas cabeçalhos e menus por exemplo.
Os layouts tem o mesmo principio das views, deve ser utilizado, HTML, CSS, JavaScript e algumas estruturas básicas do PHP.
Como você deve ter visto na estrutura do Zeanwork, temos um diretório somente para armazenar os arquivos dos layouts, é localizado em App/Layouts/. Você também deve ter visto os padrões do Zeanwork, o nome do arquivo deve ser no padrão lowerCamelCase, seguindo com a extensão .html, seguindo com o .php, tornando assim nomeDoLayout.html.php.
O layout padrão do Zeanwork é o default, então se você desejar sobrescrever este layout, você deve criar o arquivo de layout em: App/Layouts/default.html.php
Como o local do conteúdo pode variar de layout para layout, você deve definir onde o conteúdo deverá ficar, o Zeanwork possui uma variável que possui o conteúdo da view, que deverá ser impressa no layout.
Veja exemplo:
Como o Zeanwork monta a view antes de montar o layout, podemos definir um título entro da view, com isso deixamos o layout mais flexível, a variável Vew::$pageTitle é a responsável por isso, ela está disponível pela view e pelo layout como $this->pageTitle.
Veja exemplo:
Muitas vezes precisamos passar alguns dados para o layout, que necessitamos definir na view, assim como o título da página.
Veja um exemplo completo de um layout utilizando helpers e variáveis da view.
Os layouts tem o mesmo principio das views, deve ser utilizado, HTML, CSS, JavaScript e algumas estruturas básicas do PHP.
Criando um layout
Como você deve ter visto na estrutura do Zeanwork, temos um diretório somente para armazenar os arquivos dos layouts, é localizado em App/Layouts/. Você também deve ter visto os padrões do Zeanwork, o nome do arquivo deve ser no padrão lowerCamelCase, seguindo com a extensão .html, seguindo com o .php, tornando assim nomeDoLayout.html.php.
O layout padrão do Zeanwork é o default, então se você desejar sobrescrever este layout, você deve criar o arquivo de layout em: App/Layouts/default.html.php
Definindo o local do conteúdo
Como o local do conteúdo pode variar de layout para layout, você deve definir onde o conteúdo deverá ficar, o Zeanwork possui uma variável que possui o conteúdo da view, que deverá ser impressa no layout.
Veja exemplo:
Definindo o títudo da página
Como o Zeanwork monta a view antes de montar o layout, podemos definir um título entro da view, com isso deixamos o layout mais flexível, a variável Vew::$pageTitle é a responsável por isso, ela está disponível pela view e pelo layout como $this->pageTitle.
Veja exemplo:
Variáveis acessíveis da view para o layout
Muitas vezes precisamos passar alguns dados para o layout, que necessitamos definir na view, assim como o título da página.
dataForLayout
Define dados que estarão acessíveis no layout.
cssForLayout
Define css adicionais para o layout.
scriptsForLayout
Define scripts adicionais para o layout.
Nora: As variáveis aqui apresentadas também estão disponíveis no controller, podem ser definidas em qualquer local da classe.
Exemplo completo de um layout
Veja um exemplo completo de um layout utilizando helpers e variáveis da view.



