现在我正在使用分页来控制我的页面,但是我想添加一个combobox
,其中有一个选项,用户可以设置他/她希望每个站点看到多少结果。
Paginator
有很多选项可以构建,例如paging
counting
等等,所以我想知道是否有人知道是否还有这样的buildin方法呢?
答案 0 :(得分:2)
您可以在控制器方法中即时更改:
$this->paginate = array('limit'=>10);
直接在您的分页符调用之前。因此,您可以将其作为命名参数传递,例如limit:10,然后执行:
$this->paginate = array('limit'=>$this->params['named']['limit']);
以下是一个更全面的示例,假设您要发布表单。
在您看来:
<?php echo $this->Form->create();?>
<?php echo $this->Form->input('limit', array('options'=>array(10=>10, 20=>20, 30=>30)));?>
<?php echo $this->Form->submit('Show');?>
<?php echo $this->Form->end()?>
在您的控制器方法中:
if(!empty($this->request->data['limit'])) {
$this->paginate = array('limit'=>$this->request->data['limit']);
}