Apakah ada cara untuk menghapus banyak produk dengan memfilter dengan SKU? Saya memiliki sekitar 1000 produk yang ingin saya hapus.
12
Cara tercepat untuk melakukannya adalah dengan menjalankan kueri ini secara langsung.
DELETE FROM `catalog_product_entity` WHERE `sku` IN ('SKU1', 'SKU2', ...., 'SKU1000');
Semuanya harus mengalir dengan baik. nilai atribut akan dihapus, relasi kategori akan dihapus, upsells, crosssell dan terkait dan seterusnya.
[EDIT]
Ada kaitannya dengan ini. Terima kasih kepada STW untuk mengetahui hal ini. Ulasan dan peringkat akan tetap yatim karena tidak ada kunci asing ke tabel produk untuk mereka.
->delete()
tetapi akan menghindari kode mendengarkan acara. Dalam persediaan Magento, tampaknya ulasan dan peringkat akan menjadi yatim (mereka tidak akan dihapus saat produk terkaitnya).catalog_product_entity_*
tabel memiliki FK dientity_id
lapangan kecatalog_product_entity.entity_id
lapangan. Mereka harus mengalir dengan baik.Semua hormat kepada Marius, tapi tolong jangan berinteraksi dengan database secara langsung jika itu bisa dihindari. Mungkin tabel terkait akan diperbarui secara otomatis, jika rilis Magento dan semua ekstensi Anda bebas bug di semua tempat yang tepat. Tetapi jika tidak, hal semacam itu dapat menghancurkan situs Anda.
Sebagai gantinya, Anda dapat menggunakan fitur impor CSV Magento sendiri.
Cukup daftarkan SKU Anda dalam file, sesederhana:
... dll. Kemudian simpan sebagai file CSV.
Kemudian, di Sistem> Impor / Ekspor> Impor, pilih Jenis Entitas: Produk dan Perilaku Impor: Hapus Entitas, dan impor file ini. Dan itu dia!
sumber
Mage_ImportExport_Model_Import_Entity_Product::_deleteProducts()
)Anda dapat melakukannya secara terprogram. Buat skustodelete.csv daftar semua skus untuk dihapus dan setelah itu di sini adalah kode untuk melanjutkan
sumber
Cara tidak ada kode
Di bagian admin di bawah
Manage Products
akan ditemukan kotak dengan semua produk Anda. Ada kolom yang disebutSKU
. Di sini Anda dapat memfilter produk Anda berdasarkan nilainya.Kemudian setelah Anda memfilter berdasarkan SKU Anda dapat menggunakan kotak centang di sebelah kiri untuk memilih semua item yang ingin Anda hapus.
Perhatikan
select all
item mana yang akan memilih semua item dalam kisi lengkap danselect visible
yang hanya akan memilih item pada halaman kisi saat ini.Setelah memilih item yang diinginkan, Anda dapat menggunakan tombol aksi massal di sisi kanan atas kisi dan pilih opsi hapus.
Ini akan meminta Anda untuk memastikan Anda yakin ingin menghapus item-item ini. Setelah memilih ya untuk pop-up ini akan melanjutkan untuk menghapus item Anda. Bergantung pada pengaturan indeks Anda, Anda mungkin harus menjalankan indeks ulang setelah proses ini.
sumber
Kevin S, Anda dapat menghapus produk dengan file csv. Cukup ikuti langkah mengepul
Langkah 1 :
Buat file csv dan lewati skus yang ingin Anda hapus dari sistem. Beri nama file sebagai skus.csv
Langkah 2 :
Buat & ganti file php di direktori root Anda. Lalu, lewati kode berikut
Catatan: Saya merekomendasikan kepada Anda sebelum menjalankan kode ini Anda harus mendapatkan cadangan. Saya harap ini akan membantu Anda.
sumber
Karena daftar tabel
adalah kunci asing dari catalog_product_entity.
Jadi ketika menghapus catatan di catalog_product_entity, beberapa catatan dari tabel di atas juga akan dihapus.
Kode (menerapkan jawaban Marius) hapus semua produk yang memiliki entitas_id <= 18069:
sumber