10.1.11 Supprimer des Posts
Le texte original de cette section a changé depuis qu'il a été traduit. Aidez-nous à corriger cette différence. Vous pouvez :
A présent, mettons en place un moyen de suppression des billets pour les utilisateurs. Démarrons avec une action delete() dans le PostsController :
function delete($id) {
$this->Post->delete($id);
$this->flash('Le post avec l\'id: '.$id.' a été supprimé.', '/posts');
}
function delete($id) {$this->Post->delete($id);$this->flash('Le post avec l\'id: '.$id.' a été supprimé.', '/posts');}
Cette logique supprime le billet spécifié par "$id" et utilise flash() pour afficher à l'utilisateur un message de confirmation avant de le rediriger vers /posts.
Parce que nous exécutons juste un peu de logique et de redirection, cette action n'a pas de vue. Vous voudrez peut-être mettre à jour votre vue "index" avec des liens qui permettent aux utilisateurs de supprimer des billets, ainsi :
/app/views/posts/index.ctp
<h1>Blog posts</h1>
<p><?php echo $html->link('Ajouter un Post', '/posts/add'); ?></p>
<table>
<tr>
<th>Id</th>
<th>Titre</th>
<th>Actions</th>
<th>Créé le</th>
</tr>
<!-- C'est ici que nous bouclons sur le tableau $posts afin d'afficher les informations des posts -->
<?php foreach ($posts as $post): ?>
<tr>
<td><?php echo $post['Post']['id']; ?></td>
<td>
<?php echo $html->link($post['Post']['title'], '/posts/view/'.$post['Post']['id']);?>
</td>
<td>
<?php echo $html->link('Supprimer', "/posts/delete/{$post['Post']['id']}", null, 'Etes-vous sûr ?' )?>
</td>
<td><?php echo $post['Post']['created']; ?></td>
</tr>
<?php endforeach; ?>
</table> /app/views/posts/index.ctp<h1>Blog posts</h1><p><?php echo $html->link('Ajouter un Post', '/posts/add'); ?></p><table><tr><th>Id</th><th>Titre</th><th>Actions</th><th>Créé le</th></tr><!-- C'est ici que nous bouclons sur le tableau $posts afin d'afficher les informations des posts --><?php foreach ($posts as $post): ?><tr><td><?php echo $post['Post']['id']; ?></td><td><?php echo $html->link($post['Post']['title'], '/posts/view/'.$post['Post']['id']);?></td><td><?php echo $html->link('Supprimer', "/posts/delete/{$post['Post']['id']}", null, 'Etes-vous sûr ?' )?></td><td><?php echo $post['Post']['created']; ?></td></tr><?php endforeach; ?></table>
Note : le code de cette vue utilise également le Helper "Html" pour afficher à l'utilisateur un message de confirmation JavaScript avant qu'il ne tente de supprimer un billet.


























