我试图在这里做的是在所有分页网址中保持变量42。我希望我的网址可以从此更改
/exams/take/42/page:2
到这个
/exams/take/42/items/2
同样,数字42是变量......而数字2是页码。谢谢。
更新:
routes.php
Router::connect('/examinations/take/:id/page/:page',
array('controller' => 'examinations', 'action' => 'take'),
array(
'pass' => array('id', 'page'),
'id' => '[0-9]+',
'page' => '[0-9]+'
)
);
视图中的/采取
$this->Paginator->options(array('url' => $this->passedArgs));
AppController.php
public function beforeFilter(){
if (isset($this->request->params['page'])) {
$this->request->params['named']['page'] = $this->request->params['page'];
}
}
香港专业教育学院试过这个..但生成的网址是相同的,/ examinations / take / 42 / page:2,当我点击下一个和prev链接..
答案 0 :(得分:2)
您需要定义自定义路线:
http://book.cakephp.org/2.0/en/development/routing.html
示例如下:
Router::connect(
'/exams/take/:id/items/:number',
array('controller' => 'exams', 'action' => 'take'),
array('pass' => array('id', 'number'))
);
此外,您可以从以下网址获取更多信息,请尝试以下方法: http://www.sakic.net/blog/changing-cakephp-pagination-urls
答案 1 :(得分:1)
是的,你可以使用自定义路由来完成它。对于更多的动画,你可以看到cakephp手册来管理分页中的自定义路由
http://book.cakephp.org/2.0/en/development/routing.html
以下将是您的
e.g。
并添加此路线:
Router::connect('/:id/page/:page',
array('controller' => 'examinations', 'action' => 'take'),
array(
'pass' => array('id', 'page'),
'id' => '[0-9]+',
'page' => '[0-9]+'
)
);
我不行,你可以参考link