Bonjour,
J’ai une question assez complexe à résoudre.
Mon site affiche le plan d’un village. Sur ce plan il y a des points d’intérêt cliquable.
Lorsque l’on clique sur l’un de ces points d’intérêt j’ouvre un box avec à l’intérieur des infos relative à ce point.
Voilà le cas général. Maintenant du coté code voilà comment je m’y suis prit.
(J’admets bien volontiers que ma méthode n’ai peut être pas la meilleur)
Lorsque l’on clique sur un point d’intérêt je lance ce code JavaScript :
Id est renseigné plus haut et il correspond à l’id du point d’intérêt sur lequel on vient de cliquer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $('#box').load( 'fiche-point', { id: id } ); $('#box').show();
Cela nous amène à cette route :
Ce qui nous amène au sur ce controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 AfficherPointInteret: pattern: /fiche- point defaults: { _controller: MonjeuxCarteBundle:Carte:AfficherPI }
Et ainsi une vue vient remplir la div box qui était vide et cache jusque là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 namespace Monjeux\CarteBundle\Controller; class CarteController extends Controller { public function AfficherPI()//affiche les point dinteret { $request = $this->get('request'); if( $request->isXmlHttpRequest() )//si la requete est envoyé depuis ajax { $id = $request->request->get('id');//On recupére l'Id du Point dinteret $em = $this->container->get('doctrine')->getEntityManager(); //ICI JE FAIS DES REQUETES POUR OBTENIR LES INFO RELATIVE AU PI return $this->render(MonjeuxCarteBundle:Carte: pointdinteret.html.twig', array('pointdinteret' => $ pointdinteret)); } } }
J’ajoute que la box est draggable ce qui permet à l’utilisateur de la placer ou il veut.
Maintenant que j’ai détaillé mon cas je vais poser ma question.
Lorsque j’ouvre une box de cette façon l’url de ma page ne change pas, ce qui est normal.
Comment puis-je faire pour que mon url change et que ma page avec la box ouverte ait une url propre ?
Par exemple ma page à pour url : www.Monjeux.com/Lacarte
Elle a cette URL que la box soit ouverte ou non.
J’aimerais que lorsque j’ouvre ma box l’URL devienne : www.Monjeux.com/Lacarte/NomdemonPI
J’ai peut être trouvé des solutions possibles avec swfadress ou certaines méthodes JavaScript mais je ne sais pas vraiment par ou commencer.Si quelqu'un pouvais me mettre sur la voie je lui en serait reconnaissant.
J’espère avoir été suffisamment précis et clair dans mes explications pour me faire comprendre.
Merci d'avance pour vos réponses
Partager