Problème de route

Par didz41600, il y a 13 ans


Bonjour,

Je rencontre un problème avec cakephp2, j'ai crée un router ( pour un système de forum) et il m'est impossible de le faire fonctionner. Je me suis basée du des routers fonctionnelle.

Router::connect('/forum', array('controller' => 'forums', 'action' => 'index'));
                Router::connect('/forum/:slug-:id', array('controller' => 'forums', 'action' => 'showforum'), array('pass' => array('id', 'slug'), 'id' => '[0-9]+', 'slug'=>'[a-z0-9\-]+'));
                Router::connect('/forum/post/:slug-:id', array('controller' => 'forums', 'action' => 'showpost'), array('pass' => array('id', 'slug'), 'id' => '[0-9]+', 'slug'=>'[a-z0-9\-]+'));

C'est le dernier Router qui n'est pas prit en compte alors que les codes pour la création du lien sont les mêmes.

Avez vous des idées de ce qui provoque le problème ?

Merci d'avance et bonne année 2013 :)

5 réponses

Grafikart, il y a 13 ans

Essaie d'inverser l'ordre des règles.

didz41600, il y a 13 ans

Même avec un changement de position rien n'évolue, elle n'est toujours pas prise en compte, idem si je change le /forum/post en autre chose.

Digikube, il y a 13 ans

Dans la logique il faudrait que la règle la plus restrictive soit en 1er nan ?

didz41600, il y a 13 ans

Dans la logique des choses, il me semble que oui, mais rien ne change quand même :/ mais ce que je comprend pas c'est même en ajoutent un lien moins restrictif sa fonctionne pas

public function afterFind($data){
        foreach($data as $k => $d){
            if(isset($d'Forumpost']'slug']) && isset($d'Forumpost']'id'])){
                $d'Forumpost']'link'] = array(
                    'controller' => 'forums',
                    'action' => 'showpost',
                    'id' => $d'Forumpost']'id'],
                    'slug' => $d'Forumpost']'slug']
                );
            }
            $data$k] = $d;
        }
        return $data;
    }

<div class="forum_postlist_title">
                <?php echo $this->Html->link($v'Forumpost']'title'],$v'Forumpost']'link']); ?>         
            </div>
didz41600, il y a 13 ans

up ?