Jak mogę dodać nową kolumnę do sales_flat_order_grid
tabeli i upewnić się, że wartości są tam poprawnie wstawione?
„Źródło” nowej kolumny to niestandardowa kolumna, do której dodaliśmy sales_flat_order
, nazwijmy ją foo
. AFAICT, istnieją trzy sposoby foo
pojawienia się w głównej siatce zamówień:
JOIN
sales_flat_order_grid
kolekcja nasales_flat_order
.- Problem: Filtry nie działają już z powodu niejednoznacznych kolumn (ponieważ obie tabele mają podobne nazwy kolumn)
sales_flat_order
Zamiast tego użyj siatki dla danychsales_flat_order_grid
.- Problem: Kolumny nie są indeksowane, więc filtrowanie jest strasznie wolne. Głupio wydaje się dodawanie indeksu tych samych danych indeksowanych w nieużywanej
sales_flat_order_grid
tabeli.
- Problem: Kolumny nie są indeksowane, więc filtrowanie jest strasznie wolne. Głupio wydaje się dodawanie indeksu tych samych danych indeksowanych w nieużywanej
- Dodaj nową kolumnę
sales_flat_order_grid
i zapewnij aktualizację wartości
Nie mogę ustalić, jak sales_flat_order_grid
się aktualizuje, dlatego nie wiem, jak dodać tę nową kolumnę. jakieś pomysły?
źródło
Zrobiłem to samo. Dodano pole „order_type” w kolejności i wyświetlało je w siatce. Działa idealnie w Magento w wersji 1.7.0.2
Jak dodać pole Typ zamówienia w siatce zamówienia sprzedaży w admin?
1) Musimy utworzyć jeden plik instalacyjny SQL z poniższym kodem.
2) Zastąp plik Mage_Adminhtml_Block_Sales_Order_Grid i dodaj do niego poniższy kod.
3) Utwórz jedno zdarzenie obserwatora, aby dodać / zaktualizować wartość pola typu zamówienia
Otwórz moduł / etc / config.xml
4) Utwórz jeden plik obserwatora klasy Mycompany_Mymodule_Model_Adminhtml_Observer
źródło
Użyłem następującego podobnego kodu. Działa dobrze.
źródło