2011-11-14 6 views
13

Làm cách nào để thay đổi thứ tự thực thể mặc định trong SonataAdminBundle cho hành động danh sách? câu trả lờiThứ tự gói quản trị Sonata


:) thêm này đến lớp quản trị của bạn

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

Trả lời

6

Bạn có thể thêm một thứ tự sắp xếp hoặc thiết lập mặc định một thông qua các nhà xây dựng như thế này:

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 
     ); 
    } 
} 
+0

Cảm ơn bạn. Tôi sẽ thử. – rtyshyk

+0

'Cảnh báo: Thiếu đối số 1 cho Neon \ CoreBundle \ Controller \ OrderAdminController :: __ construct() ..' – rtyshyk

+0

đặt vui lòng vào danh sách các không gian tên bạn đã sử dụng – pilot

9

Tốt hơn là không ghi đè lên hàm tạo. Nhưng bạn có thể ghi đè phương thức Admin::configure() và đặt một số thành phần của mảng datagridValues.

Xem trong ví dụ:

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

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

Để an toàn, tôi cũng sẽ thêm 'phụ huynh: : configure() '. – likeitlikeit

+2

Phương thức này trống. nó tồn tại chỉ trong những tình huống như vậy. Nếu tôi hiểu đúng. Nhưng bạn nói đúng, sẽ an toàn hơn để gọi phương thức cha mẹ. Tôi đã điều chỉnh ví dụ. –