Fabyo 66 Denunciar post Postado Abril 29, 2008 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
_Jean_ 0 Denunciar post Postado Abril 29, 2008 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
Fabyo 66 Denunciar post Postado Abril 29, 2008 Qual a versão do seu Zend? Compartilhar este post Link para o post Compartilhar em outros sites
_Jean_ 0 Denunciar post Postado Abril 29, 2008 é a versão 1.5.1 Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 29, 2008 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
_Jean_ 0 Denunciar post Postado Abril 30, 2008 infelizmente deu o mesmo erro. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Abril 30, 2008 tudo minusculo funcionou normal doctype veja o exemplo online http://extjs.com.br/zend/Zend_Layout/index/pagina4 Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Barral 1 Denunciar post Postado Agosto 6, 2008 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
Leandro Barral 1 Denunciar post Postado Agosto 7, 2008 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
Leandro Barral 1 Denunciar post Postado Agosto 7, 2008 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
germchaos 0 Denunciar post Postado Abril 28, 2009 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
P3rukao 0 Denunciar post Postado Junho 26, 2009 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