Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-10-2012 20:10:54

débutant-z
Membre
Date d'inscription: 11-10-2010
Messages: 10

[Zend_Controller_Router_Route][1.12.0]Ajouter des routes dynamiquement

Bonjour,

j'essaie d'ajouter des routes dynamiquement. J'ai créer une fonction dans le bootstrap appelé _initRoute. À partir de là, je lis une table qui contient les configurations des routes nécessaires. Mais ça ne fonctionne pas. J'obtient ce message d'erreur dans safari : "Trop de redirections sont survenues en tentant d'ouvrir..." Je comprends ce message. Mais pourquoi est-ce que ça fonctionne lorsque je saisie les routes manuellement, mais que ça ne fonctionne pas lorsque je le fais dynamiquement ?

Voici comment ça se présente :

Code:

protected function _initRoute() {
        
        $this->bootstrap('FrontController');
        $router = $this->getResource('FrontController')->getRouter();

        // Default route
        $router->removeDefaultRoutes();
        
        $options = new Zend_Config_Ini(APPLICATION_PATH . '/configs/application.ini', APPLICATION_ENV);
    
        $db = Zend_Db::factory($options->get("resources")->get("db")->get("adapter"), $options->get("resources")->get("db")->get("params"));
        
        $moduleDAO = new Magellan_Model_Module($db);
        
        $result = $moduleDAO->fetchAll();
        
        $defaultRoute = new Zend_Controller_Router_Route(':controller/:action/*',
            array(
                'module' => '',
                'controller' => 'index',
                'action' => 'index',
            )
        );

        $router->addRoute('default', $defaultRoute);
        
        foreach($result as $module) {
            
            $jsonRoute = $module["Routes"];
            
            if($jsonRoute != "") {
                
                $routes = Zend_Json::decode($jsonRoute, Zend_Json::TYPE_ARRAY);
                
                foreach($routes as $route) {
       
                    $newRoute = new Zend_Controller_Router_Route(':controller/:action/*',
                        array(
                            'module' => $route["module"],
                            'controller' => $route["controller"],
                            'action' => $route["action"],
                        )
                    );

                    $router->addRoute($module["ModuleName"] . "-". $route["action"], $newRoute);
                } 
            }
        }
        
        //Version manuel
        /*$loginRoute = new Zend_Controller_Router_Route(':controller/:action/*',
            array(
                'module' => '',
                'controller' => 'login',
                'action' => 'login',
            )
        );

        $router->addRoute('login', $loginRoute);*/
    }

Merci.

Hors ligne

 

#2 22-10-2012 03:12:29

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Zend_Controller_Router_Route][1.12.0]Ajouter des routes dynamiquement

Tu dois avoir des routes qui se "chevauche"

Hors ligne

 

#3 22-10-2012 21:40:04

débutant-z
Membre
Date d'inscription: 11-10-2010
Messages: 10

Re: [Zend_Controller_Router_Route][1.12.0]Ajouter des routes dynamiquement

Serait-ce possible d'élaborer SVP ?

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages