8
votes

Position de la colonne de la grille Magento

Je modifie la grille de commande en ajoutant des colonnes personnalisées telles que ceci xxx

mais chaque colonne est positionnée à l'extrême droite de la table, où j'appelle addColumns.

Y a-t-il un moyen de forcer la position?

merci


0 commentaires

4 Réponses :


14
votes

Si vous avez déjà examiné le _pareColumns Méthode que vous 'Re outrepasser, vous verrez que cela appelle SortColumnsbyorder . Donc, si vous ajoutez une colonne après ce point (peut-être avec un événement), vous devez faire quelque chose comme: xxx


1 commentaires

C'est une pointe très digne. Merci beaucoup!



29
votes

Vous pouvez probablement utiliser la fonction addColumnAfter . XXX


1 commentaires

Faites attention, l'ordre d'appeler ceci avant que le parent puisse être important, voir la réponse de Praful Rajput



4
votes

Si vous appelez Parent :: _ Préparatifsolumns (); strong> avant $ ceci-> addColumn () strong> ou $ ceci-> addColumnAfter () strong> Ensuite, votre nouvelle colonne a toujours été affichée lors de la dernière position. Donc, vous pouvez ajuster le lieu de parent :: _ Préparatifsolumns (); Strong> Déclaration selon vos besoins.

$this->addColumnAfter('barcode', array(
            'header'           => Mage::helper('sales')->__('Barcode'),
            'align'            => 'left',
            'index' => 'barcode',
            'width' => '200px',

        ),'real_order_id');

        parent::_prepareColumns();


1 commentaires

Cette réponse n'entraînera que les nouvelles colonnes ajoutées aux tout premiers ou trois dernières positions de la liste.



2
votes

Comme les autres réponses ont souligné, vous pouvez utiliser le mage_adminhtml_block_widget_grid :: addColumnAprès méthode pour accomplir cela.

Cependant quoi (la plupart des) les autres réponses omettent de mentionner est que Vous devez appeler explicitement MAGE_ADMINHTML_BLOCK_WIDGET_GRID :: SORTECOLUMUMORDER Pour que les colonnes soient réorganisées .

Le mage_adminhtml_block_widget_grid :: SortColumnsbyorder appelé exclusivement par le mage_adminhtml_block_widget_grid :: _ PrePecolumns comme suit: xxx

Cela signifie que votre classe dérivée devra faire la même chose afin de -sort les colonnes basées sur votre nouvelle commande. Par exemple: xxx


0 commentaires