|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
Dites , j'ai envie de faire un truc mais je sais pas comment.
Je fais un système de gestion des droits. Je voudrais qu'en enregistrant un utilisateur, on lui donne ou pas les droits d'accès a des pages du site. Ces pages sont de type menu / sous menu. Quand on choisit un menu , plein de sous menu apparaissent. Je les ai stockées dans la la bdd dans une seule table, avec un booléen pour savoir si la page est un menu ou un sous menu, si c'est un sous menu, je stocke l'id du menu "père". Maintenant dans mon formulaire pr enregister l'utilisateur, j'aimerais faire un truc propre: genre on choisit le menu avec des check box et dès qu'on a coché un menu, juste en dessous, on voit les sous menus apparaitre en check box eux aussi. Vous voyez ce que je veux dire? Si on coche la check box correspondant au menu ( père), une liste de chekbox correspondant au sous menu ( fils) apparaissent en dessous. bon voila, mon problème: Comment faire ca ? En php ? en javascript ? en ajax ?? J'aimerais vraiment en PHP mais recharger la page c moche. Ajax je connais pas du tout, et je trouve pas vraiment de bonne infos sur le net; mais bon ca me semble le mieux. Qu en pensez vous ? |
|
|
00
|
|
|
#2 | ||||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Hello
Il faut tenir compte d'une chose: tout le monde n'a pas activé javascript. Le formulaire de séléction doit pouvoir fonctionner intégralement en PHP, pour cela je te conseille d'afficher toutes les checkbox. Ensuite, avec JavaScript, on va introduire un look n feel un peu plus sexy en "cachant" les menus fils et en ne les montrant qu'a la selection d'un menu père. Ta structure HTML devra donc ressembler à quelque chose du genre: Code :
Code :
Code :
$('ul#menu_selection li ul').addClass('hide'); Et Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||||||
|
00
|
|
|
#3 | ||||
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
Merci, j'ai essayé, je continue a réfléchir dessus.
Pour le moment, j'ai bien afficher l'arborescence: menu et en dessous tout les sous menus liés. Mais je javascript ne fonctionne pas, il ne se passe rien. Le javascript : Code :
Code :
Autrement, je pourrais peut être faire un truc plus simple, je sais pas trop non plus comment m'y prendre. Quand l'on coche une catégorie père, par défaut tous les fils en dessous se cochent. C'est peut être plus simple mais moins joli, je ne sais pas |
||||
|
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Tu as bien pensé à mettre la classe CSS 'hide' quelque part ? Sinon, puisque tu utilise la jQuery-ui, remplace donc cette classe par ui-helper-hidden.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
j'ai rajouter ca dans le css:
.show { display: block; } .hide { display: none; } |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
c'est censé fonctionner maintenant?? Parce que ca n'affiche que les menus pères et fils sans qu'on puisse les cacher ou pas
|
|
|
00
|
|
|
#7 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Désolé il y avait une erreur dans le script js que je t'ai passé, il falait remonter au parent lors du clic car il porte sur input
![]() Voici un code fonctionnel: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#8 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
cool
ca fonctionne je te remercie énormément Merci Je n'ai plus qu' a remettre en forme en mettant une tabulation pour les menus fils |
|
|
00
|
|
|
#9 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
voilà, ensuite ça pourrait être pas mal de mettre des puces (+) et (-) sur la liste pour donner un peu plus de classe
Je ne sais pas si tu as remarqué mais le script que je t'ai passé utilise l'API google pour charger jQuery, cette méthode est conseillée car d'une part elle réduit la charge de ton serveur (quelques kb en moins c'est toujours ça de pris) et d'autre part si un utilisateur l'a déjà dans son cache en étant passé par un autre site qui utilise la même technique, le chargement n'en sera que plus rapide. A lire a toute fin utile: http://www.tvidesign.co.uk/blog/impr...lent-tips.aspx
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#10 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
Merci pr tt,
et juste pour abuser, ce serait possible de faire quelque chose comme si on coche le menu père , tous les menus fils qui apparaissent ensuite soient déjà coché par défaut? Je vais lire le lien que tu m'as passé. |
|
|
00
|
|
|
#11 | |||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Citation:
Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|||
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
c est un truc de fou.
bon je vais apprendre a en faire tt seul. merci |
|
|
00
|
|
|
#13 | ||
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
Bon j'ai appris un peu le jquery. J'ai fait quelques fonctions pour mes formulaires ( par exemple un bouton: "cocher toute les cases", ce genre de choses).
Je viens de voir que j'ai un petit soucis avec le code précédent. Quand je clique sur un menu père, tout les menus fils apparaissent mais décochés. Par contre avec cette liste menu père et menu fils associés, si je dé clique le menu père , tout les menu fils se cochent. J'essaye de faire en sorte que quand on clique sur le menu père la première fois, tout les menus fils s'affichent mais tous cochés. Code :
|
||
|
|
00
|
|
|
#14 | ||
|
Futur Membre du Club
![]() Inscription : avril 2010 Messages : 105 ![]() |
OhOhOh
Ben j'ai trouvé. Il fallait enlever toggleClass('hide') dans la deuxième partie. Donc code fonctionnelle pour afficher menu père et menu fils associés en cochant de base tous les check box quand la menu père est cliqué. Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com