Salut a tous,
Je compte mettre en place un menu latéral hiérarchisé dans mon application ( idem a une arbo de fichier windows). J'aimerais que lorsqu'on clic sur un nœud de la hiérarchie, ses fils soient déroulés via une requête ajax.
Le souci : Je débute en JS et en AJAX. J'ai lu la partie integration d'ajax sur symfony mais elle ne m'aide pas tellement.
Je vous post les codes déjà créés, hésitez pas a me dire ce qui va pas tant au niveau syntaxe que concept.
Affichage :
Fichier JS : Il doit sans doute manquer pas mal d'info, mais j'aimerai faire parvenir l'id et la table a dérouler à mon action MenuAjax du module : displayElements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <li><a href="<?php echo url_for('Entreprise/index') ?>" >Liste des entreprises</a></li> <ul> <?php foreach ($liste_entreprise as $entreprise) : ?> <li><a href="<?php echo url_for('Entreprise/edit?id='.$entreprise->getId()) ?>" onclick="menu_ajax('<?php echo $entreprise->getId(); ?>','site') "><?php echo $entreprise->getNom() ; ?> </a></li> <?php endforeach ; ?> </ul>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 function menu_ajax(id,table) { $.post("displayElements/MenuAjax", {myParam : id} , {myTable : table} ); }
L'action (enfin il s'agit d'un component mais ca fonctionne pareil d'apres la doc) :
Je voudrais comprendre ce qu'il me manque tant au niveau syntaxe qu'au niveau concept pour transférer les infos nécessaire au chargement des fils du nœud du menu. En l’occurrence : les fils de l’entreprise sont des sites.
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 public function executeMenuAjax() { if ($request->isXmlHttpRequest()) { $id = $request->getParameter('myParam'); $table = $request->getParameter('myTable'); if ($table == "site") { $this->sites = Doctrine_Core::getTable('Site') ->createQuery('a') ->where("entreprise_id = $id") ->execute(); } return $this->renderText($this->sites); } }
Merci d'avance
Partager