如果从最后一页删除最后一条记录,我只想将其重定向到最后一条索引.请帮我这样做.
<?php
echo $this->Paginator->prev
($this->Html->image('prev.png'), array('escape' => false),
array(), null, array('class' => 'prev'));
echo $this->Paginator->counter
('Page {:page} of {:pages}, Total Records {:count}');
echo $this->Paginator->next($this->Html->image
('next.png'), array('escape' => false),
array(), null, array('class' => 'next'));
?>
Run Code Online (Sandbox Code Playgroud)
从 CakePHP 2.3 开始 -超出范围的页面请求将引发异常。
然而,文档说分页参数将在 $this->request->params['paging'] 中可用是不正确的,因为这些参数是在引发异常后定义的。(这个问题已经在两个月前的 CakePHP 2.4.x 中修复)
因此,为了获得您想要的效果,您可以在控制器中执行以下操作:
public function index() {
try {
$paginatedData = $this->Paginator->paginate();
} catch (NotFoundException $e) {
//get current page
$page = $this->request->params['named']['page'];
if( $page > 1 ){
//redirect to previous page
$this->redirect( array( "page" => $page-1 ) );
}else{
$paginatedData = array(); //no data to paginate so use empty array()
//you will have to check for this in the view and no longer display the pagination links, since they will NOT be defined
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
595 次 |
| 最近记录: |