Bonjour à tous, c'est encore moi (désolé d'avance ^^)
J'ai une nouvelle petite question qui concerne comme le titre l'indique les conditions et les foreach.
En fait dans mon admin_index de users j'aimerai différencier certain type d'user de la manière suivante:
Puisqu'ils sont dans un tableau je voudrais ajouter un background-color à la ligne et un espace entre les types par exemple si j'ai 3 admin 2 users et 3 modos :
en rouge : Admin
Admin
Admin
En orange: User
User
En jaune : Modo
Modo
Modo
Voilà alors j'ai tenté un truc de ce style dans mon foreach
<?php foreach($users as $k=>$v): $v = current($v); ?>
<php if($v'role'] = 'user'): ?>
<php echo $this->Html->style(array('background-color' => '#Macouleur','margin-bottom' => '50px')); ?>
<tr>
<td><?php echo $v'id']; ?></td>
<td><?php echo $v'username']; ?></td>
<td><?php echo $v'role']; ?></td>
<td>
<?php echo $this->Html->link("Editer", array('action'=>'edit',$v'id']),array('style'=>'color:#3fbcef;text-decoration:underline')); ?> /
<?php echo $this->Html->link("Supprimer", array('action'=>'delete',$v'id']),array('style'=>'color:#df0024;text-decoration:underline'),'Voulez vous vraiment supprimer cet utilisateur ?'); ?>
</td>
</tr>
<php endif; ?>
<?php endforeach; ?>
Evidemment ça ne fonctionne pas ;) Je pense bien que ce n'est pas comme ça qu'on doit procéder mais alors comment ? ^^
Salut,
j'aurais fais un truc similaire à ça :
<?php foreach($users as $k=>$v): $v = current($v); ?>
<tr class="row-<?php echo v'role'];?>">
<td><?php echo $v'id']; ?></td>
<td><?php echo $v'username']; ?></td>
<td><?php echo $v'role']; ?></td>
<td>
<?php echo $this->Html->link("Editer", array('action'=>'edit',$v'id']),array('style'=>'color:#3fbcef;text-decoration:underline')); ?> /
<?php echo $this->Html->link("Supprimer", array('action'=>'delete',$v'id']),array('style'=>'color:#df0024;text-decoration:underline'),'Voulez vous vraiment supprimer cet utilisateur ?'); ?>
</td>
</tr>
<?php endforeach; ?>
.row-user td {
background-color: #aabbcc;
}
.row-modo td {
background-color: #bbccdd;
}
.row-admin td {
background-color: #ccddee;
}
Cela permet de découper le code html qui permet la structure du site et le CSS qui permet le design. Et ça permet de gagner en simplicité en enlevant les if/else.
C'est en effet une solution à laquelle je n'avais pas pensé et qui est tout à fait correct ;) Merci beaucoup pour ton aide.