Wie kann ich der sales_flat_order_grid
Tabelle eine neue Spalte hinzufügen und sicherstellen, dass die Werte dort richtig eingefügt werden?
Die "Quelle" für die neue Spalte ist eine benutzerdefinierte Spalte, die wir hinzugefügt haben. sales_flat_order
Nennen wir sie foo
. AFAICT, es gibt drei Möglichkeiten, um foo
im Hauptauftragsraster zu erscheinen:
JOIN
diesales_flat_order_grid
Sammlung aufsales_flat_order
.- Problem: Filter funktionieren aufgrund mehrdeutiger Spalten nicht mehr (da beide Tabellen ähnliche Spaltennamen haben)
- Lassen Sie das Raster statt
sales_flat_order
für Daten verwendensales_flat_order_grid
.- Problem: Spalten werden nicht indiziert, daher ist das Filtern furchtbar langsam. Es erscheint unsinnig, dieselben Daten, die in der nicht verwendeten
sales_flat_order_grid
Tabelle indiziert sind, zu indexieren .
- Problem: Spalten werden nicht indiziert, daher ist das Filtern furchtbar langsam. Es erscheint unsinnig, dieselben Daten, die in der nicht verwendeten
- Fügen Sie eine neue Spalte hinzu
sales_flat_order_grid
und stellen Sie sicher, dass der Wert dort aktualisiert wird
Ich kann nicht herausfinden, wie sales_flat_order_grid
die Aktualisierung durchgeführt wird. Daher kann ich diese neue Spalte nicht hinzufügen. Irgendwelche Gedanken?
quelle
Ich habe das Gleiche getan. Das Feld 'order_type' wurde in der Reihenfolge hinzugefügt und im Raster angezeigt. Es funktioniert perfekt in Magento Version 1.7.0.2
Wie füge ich ein Feld für den Auftragstyp im Kundenauftragsraster in admin hinzu?
1) Wir müssen eine Installations-SQL-Datei mit folgendem Code erstellen.
2) Überschreiben Sie die Datei Mage_Adminhtml_Block_Sales_Order_Grid und fügen Sie den folgenden Code hinzu.
3) Erstellen Sie ein Beobachterereignis, um den Feldwert für den Auftragstyp hinzuzufügen / zu aktualisieren
Öffnen Sie Ihr Modul / etc / config.xml
4) Erstellen Sie eine Beobachterdatei der Klasse Mycompany_Mymodule_Model_Adminhtml_Observer
quelle
Ich habe folgenden ähnlichen Code verwendet. Es funktioniert gut.
quelle