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 :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
$('#box').load(
        'fiche-point',
        { id: id }
      );
$('#box').show();
Id est renseigné plus haut et il correspond à l’id du point d’intérêt sur lequel on vient de cliquer.

Cela nous amène à cette route :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
AfficherPointInteret:
    pattern:  /fiche- point
    defaults: { _controller: MonjeuxCarteBundle:Carte:AfficherPI }
Ce qui nous amène au sur ce controller :

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 d’interet
    {
 
		$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 d’interet
			$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));
		}
    }
}
Et ainsi une vue vient remplir la div box qui était vide et cache jusque là.
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