gremio10 14 Denunciar post Postado Dezembro 15, 2011 Fala galera, eu to com um problema ^^ seguinte... eu tenho dois módulos, chamados default( obvio ) e o outro painel. Bom, no painel, eu tenho um controller chamado UserView, com isso tenho uma view chamada user-view, que mostra resultados para o usuário. Então, eu coloquei um router, para que eu pudesse traduzir as views e as controllers, funcionava perfeitamente, mas ai eu tive de mudar ela de lugar, ou seja, coloquei ela no default, ai parou de funcionar... minhas pastas: - application - configs - modules - default - controllers - models - views * Bootstrap.php #4 - painel - controllers - models - views * Bootstrap.php #3 * Bootstrap.php #2 * Bootstrap.php #1 - docs - library - public * .htaccess * application.ini Conteúdo do Bootstrap.php #1 <?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { protected function _initHelpers() { $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); $viewRenderer->initView(); $viewRenderer->view->addHelperPath( "Zend/View/Helper/", "Zend_View_Helper" ); } protected function _initAutoLoader() { Zend_Loader_Autoloader::getInstance ()->setFallbackAutoloader ( true ); $modelLoader = new Zend_Application_Module_Autoloader ( array ( 'namespace' => '', 'basePath' => APPLICATION_PATH ) ); return $modelLoader; } } Conteúdo do Bootstrap.php #2 <?php class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { } Conteúdo do Bootstrap.php #3 <?php class Painel_Bootstrap extends Zend_Application_Module_Bootstrap { public function _initRouters() { $front = Zend_Controller_Front::getInstance(); $router = $front->getRouter(); /** * questions */ $route = new Zend_Controller_Router_Route( ":module/perguntas/", array( "module" => "painel", "controller" => "questions", "action" => "index" ) ); $router->addRoute( "questions", $route ); $route = new Zend_Controller_Router_Route( ":module/perguntas/deletar/:id", array( "module" => "painel", "controller" => "questions", "action" => "delete" ) ); $router->addRoute( "questions-delete", $route ); /** * promoted */ $route = new Zend_Controller_Router_Route( ":module/promover/:type/:id/:return/:hash", array( "module" => "painel", "controller" => "promoted", "action" => "index" ) ); $router->addRoute( "promoted", $route ); /** * ads */ $route = new Zend_Controller_Router_Route( ":module/anuncios/", array( "module" => "painel", "controller" => "ads", "action" => "index" ) ); $router->addRoute( "ads", $route ); $route = new Zend_Controller_Router_Route( ":module/anuncios/adicionar", array( "module" => "painel", "controller" => "ads", "action" => "insert" ) ); $router->addRoute( "ads-insert", $route ); /** * avaliations */ $route = new Zend_Controller_Router_Route( ":module/avaliacoes/", array( "module" => "painel", "controller" => "avaliations", "action" => "index" ) ); $router->addRoute( "avaliations", $route ); /** * studies */ $route = new Zend_Controller_Router_Route( ":module/estudos/", array( "module" => "painel", "controller" => "studies", "action" => "index" ) ); $router->addRoute( "studies", $route ); $route = new Zend_Controller_Router_Route( ":module/estudos/adicionar", array( "module" => "painel", "controller" => "studies", "action" => "insert" ) ); $router->addRoute( "studies-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/estudos/editar/:id", array( "module" => "painel", "controller" => "studies", "action" => "edit" ) ); $router->addRoute( "studies-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/estudos/deletar/:id", array( "module" => "painel", "controller" => "studies", "action" => "delete" ) ); $router->addRoute( "studies-delete", $route ); /** * articles */ $route = new Zend_Controller_Router_Route( ":module/artigos/", array( "module" => "painel", "controller" => "articles", "action" => "index" ) ); $router->addRoute( "articles", $route ); $route = new Zend_Controller_Router_Route( ":module/artigos/adicionar", array( "module" => "painel", "controller" => "articles", "action" => "insert" ) ); $router->addRoute( "articles-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/artigos/editar/:id", array( "module" => "painel", "controller" => "articles", "action" => "edit" ) ); $router->addRoute( "articles-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/artigos/deletar/:id", array( "module" => "painel", "controller" => "articles", "action" => "delete" ) ); $router->addRoute( "articles-delete", $route ); /** * tips */ $route = new Zend_Controller_Router_Route( ":module/dicas/", array( "module" => "painel", "controller" => "tips", "action" => "index" ) ); $router->addRoute( "tips", $route ); $route = new Zend_Controller_Router_Route( ":module/dicas/adicionar", array( "module" => "painel", "controller" => "tips", "action" => "insert" ) ); $router->addRoute( "tips-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/dicas/editar/:id", array( "module" => "painel", "controller" => "tips", "action" => "edit" ) ); $router->addRoute( "tips-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/dicas/deletar/:id", array( "module" => "painel", "controller" => "tips", "action" => "delete" ) ); $router->addRoute( "tips-delete", $route ); /** * localService */ $route = new Zend_Controller_Router_Route( ":module/atuacao/", array( "module" => "painel", "controller" => "localService", "action" => "index" ) ); $router->addRoute( "local-service", $route ); $route = new Zend_Controller_Router_Route( ":module/atuacao/adicionar", array( "module" => "painel", "controller" => "localService", "action" => "insert" ) ); $router->addRoute( "local-service-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/atuacao/editar/:id", array( "module" => "painel", "controller" => "localService", "action" => "edit" ) ); $router->addRoute( "local-service-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/atuacao/deletar/:id", array( "module" => "painel", "controller" => "localService", "action" => "delete" ) ); $router->addRoute( "local-service-delete", $route ); /** * filial */ $route = new Zend_Controller_Router_Route( ":module/filiais/", array( "module" => "painel", "controller" => "filial", "action" => "index" ) ); $router->addRoute( "filial", $route ); $route = new Zend_Controller_Router_Route( ":module/filiais/adicionar", array( "module" => "painel", "controller" => "filial", "action" => "insert" ) ); $router->addRoute( "filial-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/filiais/editar/:id", array( "module" => "painel", "controller" => "filial", "action" => "edit" ) ); $router->addRoute( "filial-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/filiais/deletar/:id", array( "module" => "painel", "controller" => "filial", "action" => "delete" ) ); $router->addRoute( "filial-delete", $route ); /** * specialties */ $route = new Zend_Controller_Router_Route( ":module/especialidades/", array( "module" => "painel", "controller" => "specialties", "action" => "index" ) ); $router->addRoute( "specialties", $route ); $route = new Zend_Controller_Router_Route( ":module/especialidades/adicionar", array( "module" => "painel", "controller" => "specialties", "action" => "insert" ) ); $router->addRoute( "specialties-insert", $route ); $route = new Zend_Controller_Router_Route( ":module/especialidades/editar/:id", array( "module" => "painel", "controller" => "specialties", "action" => "edit" ) ); $router->addRoute( "specialties-edit", $route ); $route = new Zend_Controller_Router_Route( ":module/especialidades/deletar/:id", array( "module" => "painel", "controller" => "specialties", "action" => "delete" ) ); $router->addRoute( "specialties-delete", $route ); } } Conteúdo do Bootstrap.php #4 <?php class Default_Bootstrap extends Zend_Application_Module_Bootstrap { public function _initRouters() { $front = Zend_Controller_Front::getInstance(); $router = $front->getRouter(); /** * userView */ $route = new Zend_Controller_Router_Route( ":module/pagina/:user", array( "module" => "default", "controller" => "user-view", "action" => "index" ) ); $router->addRoute( "user-view", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/dicas/:user", array( "module" => "default", "controller" => "user-view", "action" => "tips" ) ); $router->addRoute( "user-view-tips", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/artigos/:user", array( "module" => "default", "controller" => "user-view", "action" => "articles" ) ); $router->addRoute( "user-view-articles", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/perguntas/:user", array( "module" => "default", "controller" => "user-view", "action" => "questions" ) ); $router->addRoute( "user-view-questions", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/estudos_caso/:user", array( "module" => "default", "controller" => "user-view", "action" => "studies" ) ); $router->addRoute( "user-view-studies", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/depoimentos/:user", array( "module" => "default", "controller" => "user-view", "action" => "testimony" ) ); $router->addRoute( "user-view-testimony", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/contato/:user", array( "module" => "default", "controller" => "user-view", "action" => "messages" ) ); $router->addRoute( "user-view-contact", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/biografia/:user", array( "module" => "default", "controller" => "user-view", "action" => "biography" ) ); $router->addRoute( "user-view-biography", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/lerArtigo/:user/id/:id", array( "module" => "default", "controller" => "user-view", "action" => "articles-view" ) ); $router->addRoute( "user-view-articles-view", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/lerEstudo/:user/id/:id", array( "module" => "default", "controller" => "user-view", "action" => "studies-view" ) ); $router->addRoute( "user-view-studies-view", $route ); $route = new Zend_Controller_Router_Route( ":module/pagina/perguntar/:user", array( "module" => "default", "controller" => "user-view", "action" => "make-question" ) ); $router->addRoute( "user-view-make-question", $route ); } } Obrigado pela ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
Francispansa 6 Denunciar post Postado Dezembro 16, 2011 Gremio10, de certa forma não estou respondendo a sua pergunta, e também estou desenvolvendo meus projetos com o ZF a pouco tempo, mas quando preciso trabalhar com as rotas do ZF, eu uso um arquivo .ini, acho bem mais prático. Veja se assim não resolveria seu problema! Bootstrap.php protected function _initRouter() { $this->bootstrap('frontController'); $config = new Zend_Config_Ini( APPLICATION_PATH . '/configs/routes.ini', 'routes'); $router = $this->getResource('frontController') ->getRouter() ->addConfig($config, 'routes'); return $router; } routes.ini(exemplo) [routes] routes.portfolio.route = "portfolio/:idCategoria/:nomeProduto" routes.portfolio.defaults.controller = portfolio routes.portfolio.defaults.action = index routes.produto.route = "produto/:idProduto/:slugProduto" routes.produto.defaults.controller = produto routes.produto.defaults.action = index Como disse anteriormente, trabalho a pouco tempo com o ZF, mas desde então essa pratica me serviu perfeitamente, nunca tive problemas! Caso algum acho que trabalhar as rotas usando arquivo .ini é desvantajoso de alguma maneira, peço que me avise e me indique uma forma melhor para trabalhar. :natallaugh: Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Dezembro 16, 2011 Francispansa, obrigado por compartilhar seu modo de criar rotas, como aprendi dessa maneira, para mim, fica muito mais fácil de desenvolver assim, mas quando iniciar um novo projeto, irei usar o seu método de criação para ver como é :natalhappy: Compartilhar este post Link para o post Compartilhar em outros sites
Francispansa 6 Denunciar post Postado Dezembro 16, 2011 Francispansa, obrigado por compartilhar seu modo de criar rotas, como aprendi dessa maneira, para mim, fica muito mais fácil de desenvolver assim, mas quando iniciar um novo projeto, irei usar o seu método de criação para ver como é :natalhappy: Realmente, o modo é mais fácil de trabalharmos é sempre o que aprendemos inicialmente! Mas quando puder teste mesmo esse modo, eu acho interessante e bem simples de se trabalhar. :natalhappy: Compartilhar este post Link para o post Compartilhar em outros sites