Vous wil Je dois écrire un itinéraire personnalisé.
Dans le code:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(
'admin/:module/user', array('controller' => 'admin-user'));
$router->addRoute('module-admin-router', $route);
Dans un fichier .ini (Je tiens à garder mes séparer de application.ini):
[routes]
routes.module-admin-router.type = "Zend_Controller_Router_Route"
routes.module-admin-router.route = "archive/:module/user"
routes.module-admin-router.defaults.controller = "admin-user"
Ensuite, vous devrez amorcer cette section d'application pour permettre les routes;
protected function _initRoutes()
{
// setup routes here.
$front = $this->getResource('frontcontroller');
$router = $front->getRouter();
$config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'routes');
$router->addConfig($config->routes);
}
Cette route détectera toute admin/module/requête de l'utilisateur et l'envoyer à l'AdminUserController dans le module correspondant.
Quelque chose comme ça devrait fonctionner. Maintenant, si les choses deviennent vraiment compliquées, vous aurez probablement besoin de creuser dans le routeur regex - mais c'est aussi simple que je peux le penser.
Est-il possible de le faire dans le fichier application.ini avec le routeur regex: P car tous les modules doivent être routés de la même manière. – Chris
a mis à jour ma réponse. –
Merci, mais je n'arrive pas à obtenir des variables dans le contrôleur utilisé .. exemple: resources.router.routes.module-admin-router.route = "admin /: module /: contrôleur /: action" resources.router. routes.module-admin-router.defaults.controller = "admin-: controller" Ne fonctionne pas :( – Chris