Tambahkan Kolom ke Admin> Penjualan> Kisi Pesanan

Jawaban:

20

Inchoo menulis artikel yang bagus tentang memperpanjang kisi-kisi pesanan. Dan di blog Atwix ada artikel tentang menambahkan kolom dari tabel yang berbeda.

Posting blog Inchoo pada dasarnya memperluasnya dengan ekstensi khusus. Jika Anda tidak terbiasa dengan menulis ekstensi Anda sendiri, saya sarankan Anda mengambil jarahan di tutorial Alan Storms atau yang dari Magento 4U .

Anda akan menulis ulang Mage_Adminhtml_Order_Gridkelas blok menambahkan kolom ke _prepareColumnsmetode dan memperluas _prepareCollectionmetode dengan bidang khusus Anda

Sander Mangel
sumber
7

Ini adalah proses sederhana 2 langkah. (mis. saya ingin menambahkan Alamat Email dan Kota Pesanan di kisi pesanan ini).
Salin file inti ini ke lokal Anda terlebih dahulu di direktori yang sama. app / code / core / Mage / Adminhtml / Blok / Penjualan / Order / Grid.php

Langkah 1: Tambahkan baris kode berikut dalam fungsi _prepareColumns ()

$this->addColumn('email', array(
        'header'    => Mage::helper('catalog')->__('Customer Email'),
        'index'     => 'email',
        'type' => 'text'
    ));
$this->addColumn('city', array(
        'header'    => Mage::helper('catalog')->__('Order From City'),
        'index'     => 'city',
        'type' => 'text'
    ));

Langkah 2: Tambahkan baris kode berikut dalam fungsi _prepareCollection ()

$collection->getSelect()->join('sales_flat_order_address', 'main_table.entity_id = sales_flat_order_address.parent_id' ,array('email'=> 'email', 'city'=> 'city' ));
$collection->addFieldToFilter('sales_flat_order_address.address_type', array('eq' => 'billing'));

Kueri keseluruhan akan seperti:

SELECT main_table. * sales_flat_order_address,. emailAS customer_email, sales_flat_order_address. cityFROM sales_flat_order_gridAS main_tableINNER BERGABUNG sales_flat_order_addressDI main_table.entity_id = sales_flat_order_address.parent_id WHERE (sales_flat_order_address.address_type = 'billing')

Ubah kode sesuai dengan kebutuhan Anda.
Semoga itu bisa membantu.

Abhilash
sumber
1

Penulisan ulang begitu kemarin;)

Anda dapat melakukan ini menggunakan acara. Lihat jawaban sebelumnya di sini:

Tambahkan kolom Perusahaan ke Grid Admin Pelanggan dengan Pengamat

yang juga termasuk cara untuk menyesuaikan filter.

Anda hanya perlu menyesuaikan kisi yang Anda targetkan dalam bit kode pertama:

if ($event->getBlock() instanceof
                Mage_Adminhtml_Block_Newsletter_Subscriber_Grid 
            ) {
ProxiBlue
sumber