【问题标题】:Problem with pagination links with routing带有路由的分页链接问题
【发布时间】:2011-09-26 11:26:31
【问题描述】:

我需要使用以下原型将所有/home/college、/home/school 等路由到home 控制器的index 操作。

function index($type="school"){
...
}

下面是我的路由定义


Router::connect('/home/:type',array('controller'=>'home','action'=>'index'),array('pass'=>array('type'),'type'=>'(college)|(school)'));

我也在里面使用分页。但是当我生成下一个和上一个链接时,如下所示


http://mysite.com/home/index/school/page:2

如何从链接中删除“索引”?

【问题讨论】:

    标签: php mysql html css cakephp


    【解决方案1】:

    我不确定您是否会很幸运地删除 index,因为它是默认操作。

    但是,我很惊讶您的路线可以正常工作,因为 mode 未定义。

    Router::connect('/home/:type',
      array('controller'=>'home', 'action'=>'index'),
      array('pass'=>array('type'), 'type'=>'(college|school)'));
    

    查看CakePHP Routes Configuration。

    【讨论】:

    • 我很抱歉。这不是“模式”,而是type。
    • 如果不是索引怎么办(假设是home)?
    【解决方案2】:

    或者,您可以创建一个“虚拟”home 操作,并使用它调用index。

    function home($type="school"){
        $this->setAction('index',$type);
    }
    

    http://api13.cakephp.org/class/controller#method-ControllersetAction

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-06
      相关资源
      最近更新 更多