我该如何设置MVCLister的顺序?


How would i set order of MVCLister?

如何正确排序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
    }
}

您可以通过model或使用list的dq属性进行排序。模型排序将是一个更全局的决策,例如新闻可能应该在模型内排序:

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

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

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