Il existe un certain nombre de méthodes pour ajouter une ou plusieurs colonnes dans une grille du back-office Magento, mais il y en a une qui est moins intrusive que les autres : C'est celle-ci que je souhaites partager.

En effet, je vois régulièrement passer des billets, sur des blogs spécialisés en développement Magento, qui proposent des solutions souvent très "bourrines", tel qu'un bon gros overlap des familles : On copie le code d'origine et on ajoute sa ou ses colonnes !
C'est certainement le meilleur moyen de provoquer un conflit avec des extensions agissant sur les grilles ou de brider les mises à jour de Magento. Bref, à éviter !

La solution que je propose n'est pas révolutionnaire : Elle se contente d'exploiter le pattern "event/observer" de Magento.

Le principe et la mise en œuvre sont très simple car Magento tire des évènements avant la construction des blocks et avant le chargement des collections : Exploitons les, tout simplement !

Pour illustrer mes propos, je vais prendre l’exemple de la grille des produits, dans laquelle je veux ajouter une colonne, après celle du SKU, affichant le contenu d’un attribut créer préalablement.

Posté sur