我如何设置MVCLister的顺序?

时间:2011-09-09 06:23:55

标签: php atk4

如何正确排序MVClister的输出?

<?php
class page_index extends Page {
    function init(){
    parent::init();
    $p=$this;

    $this->add('MVCLister',null,'News','News')->setModel('News');
    $this->add('MVCLister',null,'Links','Links')->setModel('Links');

    }

    function defaultTemplate(){
        return array('page/home');  // separate pages from views to avoid mess in templates
    }

}

1 个答案:

答案 0 :(得分:4)

您可以通过模型或使用lister的dq属性订购。模型排序将是一个更全球化的决定,例如新闻可能应该在模型中订购:

// class Model_News, inside init() function
$this->setOrder(null, 'id', true);

如果是用户界面条件,例如通过GET传递的链接,那么您应该直接在MVCLister上应用订单:

$list = $this->add('MVCLister');
$list->setModel('Links');
$list->dq->order('popularity desc');