Récupérer l'url absolue de la page en cours dans une vue avec symfony
Quand le lecteur d'une news veut sélectionner l'URL d'une page il a bien sur la possibilité de coller directement l'adresse dans le navigateur mais on peut aussi l'afficher pour lui dans une vue quand c'est pour partager l'URL d'une image ou d'un fichier quelconque par exemple. Il n'y a malheureusement pas de fonction toute faite pour cette tache incroyablement exotique (malgré les nombreuses requêtes de développeurs sur Github). Bref c'est comme ca. Bon cela dit la combine pour y parvenir n'est pas des plus difficile, il suffit de concaténer 2 parties de l'objet Request représentant le protocole et l'hote, suivies de l'url relative du fichier voulu (envoyée par le controlleur grace a $this->generateUrl
Un exemple
// monController.php return $this->render('MonBundle:exemple:mavue.html.twig', array( 'url' => $this->generateUrl('ma_route', array('mavar' => 'une-var')), )); // mavue.html.twig{{ app.request.scheme ~ '://' ~ app.request.httpHost ~ asset(url) }}
Il peut s'avérer intéressant de voir de quelles méthodes se compose la classe Request car il y a d'autres solutions, suivant l'endroit ou on souhaite récupérer l'URL et suivant la prtie de l'URL que l'on souhaite récupérer aussi...
Retour a la liste