可分类的列标题没有分页?

时间:2012-11-08 16:13:28

标签: cakephp cakephp-2.0 cakephp-2.1

我希望能够在不需要分页的情况下显示所有记录,但仍希望通过使用类似$this->Paginator->sort()的内容来保留具有可排序列标题的功能。

目前我正在设置'limit' => 100,因为我知道我一次不会有大约50条以上的记录,这很好用,但我想知道基本上是否有办法实现没有分页的可排序列,如'limit' => unlimited或CakePHP的另一个组件,可以完成此任务。

这是控制器:

class GroupsController extends AppController {

    public function view($slug = null) {

        $group = $this->Group->findBySlug($slug);

        $this->paginate = array(
            'Person' => array(
                'conditions' => array('Person.group_id' => $group["Group"]['id']),
                'limit' => 100,
                'recursive' => 0
            )
        );

        $people = $this->paginate('Person');

        $this->set('people', $people);

    }
}        

以下是观点:

<table>
    <tr>
        <th><?php echo $this->Paginator->sort('Person.id','Id'); ?></th>         
        <th><?php echo $this->Paginator->sort('first_name', 'First Name'); ?></th>         
        <th><?php echo $this->Paginator->sort('last_name', 'Last Name'); ?></th>         
    </tr>
    <!-- Here is where we loop through the people -->
    <?php foreach ($people as $person): ?>
    <tr>
        <td><?php echo $person['Person']['id']; ?></td>
        <td><?php echo $person['Person']['first_name']; ?></td>
        <td><?php echo $person['Person']['last_name']; ?></td>
    </tr>
    <?php endforeach; ?>
    <?php unset($player); ?>
</table>

1 个答案:

答案 0 :(得分:5)

这是处理列排序的分页组件。如果您不想使用分页器(为什么不呢?),您必须编写自己的代码才能完成。

您可以对代码进行一次小调整:

'limit' => $this->Group->find('count')

这将确保您始终有足够的限制来显示完整的表格。