如何改变PaginatorHelper的方向

时间:2012-02-03 15:48:17

标签: cakephp pagination

如何改变PaginatorHelper方向?它生成的链接排序为asc,我想要更改为desc。 我在.ctp文件中编写了该代码,但没有更改..:

<?php $this->Paginator->options(array('direction' => 'desc')) ?>

如何改变这个方向?我可以在控制器中更改它吗?或者我应该改变观点? 我的助手:

public $helpers = array ('Html', 'Form', 'Paginator');

感谢。

2 个答案:

答案 0 :(得分:1)

设置分页默认值是documentation中的大纲。您还可以将params传递给控制器​​中的paginate()电话:

$this->paginate = array(
    'conditions' => array('Recipe.title LIKE' => 'a%'),
    'limit' => 10,
    'order' => 'Recipe.created'
);

答案 1 :(得分:1)

我知道这是一个迟到的回复,但我想回答这个问题,以防有人来这里寻找正确的答案,因为没有正确答案。

要更改分页器中分页direction的默认值,有两种方法可以实现此目的。

助手

如果您使用的是PaginatorHelper,则可以在视图中创建链接时设置默认值:

echo $this->Paginator->sort('Link Name', 'Model.columnName', array('direction' => 'desc')) ;

这将打印链接,该链接将根据您在options数组中指定的方向对列进行排序,如上所示。如果省略了options数组,它将默认为'asc'。

组件

如果要在PaginatorComponent上设置默认方向,可以这样做:

$this->Paginator->settings = array(
    'direction' => 'desc',
    'sort' => 'Model.column',
);

请记住,这有两件事。它将通过sort选项中标识的Model.column自动对数据进行排序,它将按指定的方向执行。

注意:您不能简单地添加方向。它需要设置BOTH才能工作。