2011-11-14 14 views
13

Come modificare l'ordine di entità predefinito in SonataAdminBundle per l'azione dell'elenco?Ordine bundle per amministratore Sonata


risposta :) aggiungere questo alla classe di amministrazione

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

risposta

6

È possibile aggiungere un altro criterio di ordinamento o impostare uno di default tramite il costruttore in questo modo:

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

Grazie. Cercherò. – rtyshyk

+0

'Attenzione: Manca l'argomento 1 per Neon \ CoreBundle \ Controller \ OrderAdminController :: __ construct() ..' – rtyshyk

+0

metti qui la lista degli spazi dei nomi usati – pilot

9

È preferibile non eseguire l'override del costruttore. Tuttavia, è possibile sovrascrivere il metodo Admin::configure() e impostare alcuni elementi dell'array datagridValues.

Vedi nell'esempio:

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

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

Per sicurezza, aggiungerei anche 'parent: : configure() '. – likeitlikeit

+2

Questo metodo è vuoto. esiste solo per queste situazioni. Se capisco correttamente. Ma hai ragione, sarà più sicuro chiamare il metodo genitore. Ho modificato l'esempio. –