Saya telah menambahkan kolom baru ke tabel sales_order
bernama export_status
, sekarang saya ingin menambahkan kolom kisi pesanan baru dengan data dari sales_order
kolom baru .
Saya sudah berhasil menambahkan kolom ke the sales_order_grid
tabel.
$installer->getConnection()->addColumn($installer->getTable("sales_order_grid"), "xml_exported", [
'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'comment' => 'XML Exported'
]);
Bagaimana saya bisa membuatnya benar-benar tampil di kisi pesanan dengan nilai dari sales_order
export_status
kolom?
magento2
magento-2.1
order-grid
André Ferraz
sumber
sumber
Jawaban:
Setelah banyak menggali dalam kode inti magento saya menemukan solusi untuk pertanyaan saya. Alih-alih menambahkan kolom ke grid melalui database, saya membuat komponen UI di
sales_order_grid.xml
bawah[COMPANY]/[MODULE]/view/adminhtml/ui_component/sales_order_grid.xml
Kemudian buat kelas UI di bawah
[COMPANY]/[MODULE]/Ui/Component/Listing/Column/Status.php
sumber
filter_condition_callback
tempat Anda dapat menambahkan filter khusus sendiri sesuai bidang. Tolong jangan katakan "Apa maksudmu?" kali ini;)Solusi saya mungkin sedikit lebih efisien karena mengikuti cara asli menambahkan kolom ke kisi, dan Anda tidak perlu memuat setiap pesanan yang ditampilkan pada halaman untuk mendapatkan data kolom (sebagai gantinya menggunakan tabel sales_order_grid sebagai gantinya). Di atas adalah contoh yang bagus tentang cara membuat penyaji yang disesuaikan.
vendor / [vendor] / [paket] /view/adminhtml/ui_component/sales_order_grid.xml
Harap dicatat bahwa Anda harus mengaktifkan kolom menggunakan widget tarik-turun di atas kisi pesanan sebelum muncul.
vendor / [vendor] / [package] /etc/di.xml
Contoh kode pengaturan untuk menambahkan kolom ke tabel sales_order_grid (gunakan ini di skrip instal / perbarui). Kode yang sama berfungsi untuk tabel sales_order.
Semoga ini bisa membantu! :-)
sumber
sales_order_grid.xml
Anda harus menutup tag <listing> </listing> Anda atau itu akan mengembalikan kesalahan xmlUntuk membuat kolom baru di kisi pesanan, saya telah merujuk Magento Default Module vendor / magento / module-customer-balance
Dalam kasus saya, kolom 'custom_column' sudah ada di tabel sales_order.
Saya harus memperlihatkan kolom 'custom_column' dalam kisi pesanan
Langkah 1: Tambahkan Kolom baru di tabel sales_order_grid
Langkah 2: file di.xml di app \ code [Vendor] [NameSpace] \ etc \ di.xml
Langkah 3: Buat file layout sales_order_grid.xml di bawah app \ code [Vendor] [NameSpace] \ view \ adminhtml \ ui_component
Catatan: Ini telah diuji dalam versi Magento 2.2.6
sumber
Kemudian Buat Kelas UI untuk merendernya.
Jangan lupa menghapus cache.
sumber
Saya telah membuat modul khusus yang akan menambahkan atribut khusus di entitas Sales Order dan kemudian ditampilkan di admin Sales Order grid.
file module.xml untuk mendefinisikan modul. app \ code \ COMPANY \ MODULE \ etc \ module.xml
file di.xml di app \ code \ COMPANY \ MODULE \ etc \ di.xml
InstallData.php untuk menambahkan atribut kustom export_status dalam tabel database
app \ code \ COMPANY \ MODULE \ Setup \ InstallData.php
sales_order_grid.xml untuk menambahkan kolom khusus di kisi admin Pesanan Penjualan.
Anda dapat mengunduh modul lengkap dengan mengklik tautan di bawah ini http://vdcstaging.co.in/download/add-custom-culumn-to-admin-grid.zip
sumber