2010-05-11 2 views
0

je générer des liens simples plaine avec HtmlHelper CakePHP la façon suivante:Problème avec l'url du routeur() lors de l'utilisation des paramètres nommés

$html->link("Newest", array(
      'controller' => 'posts', 
      'action' => 'listView', 
      'page'=> 1, 
      'sort'=>'Question.created', 
      'direction'=>'desc', 
    )); 

Avoir la règle d'itinéraire suivant:

Router::connect('/foobar/*',array(
     'controller' => 'posts', 
     'action' => 'listView' 
)); 

Le le lien est bien généré en tant que /foobar/page:1/sort:Question.created/direction:desc. Juste comme je veux, il utilise mon préfixe d'URL au lieu des noms de contrôleur/action.

Cependant, pour certains liens que je dois ajouter des paramètres nommés comme ceci:

$html->link("Newest", array(
      'controller' => 'posts', 
      'action' => 'listView', 
      'page'=> 1, 
      'sort'=>'Question.created', 
      'direction'=>'desc', 
      'namedParameter' => 'namedParameterValue' 
    )); 

Le lien dans ce cas les points à /posts/listView/page:1/sort:Question.created/direction:desc/namedParameter:namedParameterValue. Mais je ne veux pas avoir de noms de contrôleurs/actions dans mes URLs, pourquoi Cake ignore-t-il dans ce cas la configuration de mes routeurs?

Répondre

2

Tout à fait sans papier, mais mentioned, ce a résolu le problème:

Router::connectNamed(array('namedParameter', 'page', 'sort', 'direction')); 
Questions connexes