Bonjour,
En suivant les tutoriel sur cakephp, j'ai un menu pour mon projet et je souhaiterais dans le cas d'une connexion d'un utilisateur que le lien administration ne s'affiche pas.
Dans ma base de donnée j'ai un champs : role (user ou admin)
ci dessous mon menu
<?php $pages = $this->requestAction(array('controller'=>'pages', 'action'=>'menu','admin'=>false)); ?>
<li><?php echo $this->Html->link('News',array('controller'=>'posts','action'=>'index'));?></li>
<li><?php echo $this->Html->link('Diverstissement',array('controller'=>'games','action'=>'index'));?></li>
<li><?php echo $this->Html->link('Galerie',array('controller'=>'galleries','action'=>'index'));?></li>
<?php if(AuthComponent::user('id')):?>
<li><?php echo $this->Html->link('Mon compte',array('controller'=>'users','action'=>'profil','admin'=>false));?></li>
<li><?php echo $this->Html->link("administration",array('controller'=>'posts','action'=>'index','admin'=>false));?></li>
<li><?php echo $this->Html->link("Se déconnecter",array('controller'=>'users','action'=>'logout'));?></li>
<?php else:?>
<li><?php echo $this->Html->link("S'inscrire",array('controller'=>'users','action'=>'signup'));?></li>
<li><?php echo $this->Html->link("Se connecter",array('controller'=>'users','action'=>'login'));?></li>
<?php endif ;?>
comment je pourrais faire.
Pour l'instant que ce soit un user ou admin les lien s'affiche par contre on,peux pas acceder a partir de celui-ci
Je veux masqué ce lien :
Si c'est un user : le lien administration ne doit pas s'afficher
si c'est un admin : le lien s'affiche
merci de votre aide
Cafreunion
Rajoute simplement une condition sur ton lien d'administration :
<?php if(AuthComponent::user('role') == 'admin'): ?>
<li><?php echo $this->Html->link("administration",array('controller'=>'posts','action'=>'index','admin'=>false));?></li>
<?php endif; ?>
Bien sur, cette solution suppose que tu aies un champ role dans ta table users !
Re,
J'ai déja cette ligne qui vérifié s'il y a une identification
<?php if(AuthComponent::user('id')):?>
Est t'il possible de mettre une deuxième condition et comment
Merci de votre réponse
Cafreunion
Bonjour
if( (cond1) && (cond2) && (cond3) ) {
...
}
on passe dans le if si les 3 conditions sont réalisés en même temps (ET logique)
Si tu veux le "ou logique") le symbole c'est ||
if( (cond1) || (cond2) ) {
...
}
Je sais pas si cela répond à ta question ..
cordialement
Antho
Bonjour, Merci de votre régonse mais j'ai déja un If qui test si la personne est identifié voir ci-dessous [code]<?php if(AuthComponent::user('id')):?> code] Je voulais inclure une condition qui se base aussi sur le rôle de l'utilisateur, comme j'utilise le composant AUTH je vois pas trop comment le faire. Dois-je intégré la seconde condition dasn AUTH ou faire autrement A ce niveau je vois pas trop comment proceder a part de faire deux menu un pour les utilisateur normaux et l'autre pour l'administrateur. Ce qui dupliquera mon menu ce qui pourais me donner un truc de ce genre [code]<?php <?php $pages = $this->requestAction(array('controller'=>'pages', 'action'=>'menu','admin'=>false)); ?>
<?php echo $this->Html->link('Galerie',array('controller'=>'galleries','action'=>'index'));?>
<?php if(AuthComponent::user('id')):?><if user><?php echo $this->Html->link('Mon compte',array('controller'=>'users','action'=>'profil','admin'=>false));?>
}else{
<li>
<?php echo $this->Html->link("administration",array('controller'=>'posts','action'=>'index','admin'=>false));?></li>
}
<li>
<?php echo $this->Html->link("Se déconnecter",array('controller'=>'users','action'=>'logout'));?></li>
<?php else:?>
<li>
<?php echo $this->Html->link("S'inscrire",array('controller'=>'users','action'=>'signup'));?></li>
<li>
<?php echo $this->Html->link("Se connecter",array('controller'=>'users','action'=>'login'));?></li>
<?php endif ;?>
?>[code]
Pour l'instant j'ai pas pu tester car je suis au taf
Merci de votre aide
Cafreunion
</if>