Jak mogę dodać kolumnę do siatki w sekcji Administrator w części Sprzedaż> Zamówienia?
admin
orders
grid
grid-serlization
order-grid
Kyle Challis
źródło
źródło
Odpowiedzi:
Inchoo napisał świetny artykuł o rozszerzaniu siatki zamówień. A na blogu Atwix jest artykuł na temat dodawania kolumny z innej tabeli.
Wpis na blogu Inchoo zasadniczo rozszerza go o niestandardowe rozszerzenie. W przypadku, gdy nie jesteś zaznajomiony z pisaniem własnego rozszerzenia, sugeruję, abyś zrzucił łupy z samouczka Alan Storms lub z Magento 4U .
Będziesz przepisywać
Mage_Adminhtml_Order_Grid
klasę bloku, dodając kolumnę do_prepareColumns
metody i rozszerzając_prepareCollection
metodę o niestandardowe poleźródło
Jest to 2-etapowy prosty proces. (np. chcę dodać adres e-mail i zamówić miasto w tej siatce zamówień).
Skopiuj najpierw ten plik lokalny do siebie w tym samym katalogu. app / code / core / Mage / Adminhtml / Block / Sales / Order / Grid.php
Ogólne zapytanie będzie wyglądać następująco:
SELECT
main_table
. *sales_flat_order_address
.email
AScustomer_email
,sales_flat_order_address
.city
Zsales_flat_order_grid
ASmain_table
INNER JOINsales_flat_order_address
ON main_table.entity_id = sales_flat_order_address.parent_id WHERE (sales_flat_order_address.address_type = 'billing')Zmodyfikuj kod zgodnie z potrzebami.
Mam nadzieję, że to pomaga.
źródło
Możesz użyć mojej odpowiedzi z poprzedniego postu na temat dodawania kolumny do siatki (obserwatora) - kolumny „store_id”, w której klauzula jest dwuznaczna, aby dodać dodatkowe kolumny do siatki zamówienia sprzedaży przez obserwatora.
źródło
Przepisy są takie wczoraj;)
Możesz to zrobić za pomocą zdarzeń. Zobacz poprzednią odpowiedź tutaj:
Dodaj kolumnę Firma do siatki administracyjnej klientów z Obserwatorem
który obejmuje również sposób dostosowania filtrów.
Po prostu musisz dostosować siatkę, na którą celujesz, w pierwszym kawałku kodu:
źródło