Comment puis-je ajouter une nouvelle colonne au sales_flat_order_grid
tableau et m'assurer que les valeurs y sont correctement insérées?
La "source" de la nouvelle colonne est une colonne personnalisée à laquelle nous avons ajouté sales_flat_order
, appelons-la foo
. AFAICT, il y a trois façons foo
d'apparaître dans la grille de commande principale:
JOIN
lasales_flat_order_grid
collection sursales_flat_order
.- Problème: les filtres ne fonctionnent plus en raison de colonnes ambiguës (car les deux tables ont des noms de colonne similaires)
- Utilisez la grille
sales_flat_order
pour les données au lieu desales_flat_order_grid
.- Problème: les colonnes ne sont pas indexées, le filtrage est donc terriblement lent. Il semble idiot d'ajouter index les mêmes données indexées dans la
sales_flat_order_grid
table inutilisée .
- Problème: les colonnes ne sont pas indexées, le filtrage est donc terriblement lent. Il semble idiot d'ajouter index les mêmes données indexées dans la
- Ajoutez une nouvelle colonne
sales_flat_order_grid
et assurez-vous que la valeur y est mise à jour
Je ne peux pas comprendre comment sales_flat_order_grid
est mis à jour, donc je ne sais pas comment ajouter cette nouvelle colonne. Des pensées?
la source
J'ai fait la même chose. Ajout du champ 'order_type' dans l'ordre et affichage dans la grille. Il fonctionne parfaitement dans Magento ver 1.7.0.2
Comment ajouter le champ Type de commande dans la grille de commande client dans l'administrateur?
1) Nous devons créer un fichier d'installation SQL avec le code ci-dessous.
2) Remplacez le fichier Mage_Adminhtml_Block_Sales_Order_Grid et ajoutez le code ci-dessous.
3) Créez un événement d'observateur pour ajouter / mettre à jour la valeur du champ du type de commande
Ouvrez votre module / etc / config.xml
4) Créez un fichier d'observateur de la classe Mycompany_Mymodule_Model_Adminhtml_Observer
la source
J'ai utilisé le code similaire suivant. Ça marche bien.
la source