2011-11-14 10 views
13

¿Cómo cambiar el orden de entidad predeterminado en SonataAdminBundle para la acción de lista?Orden de paquete de administración de Sonata


respuesta :) agregar esto a su clase de administración

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

Respuesta

6

Se puede agregar otro criterio de ordenación o establecer un valor predeterminado una a través del constructor de la siguiente manera:

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

Gracias. Intentaré. – rtyshyk

+0

'Advertencia: falta el argumento 1 para Neon \ CoreBundle \ Controller \ OrderAdminController :: __ construct() ..' – rtyshyk

+0

ponga por favor aquí lista de espacios de nombres que usó – pilot

9

Es mejor no anular el constructor. Pero puede anular el método Admin::configure() y establecer algún elemento de la matriz datagridValues.

Ver en el ejemplo:

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

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

Para estar seguro, también agregaría 'parent: : configure() '. – likeitlikeit

+2

Este método está vacío. existe solo para tales situaciones. Si entiendo correctamente. Pero tienes razón, será más seguro llamar al método principal. Ajusté el ejemplo. –

Cuestiones relacionadas