ice-breaker
return void
- 27 April 2006
- 6.257
- 585
Ja Sebmaster, das sollte der richtige Weg sein
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
module=default, controller=index, action=index
Ich vermute mal deine komische Definition des $routeModule, die ich nicht nachvollziehen kann, macht dir einen Strich durch die Rechnung.
public function addDefaultRoutes()
{
if (!$this->hasRoute('default')) {
$dispatcher = $this->getFrontController()->getDispatcher();
$request = $this->getFrontController()->getRequest();
require_once 'Zend/Controller/Router/Route/Module.php';
$compat = new Zend_Controller_Router_Route_Module(array(), $dispatcher, $request);
$this->_routes = array_merge(array('default' => $compat), $this->_routes);
}
return $this;
}
$route = new Zend_Controller_Router_Route(
':language/:module/:controller/:action/*',
array(
'language' => 'de',
'module' => 'default',
'controller' => 'index',
'action' => 'index'
)
);
$router->addRoute('default', $route);
$routeLanguage = new Zend_Controller_Router_Route(
':language',
array(
'language' => false,
'module' => 'default',
'controller' => 'index',
'action' => 'index'
),
array(
'language' => '^(de|en)$'
)
);
Da defaults angegeben sind, muss das module nicht angegeben werden, wenn ich mich recht entsinne. Denn eigentlich müsste bis auf das language dies die default-Rule des ZF sein.
default.route = ":url_key/*"
default.defaults.module = "default"
default.defaults.controller = "index"
default.defaults.action = "index"
admin.route = ":module/:controller/:action/*"
admin.defaults.module = "admin"
admin.defaults.controller = "index"
admin.defaults.action = "index"
Deine Definition sagt momentan, wenn kein Module angegeben wird, bedeutet dies, man meint das Admin-Modul, was ja nicht der Fall ist.
https://example.de/admin/foo/bar
module = admin
controller = foo
action = bar
default.route = ":url_key/*"
default.defaults.module = "default"
default.defaults.controller = "index"
default.defaults.action = "index"
$route = new Zend_Controller_Router_Route_Regex(
'(\d+)',
array(
'controller' => 'user',
'action' => 'nickpage'
),
array(
1 => 'userid'
)
);
$router->addRoute('archive', $route);
ich war mir nicht im klaren, dass ich die default route dadurch überschrieben habe, nun läufts.
$controller = $this->getDefaultControllerName();
$request->setControllerName($controller)
->setActionName(null);