Заказ административного пакета Sonata

Как изменить порядок сущностей по умолчанию в SonataAdminBundle для действия списка?


ответ :) добавьте это в свой класс администратора

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

person rtyshyk    schedule 14.11.2011    source источник


Ответы (2)


Вы можете добавить другой порядок сортировки или установить порядок сортировки по умолчанию через конструктор следующим образом:

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
        );
    }
}
person Alex Deemann    schedule 16.11.2011
comment
поместите, пожалуйста, здесь список пространств имен, которые вы использовали - person Alex Deemann; 14.12.2011

Лучше не переопределять конструктор. Но вы можете переопределить метод Admin::configure() и установить какой-то элемент массива datagridValues.

Смотрите в примере:

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

    $this->datagridValues['_sort_by']    = 'name';
    $this->datagridValues['_sort_order'] = 'DESC';
}
person Roman Shamritskiy    schedule 07.08.2013
comment
Чтобы быть в безопасности, я бы также добавил parent::configure(). - person likeitlikeit; 13.08.2013
comment
Этот метод пустой. он существует как раз для таких ситуаций. Если я правильно понимаю. Но вы правы, безопаснее будет вызвать родительский метод. Я поправил пример. - person Roman Shamritskiy; 15.08.2013