Bonjour,
Dans le tuto "Développer un site de A à Z : jour 4, Gestion des routes", à l'instant 0:10:18, j'aimerais savoir pourquoi dans ma vue, je récupère non seulement les items de type "post", mais aussi ceux de type "page". Comment fais-tu pour ne sélectionner que les "post" ?
A présent, à l'instant 0:11:34, j'ai donc mes pages, mes posts, et des liens "lire la suite", qui pointent respectivement pour les éléments de type "page" vers "tuto/posts/view/1" et "tuto/posts/view/2", et affichent "page introuvable", et pour les éléments de type "post" vers "tuto/posts/view/3" et "tuto/posts/view/4" et affichent bien les éléments de type "post" correspondants.
Comment ne sélectionner que les éléments de type "post" ?
En effet, dans le fichier ".../view/posts/index.php", j'ai :
<div class="page-header">
<h1>Le blog</h1>
</div>
<?php foreach ($posts as $k => $v): ?>
<div class="container">
<h2><?php echo $v->name; ?></h2>
<?php echo $v->content; ?>
<p><a href="<?php echo BASE_URL.'/posts/view/'.$v->id; ?>">Lire la suite →</a></p>
</div>
<?php endforeach ?>
(le HTML est légèrement différent de la vidéo, tout simplement parce que je n'avais pas le même résultat à l'écran en raison des changements du nom des classes dans bootstrap)
et dans PostsController.php, j'ai :
<?php
class PostsController extends Controller{
function index(){
$this->loadModel('Post');
$d'posts'] = $this->Post->find(array('online' => 1,'type' => 'post'));
$this->set($d);
}
function view($id){
$this->loadModel('Post');
$d'page'] = $this->Post->findFirst(array(
'conditions' => array('online'=>1,'id'=>$id,'type' => 'post')
));
if(empty($d'page'])){
$this->e404('Page introuvable');
}
$this->set($d);
}
}