Diese Frage zu this one verbunden istWie eine dynamische Standard für einen Schlüssel in einem Router festlegen, Zend Framework
Wie kann ich den Standard der Kategorie Teils setze die Kategorie Wert in der Anfrage-URL zu sein?
$Router=$this->_front->getRouter();
$CategoryRoute = new Zend_Controller_Router_Route('category/:category/:controller/:action/*',
array(
'controller' => 'index',
'action' => 'index',
'category' => 'aaa'
));
$Router->addRoute('category', $CategoryRoute);
Mit anderen Worten, ich brauche den Wert [aaa] der Wert der Kategorie in der Zeit zu sein, die ich diesen Weg bin Gebäude. Es wird immer einen Wert für [Kategorie] geben, da sonst die Standardroute verwendet wird.
Beispiel von dem, was ich meine:
Wenn ich auf die Website surfen mit url http://baseurl/category/mycat/index
I = Index an der Steuerung geleitet werden wird, action = Index, Kategorie = mycat.
Aber in all meiner Ansicht nach Dateien, wo ich die Zend_View verwenden :: url() Helfer, zeigen die Links zu:
http://baseurl/category/aaa/somthing/somthing (Mit Hilfe der genauen Weg von oben)
Während ich sie tatsächlich brauchen, um zu zeigen:
http://baseurl/category/mycat/somthing/somthing
Dies passiert, weil der Standardwert für die Kategorie als Konstante in der Route geschrieben und irgendwie nicht von der aktuellen URL übernommen wird.
Ich löse dies derzeit, indem ich selbst die Kategorie aus der URL extrahiere und sie zum Standard mache.
Könnten Sie mit einigen URLs klären und was funktioniert und nicht funktioniert? –