2010-12-29 11 views
4

Ich kann das nicht herausfinden. Wie verwenden Sie den URL-Helper mit benutzerdefinierten Routen?Zend URL Helper und benutzerdefinierte Routen?

Ich habe eine Methode in meinem users Controller edit und ich habe eine benutzerdefinierte Route für sie aufgerufen, so kann es durch domain.com/settings aufgerufen werden (statt domain.com/users/edit)

Als ich verwenden sie die uRL Helfer auf diese Weise:

<li><a href="<?php echo $this->url(array('controller' => '', 'action' => 'settings')); ?>">Settings</a></li> 

es funktioniert von der Hauptseite in Ordnung, aber wenn ich auf der Seite mit den Einstellungen het, jede andere Verbindung durch die uRL Helfer Links auf die aktuelle uRL generiert (domain.com/settings)

Alle ide Wie kann man das beheben?

Antwort

6

Die Lösung besteht darin, Ihrer benutzerdefinierten Route einen Namen hinzuzufügen.

$router->addRoute(
    'settingsPage', //this is the name 
    new Zend_Controller_Router_Route('settings', 
             array('controller' => 'users', 
               'action' => 'edit')) 
); 

Wenn Sie gehen, um es auf dem Frontend zu verwenden, Ihre Route Name:

<li><a href="<?php echo $this->url(array('controller' => 'users', 'action' => 'edit'), 'settingsPage', true); ?>">Settings</a></li> 

ein

+0

Dies scheint nicht, es zu beheben. Irgendwelche anderen Ideen? Danke für den Vorschlag! – networkprofile

+0

Ich habe mein Beispiel bearbeitet, um den richtigen Controller und die richtige Aktion für den Helper "route/url view" einzuschließen. Dies sollte funktionieren, da ich genau dasselbe mache wie du bist. – seanh

+0

Ich hatte einen Tippfehler im Controller-Namen, das funktioniert. Vielen Dank! – networkprofile

Verwandte Themen