Bonjour,

Je regarde en ce moment la vidéo tutoriel jour 3 de cakePhp et je n'arrive pas à éxectuer la fonction show de me posts pour pouvoir les affichés.

Le message d'erreur quand je clique sur "Lire la suite" :

Aucune page ne correspond à cet ID

Error: La page que vous avez essayé d'atteindre n'existe pas
Stack Trace

[internal function] ? PostsController->show()
CORE\Cake\Controller\Controller.php line 485 ? ReflectionMethod->invokeArgs(PostsController, array)
CORE\Cake\Routing\Dispatcher.php line 103 ? Controller->invokeAction(CakeRequest)
CORE\Cake\Routing\Dispatcher.php line 85 ? Dispatcher->_invoke(PostsController, CakeRequest, CakeResponse)
APP\webroot\index.php line 92 ? Dispatcher->dispatch(CakeRequest, CakeResponse)

Ce qui me fait penser que dans ma fonction show :

function show($id = null, $slug = null){
        if(!$id){
            throw new NotFoundException('Aucune page ne correspond à cet ID');
        }
        $page = $this->Post->find('first', array(
            'conditions'    => array('id' => $id, 'type'=>'post')
            ));
        if(empty($page))
            throw new NotFoundException('Aucune page ne correspond à cet ID');

        if($slug != $page'Post']'slug'])
                $this->redirect($page'Post']'link'], 301);
        $d'page'] = current($page);
        $this->set($d);
    }

l'id et le slug n'est pas passer en paramètre mais je comprends pas pourquoi.

Donc j'arrive sur ce lien :

http://127.0.0.1/minenaruto/posts/show/id:10/slug:bienvenue

alors que ç& devrait être ça : http://127.0.0.1/minenaruto/posts/show/bienvenue10 et l'erreur donc.(plus haut dans le post)

Quelqu'un à une solution ?

Merci d'avance.

2 réponses


Cudiinho
Auteur
Réponse acceptée

Non, j'ai trouvé en faites c'était un problème de routing, donc j'ai télécharger les sources pour mettre le bon routing et tout à marcher nickel.
Merci.

ton link ne passe pas le paramètre à la fonction donc ça ne marche pas
ce devrait être qqe chose comme ça

echo $this->Html->link('Lire la suite',array('controller'=>'post','action'=>'show',$id,$slug));