Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fabyo

Zend Framework

Recommended Posts

Zend Framework - Layout (Zend_Layout)

 

Nesse tutorial irei falar sobre o uso de layouts

 

para quem não viu os tutoriais anteriores segue os links:

 

<< Introdução

<< O Inicio

<< Exemplos Basicos I

<< Plugins

<< Templates

 

Bom como podem ver no tutorial anterior, ficou pratico usarmos templates, só que com layouts ficara ainda melhor

pois ja era pratico só inserir o herader.phtml e footer.phtml em todas as paginas, agora nem isso iremos precisar

 

pra começarmos vamos mecher no index.php, incluiremos essa linha:

 

Zend_Layout::startMvc();

 

pronto com isso o ZF ja esta funcionando com o sistema de layouts, e com isso ele automaticamente ja vai procurar

pelo arquivo layout.phtml, na pasta scripts

 

com esse novo esquema nao vamos mais usar o header.phtml nem o footer.phtml

 

só montar o arquivo layout.phtml, com as definições que voce deseja na pagina e incluir no body:

 

<?php 
echo $this->layout()->content; 
?>

 

com isso sempre que uma pagina for aberta o ZF ira pegar o conteudo dessa pagina e jogar no layout atraves do metodo

$this->layout()->content

 

no exemplo em anexo, eu to explicando como usar o layout, e sem layout

 

como sempre os exemplos são mais faceis de entender, visitem todos os links do exemplo e vai olhando o codigo fonte da pagina para ver as diferenças.

 

então baixem os exemplos qualquer duvida só postarem

 

link para entenderem melhor sobre layouts:

 

http://framework.zend.com/manual/en/zend.layout.html

 

 

Zend_Layout.zip

OBS: Pasta Library vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui tive um problema na hora de entrar na página4

 

 

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'helper 'DocType' not found in path' in /var/www/localhost/htdocs/testes/library/Zend/View/Abstract.php:1004 Stack trace: #0 /var/www/localhost/htdocs/testes/library/Zend/View/Abstract.php(497): Zend_View_Abstract->_loadClass('helper', 'DocType') #1 /var/www/localhost/htdocs/testes/library/Zend/View/Abstract.php(294): Zend_View_Abstract->getHelper('docType') #2 [internal function]: Zend_View_Abstract->__call('docType', Array) #3 /var/www/localhost/htdocs/testes/application/views/scripts/layout2.phtml(2): Zend_View->docType('XHTML1_STRICT') #4 /var/www/localhost/htdocs/testes/library/Zend/View.php(46): include('/var/www/localh...') #5 /var/www/localhost/htdocs/testes/library/Zend/View/Abstract.php(769): Zend_View->_run('/var/www/localh...') #6 /var/www/localhost/htdocs/testes/library/Zend/Layout.php(728): Zend_View_Abstract->render('layout2.phtml') #7 /var/www/localhost/htdocs/testes/library/Zend/Layout/Controller/Plugin/Layout.php(142): Zend_Layout->render in /var/www/localhost/htdocs/testes/library/Zend/View/Abstract.php on line 1004

 

Quando retirei o seguinte do arquivo layout2.phtml:

<?php
echo $this->docType("XHTML1_STRICT")."\n";
?>

Daí funcionou normal

 

O que pode ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

 

<?php

echo $this->DocType("XHTML1_STRICT")."\n";

?>

 

é que o linux tem a sensibilidade de letras maiusculas e minusculas, index.php é diferente de Index.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo, parabens pelos tutoriais! estou aprendendo muito com eles..

 

eu estava fazendo umt este aqui em cima desse que você postou.

 

entao eu criei no indexcontroller:

public function minhapaginaAction()
{
	echo "<p>Esse é o meu teste!<br>";
	echo $this->_request->getBaseUrl();
	$this->view->link = "/index";
}

detalhe para o nome da função.. eu tentei, para ficar com melhor visualização, fazer assim public function minhaPaginaAction()

 

e ele da um exception enorme...

tem alguma regra para os nomes das funções ou eu fiz alguma coisa errada?

 

pois com tudo minusculo ele vai na boa, se mudar nao rola!

 

Agradeço!

 

Abraço.

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe ser chato mas...

 

e se eu quiser estender essa url??

 

tipo /index/minhapagina/artigos/php/

 

como faz? como ficaria a estrutura de arquivos, funções e tals..

 

obrigado!

 

Att,

 

Leandro Barral []'..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe o flood .. mas alguem sabe como me responder?? estou precisando disso meio que urgente... =S

Compartilhar este post


Link para o post
Compartilhar em outros sites

infelizmente deu o mesmo erro.

cara, você tem que habilitar o "short open tag" do php pra funcionar..

 

bom, pelo menos aqui deu o mesmo erro que voce falou, e o problema era na verdade nas tags <?= ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fabyo... eu comecei a entender um pouco mais sobre a montagem da estrutura.... mas ainda estou enrolado aqui...

 

Agora eh o seguinte: eu estou querendo saber como adcionar os scripts e folhas de estilo as páginas... e vi que há diversas maneiras de se fazer isso... sendo que em todos os lugares que eu vi... havia explicações para casos expecificos de usuarios que pretendiam carregar esses scripts de uma maneira particular...

 

Eu preciso saber como carregar os arquivos da seguinte maneira:

 

:::USANDO LAYOUT:::

 

-> como e onde eu carrego os scripts para que eles fiquem disponíveis em todas as páginas do site ???

 

::: USANDO TEMPLATES :::

 

-> como definir os scripts q são carregados por padrão no site (são necessários em todas as páginas) e carregar alguns scripts individualmente: TIPO, em uma determinada página, eu quero carregar um framework javascript e usar um determinado estilo (CSS) para o mesmo... porem nas outras páginas ele não seria necessário ???

 

mais uma dúvida simples pra tu adcionar nos proximos posts ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.