Php 使用命名参数时路由器::url()出现问题

Php 使用命名参数时路由器::url()出现问题,php,cakephp,Php,Cakephp,我使用CakePHP的HtmlHelper以以下方式生成简单的链接: $html->link("Newest", array( 'controller' => 'posts', 'action' => 'listView', 'page'=> 1, 'sort'=>'Question.created', 'direction'=>'desc'

我使用CakePHP的HtmlHelper以以下方式生成简单的链接:

$html->link("Newest", array(
            'controller' => 'posts',
            'action' => 'listView',
            'page'=> 1,
            'sort'=>'Question.created',
            'direction'=>'desc',
    ));
具有以下路由规则:

Router::connect('/foobar/*',array(
        'controller' => 'posts',
        'action' => 'listView'
));
链接很好地生成为
/foobar/page:1/sort:Question.created/direction:desc
。正如我所希望的,它使用我的URL前缀而不是控制器/操作名称

但是,对于某些链接,我必须添加如下命名参数:

$html->link("Newest", array(
            'controller' => 'posts',
            'action' => 'listView',
            'page'=> 1,
            'sort'=>'Question.created',
            'direction'=>'desc',
            'namedParameter' => 'namedParameterValue'
    ));
本例中的链接指向
/posts/listView/page:1/sort:Question.created/direction:desc/namedParameter:namedParameterValue
。但是我不想在我的URL-s中有控制程序/操作名称,为什么在这种情况下忽略我的路由器配置?

完全没有记录,但是,这解决了它:

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