2011-11-14 4 views
13

Comment modifier l'ordre d'entité par défaut dans SonataAdminBundle pour l'action de liste?Commande groupée d'administration Sonata


réponse :) ajouter ceci à votre classe admin

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

Répondre

6

Vous pouvez ajouter un autre ordre de tri ou définir un par défaut par le constructeur comme ceci:

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

Merci. Je vais essayer. – rtyshyk

+0

'Attention: argument manquant 1 pour Neon \ CoreBundle \ Contrôleur \ OrderAdminController :: __ construct() ..' – rtyshyk

+0

mettre s'il vous plaît ici la liste des espaces de noms que vous avez utilisés – pilot

9

Il est préférable de ne pas surcharger le constructeur. Mais vous pouvez remplacer la méthode Admin::configure() et définir un élément de la matrice datagridValues.

Voir dans l'exemple:

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

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

Pour être sûr, j'ajouterais 'parent: : configure() '. – likeitlikeit

+2

Cette méthode est vide. il existe pour de telles situations. Si je comprends bien. Mais vous avez raison, sera plus sûr d'appeler la méthode parente. J'ai ajusté l'exemple. –