Bonjour tout le monde!
Je débute avec Zend framework et je bute sur un petit problème.
Apparemment il serait possible de modifié son menu en fonction des acls que l'on a définie. (En gros de pas faire apparaitre un élément du menu si l'utilisateur connecté est membre et non admin).
Alors pour faire menu, aucun soucis, c'est assez intuitif, et, d'aprés le tuto du site officiel, y integrer les acls aussi. Mais non...
Alors je pense que j'ai du oublier quelque chose... si quelqu'un peut me venir en aide svp !!
Voici mon code :
acl.ini :
navigation.xml :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 [roles] guest = null member = null admin = null [ressources] ; définition des ressources dans le module par défaut index = null album = null auth = null admin = null news = null [guest] allow.auth = null allow.index = null allow.album = index,list ; member hérite de guest [member : guest] ; on interdit le login (le membre est déjà identifié) deny.auth = null allow.index = null allow.news = ajout allow.album = ajout ; admin hérite de member [admin : member] allow.admin = null allow.index = null allow.news = null allow.album = null
layout.phtml :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45<?xml version="1.0" encoding="UTF-8"?> <config> <nav> <label>Home</label> <controller>index</controller> <action>index</action> <resource>index</resource> <pages> <album> <label> Albums </label> <controller>album</controller> <action>index</action> <pages> <list> <label>Liste</label> <controller>album</controller> <action>list</action> <resource>album</resource> </list> <ajout> <label>Ajout</label> <controller>album</controller> <action>ajout</action> <resource>album</resource> </ajout> </pages> </album> <news> <label>News</label> <controller>news</controller> <action>index</action> <resource>news</resource> </news> <admin> <label>Client</label> <controller>admin</controller> <action>list</action> <resource>admin</resource> </admin> </pages> </nav> </config>
Alors en fait, quand je ne suis pas connecté (c'est a dire en 'guest' ), le menu album ne s'affiche pas alors que j'autorise l'action 'album/list' pour 'guest'... Je n'arrive pas a comprendre pourquoi !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $acl_ini = APPLICATION_PATH.'/configs/acl.ini' ; $acl = new My_Acl_Ini($acl_ini) ; Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($acl); Zend_View_Helper_Navigation_HelperAbstract::setDefaultRole($role); echo $this->navigation() ->menu();
Donc voila, si vous voyez une erreur ou un oublie (il doit surement y en avoir un ^^) merci de me le dire, et n'hésitez pas a demander si il vous faut des renseignements supplémentaires !
Merci d'avance !!!
Partager