Bawię się trochę routingiem i spłodziłem oto takie coś:

Plik Bootstrap.php
  1. protected function _initRoute(){
  2. $frontController = Zend_Controller_Front::getInstance();
  3. $router = $frontController->getRouter();
  4. $route = new Zend_Controller_Router_Route_Regex(
  5. '([^-]*),([^-]*)\.html',
  6. array('controller' => 'index',
  7. 'action' => 'index'),
  8. array(1 => 'controller',
  9. 2 => 'action'),
  10. '%s,%s.html'
  11. );
  12. $router->removeDefaultRoutes();
  13. $router->addRoute('default', $route);
  14. }

Wstępnie działa, ale ja chcę zrobić coś takiego, żeby zupełnie zastąpić domyślny routing zenda: /controller/action/param1/v1/p2/v2/...
moim, w stylu: /controller,action,p1,v1,p2,v2

Da się to zrobić dynamicznie, dla wszystkich ścieżek, tak jak działa to domyślnie? Bo w tej chwili żeby dodać jakiś parametr musiałbym go ręcznie dodawać do ścieżki: array(1 => 'controller', 2 => 'action', 3 => 'p1', ... ) i '%s,%s,%s, ... ,.html'. Mógłbym dodać trzeci parametr array(1 => 'controller', 2 => 'action', 3 => 'params' ) i rozbijać go regexami, ale to chyba mało wydajne i eleganckie... Uszczęśliwiłby mnie również sposób na prostą "podmianę" domyślnego separatora "/" na np "," i ew dodanie na końcu ".html".