Sonata管理员捆绑订单

时间:2011-11-14 11:18:49

标签: symfony sonata-admin symfony-sonata sonata

如何更改SonataAdminBundle中的默认实体顺序以进行列表操作?


回答:) 将此添加到您的管理类

protected $datagridValues = array(
    '_page' => 1,
    '_sort_order' => 'DESC', // sort direction 
    '_sort_by' => 'id' // field name 
);

2 个答案:

答案 0 :(得分:9)

最好不要覆盖构造函数。 但您可以覆盖Admin::configure()方法并设置datagridValues数组的某些元素。

参见示例:

public function configure()
{
    parent::configure();

    $this->datagridValues['_sort_by']    = 'name';
    $this->datagridValues['_sort_order'] = 'DESC';
}

答案 1 :(得分:7)

您可以通过构造函数添加另一个排序顺序或设置默认排序顺序,如下所示:

public function __construct($code, $class, $baseControllerName)
{
    parent::__construct($code, $class, $baseControllerName);

    if (!$this->hasRequest()) {
        $this->datagridValues = array(
            '_page'       => 1,
            '_sort_order' => 'ASC',      // sort direction
            '_sort_by'    => 'artist_id' // field name
        );
    }
}