2013-04-07 15 views
19

Sto lavorando con Symfony2 e:Come Generare URL da un modello correttamente in Symfony2/Twig

ho questo nel routing.yml

_welcome: 
    resource: "@AcmeBundle/Controller/" 
    type:  annotation 

ho questo metodo all'interno di un controllore:

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

per generare pagine comuni:

/home 
/contact 
/privacy 

Ma quando faccio l'url del menu:

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

E io Symfony genera questi URL:

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

E il diritto sarebbe:

/home 
/contact 
/privacy 

che cosa devo fare ?

risposta

35

Hai per aggiungere un nome di percorso nel percorso del controller annotazioni come segue,

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

È quindi possibile chiamare l'aiutante ramoscello path utilizzando tale nome,

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

vi ringrazio molto il mio amico! Giusto! : D – rpayanm

Problemi correlati