ich die folgenden Controller in meiner Module haben ..Zend Framework Route
UserController.php AdminUserController.php
die Route für die Admin-Controller geht nun an: Modul/admin-Benutzer/(Standardverhalten)
/admin/module/user
ich die folgenden Controller in meiner Module haben ..Zend Framework Route
UserController.php AdminUserController.php
die Route für die Admin-Controller geht nun an: Modul/admin-Benutzer/(Standardverhalten)
/admin/module/user
Sie wil:
Wie kann ich einen Weg machen, damit alle Admin- wird geändert werden Ich muss eine benutzerdefinierte Route schreiben.
In 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);
In einer INI-Datei (Ich mag mich von application.ini getrennt halten):
[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"
Dann werden Sie, dass die Anwendung Abschnitt Bootstrap müssen, damit die Routen;
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);
}
Diese Route wird jede admin/module/Benutzeranforderung entspricht und an die AdminUserController innerhalb des Anpassungsmodul senden.
So etwas sollte funktionieren. Wenn die Dinge wirklich kompliziert werden, müssen Sie wahrscheinlich den Regex-Router durchsuchen - aber das ist so einfach, wie ich es mir vorstellen kann.
Ist es möglich, es in der application.ini mit dem Regex-Router zu tun: P wie ich alle Module auf die gleiche Weise weitergeleitet werden müssen. – Chris
aktualisierte meine Antwort. –
Danke, aber ich kann nicht scheinen, Variablen im verwendeten Controller zu erhalten. Beispiel: resources.router.routes.module-admin-router.route = "admin /: Modul /: controller /: aktion" resources.router. routes.module-admin-router.defaults.controller = "admin-: controller" Funktioniert nicht :( – Chris