【发布时间】:2014-01-04 07:43:00
【问题描述】:
我正在使用 CakePHP v2.42 并且希望在页面分页中使用 SEO 友好的 URL。
我现在的分页是这样的
http://www.website.com/ubs/page/page:2
怎么改
http://www.website.com/ubs/page/2
我的控制器是
<?php
class UbsController extends AppController {
public $helpers = array('Html', 'Form');
public function index() {
$this->paginate = array(
'limit' => 100,
);
$ubs = $this->paginate();
$this->set('ubs', $ubs);
}}
我的路由器是
Router::connect('/ubs', array('controller' => 'ubs', 'action' => 'index'));
Router::connect('/ubs/page/*', array('controller' => 'ubs', 'action' => 'index'));
编辑 - 添加更多问题
@kicaj 的回答对于路由器和控制器来说是完全正确的。但是,导航链接只能在首页正确显示。
在首页导航链接显示这样是正确的
http://www.website.com/ubs/
http://www.website.com/ubs/page/2/
http://www.website.com/ubs/page/3/
但导航链接在第二/第三页页面显示如下
http://www.website.com/ubs/index/2/
http://www.website.com/ubs/index/2/page:3/
我想需要编辑 index.ctp 文件但不知道该怎么做。
我当前在 index.ctp 中的导航链接是这样显示的
$paginator = $this->Paginator;
$paginator->prev("« Prev");
$paginator->numbers(array('modulus' => 200, 'separator' => ' '));
$paginator->next("Next »");
修改什么来解决这个问题
【问题讨论】:
标签: cakephp pagination