cakephp:PaginatorHelper 和路由插件有问题,无法从 url 中删除插件

问题描述 投票:0回答:1

我正在使用 cakedc.com 的标签插件,但在使用 PaginatorHelper 生成正确的分页链接时遇到问题。

期望的结果是从生成的 href 中去除插件名称,因为插件将被添加到路由中。即http://localhost/tags/photos/oregon/page:4/perpage:28

这就是我所拥有的:

app/config/routes.php(映射 '/tags'=>'/tags/tags',即标签插件)

Router::connect('/tags/:action/*', array('plugin'=>'tags', 'controller'=>'tags'));
// map /tags => /tags/tags

视图文件中的代码:

<?php 
   $this->Paginator->options['url']=array_merge(
              array('plugin'=>'tags'), 
              $this->Paginator->options['url'] 
   ); 
   echo $this->Paginator->numbers(array('separator'=>null, 'modulus'=>'20'));


// debug($this->Paginator->options[url] => Array
//        (
//            [controller] => tags
//            [action] => photos
//            [0] => oregon
//            [perpage] => 28
//            [page] => 4
//        )
// )

// sample href="http://localhost/tags/tags/photos/oregon/page:4/perpage:28"
//     note the '/tags/tags' i.e. /:plugin/:controller

?>

BU,如果我按如下方式设置选项['url'],我会注意到以下内容:

<?php 
   $this->Paginator->options['url']=array('plugin'=>'tags'); 
   echo $this->Paginator->numbers(array('separator'=>null, 'modulus'=>'20'));


// debug($this->Paginator->options[url] => Array
//    (
//        [plugin] => tags
//    )
// )
// sample href="http://localhost/tags/photos/page:4"

?>
php cakephp cakephp-1.3
1个回答
0
投票

这可能会有所帮助:http://bakery.cakephp.org/articles/view/secrets-of-admin-routing

但看起来您正在将 PLUGIN 数组选项添加到 URL。为什么?如果您使用路由,请将其关闭。当点击链接时,它会知道如何处理它。换句话说,不要启用路由并同时使用 URL 上的插件选项。

© www.soinside.com 2019 - 2024. All rights reserved.