Blog / Article #20
Récupérer l'URL absolue de la page en cours dans une vue avec Symfony

star

25 Janvier 2013

Récupérer l'url absolue de la page en cours dans une vue avec symfony

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...


Dis moi que tu m'aimes avec un +1

Auteur de l'article
Retour a la liste