Scientist 2 Denunciar post Postado Maio 18, 2013 Bom, estou iniciando agora com o ZendFramework e logo de inicio surgiram algumas dúvidas. Vamos lá: 1 - Antes de usar o ZendFramework eu sempre utilizei uma pasta para o Site e outra (ADMIN) para o Sistema. Mesmo que o cliente não exija que o Sistema tenha um frontend (site) eu deixava essa pasta lá para que posteriormente possamos implementar esse frontend caso haja necessidade. No ZendFramework percebi que há como habilitar o layout através do zf enable layout, porém eu quero que haja layouts totalmente diferentes (css, js, imagens) para o ADMIn e para o SITE. Lendo a respeito achei um site que para fazermos um módulo DEFAULT (frontend) e outro módulo ADMIN (painel / sistema ). O que vocês acham dessa divisão em DEFAULT e ADMIN ? Como separar os layouts de ambos ? Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 Sendo sincero, esquece o ZF1.. ele está ultrapassado. O ZF2 está há muito tempo estável e introduz uma real modularidade. Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 Como estou iniciando agora, acho bom começar do ZF1 pois o mesmo possui um tutorial completo e um maior suporte pelo tempo que já está no ar. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 De qualquer forma, o ZF1 é ultrapassado. O ZF2 já possui documentação e quickstart. http://framework.zend.com/manual/2.1/en/index.html http://framework.zend.com/manual/2.0/en/user-guide/overview.html Falta de material sobre o ZF2 não é uma "desculpa" para usar o ZF1. Tem muita, mas muita coisa pela internet sobre ele. ----- Essa forma de modularidade era feita toda hora, mas não é uma real modularidade, veja o ZF2, o conceito de modularidade é diferente e muito bem feito. Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 O problema é que na minha empresa eles exigem o ZF1, então não tenho como fugir disso. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 A documentação fornece essa informação: http://framework.zend.com/manual/1.12/en/zend.controller.modular.html Ela mostra como você usa controllers/models/views separados para cada módulo. Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 problema que ele não mostra como separar os layouts. E o exemplo ainda está erro no site que você me passou isso porque o zendtool cria /application/module/meumodulo e no exemplo ele faz /application/meumodulo Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 Compreendi, sobre o layout, basta você criar um plugin, como você pode ver aqui: http://stackoverflow.com/a/2649821 A organização de pastas é apenas uma configuração. Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 Será que você poderia me explicar como utilizar isso ? Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 Bem, em sua classe bootstrap você iria inserir aquele método. Em sua pasta library, você iria criar uma pasta com o nome da app e uma outra pasta dentro chamada Plugin e um arquivo chamado Module, ficando mais ou menos assim: library/ MyApp/ Plugin/ Module.php Nesse arquivo, você teria um plugin, que faria o trabalho de manipular os layouts, o código do plugin seria aquela classe. Na sua pasta de layouts, você teria um arquivo com o nome do módulo, com a extensão .phtml, caso contrário ele tentaria usar o arquivo default.phtml, que estaria também em sua pasta de layouts. Comumente a pasta de layouts é a application/layouts/ Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 Entendi, no meu caso eu teria os seguintes modulos: default (site), admin (painel administrativo), financeiro (modulo financeiro), pessoal (modulo de gestão de pessoal). Neste caso o modulo default teria um layout e os outros modulos admin, financeiro e pessoal possuem o mesmo layout. Então eu faria um default.phtml, admin.phtml (para layouts), mas quando o modulo financeiro for acessado eu quero que ele use o layout do painel e não do default.phtml. Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Maio 18, 2013 Basta apenas um pouquinho de criatividade e codificação: <?php class MyApp_Plugin_Module extends Zend_Controller_Plugin_Abstract { public function preDispatch(Zend_Controller_Request_Abstract $request) { $module = $request->getModuleName(); $layout = Zend_Layout::getMvcInstance(); switch ($module) { case 'admin': case 'financeiro': $layout->setLayout('admin'); break; default: $layout->setLayout('default'); break; } } } :graduated: Compartilhar este post Link para o post Compartilhar em outros sites
Scientist 2 Denunciar post Postado Maio 18, 2013 OBrigado, vou testar mas desde já agradeço :D Compartilhar este post Link para o post Compartilhar em outros sites