Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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 :
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
Tu dois avoir des routes qui se "chevauche"
Hors ligne
Serait-ce possible d'élaborer SVP ?
Hors ligne
Pages: 1