2016-07-18 7 views
1

Ich habe Probleme zu finden, wie die URLs von benannten Routen innerhalb eines Phalcon PhP-Controllers erhalten. Das ist mein Weg: domain.com/admin/application/form-test/10/detail:Phalcon PhP - wie benannte Routen in einem Controller zu verwenden sind

$router->add(
    '/admin/application/{formUrl:[A-Za-z0-9\-]+}/{id:[A-Za-z0-9\-]+}/detail', 
    [ 
     'controller' => 'AdminApplication', 
     'action' => 'detail' 
    ] 
)->setName("application-details"); 

ich einfach die URL, zB erhalten möchten. Mit dem folgenden Code kann ich den HTML-Code zum Erstellen eines Links abrufen, das gleiche Ergebnis wie link_to.

$url = $this->tag->linkTo(
    array(
     array(
      'for' => 'application-details', 
      'formUrl' => $form->url, 
      'id' => $id 
     ), 
     'Show' 
    ) 
); 

Das Ergebnis, das ich will, ist nur die Url. Ich bin in einer Controller-Aktion. Ich weiß, dass es wirklich einfach sein muss, ich kann einfach kein Beispiel finden. Kannst du mir helfen?

Danke für jede Hilfe!

Antwort

2

Sie sollten den URL-Helper verwenden. Beispiel:

$url = $this->url->get(
    [ 
     'for' => 'application-details', 
     'formUrl' => $form->url, 
     'id' => $id, 
    ], 
    [ 
     'q' => 'test1', 
     'qq' => 'test2', 
    ] 
); 

Sie können bei Bedarf ein zweites Array für Abfragezeichenfolgenparameter übergeben.

Nach Ihrer Route Definition, die oben ausgeben sollte so etwas wie:?

/admin/application/form-url/25/Detail q = test1 & qq = test2

Mehr Info von Generating URIs in the docs.

+1

Danke! genau was ich brauchte. –