2013-04-07 15 views
19

Ich arbeite mit Symfony2 und generierenWie URLs aus einer Vorlage richtig in Symfony2/Zweig

/** 
* @Route("/{page}") 
*/ 
public function staticAction($page) 
{ 
    return $this->render('AcmeBundle:Static:'.$page.'.html.twig'); 
} 

gemeinsamen Seiten zu generieren:

/home 
/contact 
/privacy 
Aber

wenn ich mache die URL auf dem Menü:

<a href="{{ path('_welcome', {'page': 'home'}) }}">Home</a> 
<a href="{{ path('_welcome', {'page': 'contact'}) }}">Contact</a> 
<a href="{{ path('_welcome', {'page': 'privacy'}) }}">Privacy</a> 

Und ich Symfony erzeugt diese Urls:

…./?page=home 
…./?page=contact 
…./?page=privacy 

Und das Recht wäre:

/home 
/contact 
/privacy 

Was muss ich tun, ?

Antwort

35

Sie haben einen Routennamen in Ihrem Controller Route Anmerkungen wie folgt hinzufügen,

/** 
* @Route("/{page}", name="static") 
*/ 
public function staticAction($page) 
{ 
    // ... 
} 

Sie könnten den Zweig path Helfer rufen Sie dann diesen Namen verwenden,

<a href="{{ path('static', {'page': 'home'}) }}">Home</a> 
+0

Ihnen danken sehr viel meine Freund! Stimmt! : D – rpayanm

Verwandte Themen