URL absolue avec getCollectionRoute
Bonjour,
J'essai de faire un menu avec le bundle KnpMenu et de gérer les Url avec les routes contenus dans mes fichiers yml j'ai presque réussi sauf que l'url reçu n'est pas parfait, il n'est pas absolue.
Mon bundle homepage :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #app/config/routing.yml
root:
pattern: /
defaults:
_controller: FrameworkBundle:Redirect:redirect
route: home_homepage
permanent: true
home_homepage:
pattern: /{_locale}/home/
defaults: { _controller: HomeBundle:Home:index} |
J'ai une classe MenuBuilder que j'appel dans mon template de menu ainsi :
Citation:
{{ knp_menu_render('MenuBundle:Builder:mainMenu') }}
{{ knp_menu_render('MenuBundle:Builder:regLanguageMenu') }}
Dans cette classe MenuBuilder je fais :
Code:
1 2 3 4 5 6 7 8 9 10
|
$factory = new MenuFactory();
$Coll = $this->getCollectionRoute();
$url = $Coll->generate('home_homepage', array('_locale' => 'en'), true);
$menu = $factory->createItem('root');
$menu->addChild('Home', array('uri' => $url));
/* [... ] */
return $menu; |
Le soucis c'est que $url ne me renvoi pas l'url absolue mais l'url actuel + /en/home/ ce qui me double l'url
Donc a l'adresse : monsite/app_dev.php/en/home/ si je clique sur le menu home je me retrouve a monsite/app_dev.php/en/home//en/home
Comment puis je avoir monsite/app_dev.php/en/home/ ?
Parcque quand j'aurai monsite/app_dev.php/en/otrepage/ et que je cliquerais sur home il m'enverra vers monsite/app_dev.php/en/otrepage//en/home
Merci