Sonata管理员捆绑订单

rty*_*hyk 14 symfony symfony-sonata sonata-admin sonata

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


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

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

Rom*_*kiy 9

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

参见示例:

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

    $this->datagridValues['_sort_by']    = 'name';
    $this->datagridValues['_sort_order'] = 'DESC';
}
Run Code Online (Sandbox Code Playgroud)

  • 为了安全起见,我还要添加`parent :: configure()`. (2认同)
  • 此方法为空.它存在于这种情况下.如果我理解正确的话.但是你是对的,调用父方法会更安全.我调整了这个例子. (2认同)

小智 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
        );
    }
}
Run Code Online (Sandbox Code Playgroud)