3 votes

Magento Collection/Grid - Renommer les valeurs des champs/colonnes

Je suis en train de créer un rapport sur les boîtes d'expédition qui permettra à l'administrateur de voir combien de chaque boîte est nécessaire pour expédier les commandes du jour. J'ai déjà enregistré les codes internes des boîtes pour chaque expédition. Le problème est que ces codes sont des choses comme "SPECIAL_PKG" ou "SHIPPING_PKG_1", mais l'administrateur devrait voir les noms conviviaux à la place.

Les résultats sont recueillis à l'aide d'une collection Mysql4 typique et sont affichés dans une grille Mage_Adminhtml_Block_Report_Grid. Tout fonctionne correctement, sauf que je vois les codes internes au lieu des noms amis.

Existe-t-il un moyen de renommer les codes dans les résultats de la collecte avant qu'ils ne soient affichés ? Par exemple, si je peux obtenir un tableau comme celui-ci

array(
    'SPECIAL_PKG' => 'Custom Packaging',
    'SHIPPING_PKG_1' => 'Large Box'
)

alors puis-je l'utiliser pour modifier d'une manière ou d'une autre les valeurs affichées dans le rapport ?

Malheureusement, je ne peux pas faire un SQL JOIN pour obtenir ces noms conviviaux parce que les données n'existent pas dans un tableau unique et standardisé. Si je pouvais, je le ferais.

2voto

Zyava Points 3937

Il existe un moyen plus simple, votre question est une réplique exacte de celle-ci : Comment rendre/formater les champs personnalisés dans la grille des clients - backend Magento 1.6

1voto

Colin O'Dell Points 2464

Je l'ai eu ! J'avais besoin d'implémenter un moteur de rendu personnalisé en étendant Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract . Utilisé cet article comme guide, et ça marche très bien !

Au cas où cela aiderait quelqu'un ayant un problème similaire : j'ai utilisé le constructeur pour créer le tableau (comme indiqué dans ma question ci-dessus). Ensuite, à l'intérieur de render() je vérifie si la clé existe et je montre les données conviviales à la place.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X