Magento 2.1.9: Bagaimana cara menghapus harga jual di multi store?

12

Apakah ada cara untuk menghilangkan harga jual di toko yang berbeda? menggunakan skrip apa pun? atau menggunakan cara lain selain admin?

Saya menggunakan lima toko yang berbeda, toko default mudah tetapi toko multi lainnya memakan waktu lama karena Anda hanya dapat mengubah produk sederhana secara manual dan sepertinya Anda tidak dapat mengubah produk yang dapat dikonfigurasi.

Pada dasarnya, dibutuhkan sekitar 20 menit untuk melepas sepatu dari penjualan yang tidak mungkin benar.

Aasim Goriya
sumber

Jawaban:

1

Harga ditetapkan pada tingkat produk sederhana di Magento 2 (dan produk yang dapat dikonfigurasi akan mewarisi harga khusus dari produk sederhana di bawahnya).

Cara tercepat untuk melakukannya dengan benar adalah dengan menggunakan REST API di dalam skrip. Ini adalah cara terbaik jika Anda seorang pemula - Magento telah menciptakan ini sebagai antarmuka untuk integrasi eksternal yang harus digunakan sedapat mungkin.

http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1

Titik akhir yang benar adalah PUT / V1 / products / {sku} dari catalogProductRepository -

Perhatikan bahwa Anda perlu memasukkan kode tampilan toko ke URL panggilan seperti dijelaskan di sini.

http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html

Berikut adalah pos yang bagus tentang penggunaan skrip dengan REST API

DAPATKAN atau SET harga produk spesial menggunakan REST API

Pilihan lain adalah mengimpor CSV multi-toko menggunakan fungsi impor Magento 2 - ini yang terbaik jika Anda tidak terbiasa dengan pengembangan Magento / PHP:

Inilah artikel tentang itu:

https://www.alexcorradi.org/blog/a-guide-on-how-to-import-export-products-in-magento-2

Kalau tidak, jika Anda memiliki lingkungan pengujian dan lebih percaya diri dengan pengkodean, Anda dapat membuat skrip Anda sendiri untuk memperbarui:

Di dalam kelas Anda akan memiliki:

protected $action;

public function __construct(\Magento\Catalog\Model\Product\Action $productAction) {
   $this->action = $productAction;
}

public function updatePrice($productIds, $data, $storeId) {
    $this->action->updateAttributes($productIds, $data, $storeId);
}

kemudian untuk menjalankannya gunakan yang berikut;

 $specialPrice = null; // OR '' can't remember off the top of my head which clears it - perhaps either.

 $data = ['special_price' => $specialPrice];
 $storeId = 1; //whatever store id you like
 $productIds = [1,2,3,4,5,6,7]; //whatever product ids you wish to change.

 $this->updatePrice($productIds, $data, $storeId);

jalankan untuk setiap toko.

Permintaan maaf atas kesalahan, saya hanya mengetik berdasarkan memori. Silakan jalankan di lingkungan pengujian terlebih dahulu!

BAF
sumber
1

Try1: Anda dapat menggunakan plugin approch untuk memperbarui harga jual.

Try2: Anda dapat menghapus sell_price dari set atribut default atau menonaktifkan atribut ini sehingga tanpa upaya Anda dapat melakukan ini.

Pangeran Yadav
sumber
Try1: Plugin apa saja? Try2: Ya tapi saya telah menambahkan harga yang berbeda untuk semua toko, jadi bagaimana saya bisa menonaktifkan atribut ini?
Aasim Goriya
Ya, Anda dapat menonaktifkan atribut itu
Pangeran Yadav
Maksud saya atribut mana yang Anda bicarakan?
Aasim Goriya
"sell_price" perlu menonaktifkan atau menghapus dari atribut_set default
Pangeran Yadav
1

Gunakan aturan harga katalog. Pemasaran> Aturan Harga Katalog

Dengan cara ini, Anda dapat mengatur harga jual oleh semua toko atau memilih toko dan mudah untuk memperbarui dan mengaktifkan atau menonaktifkan secara massal.

Anda dapat mengatur kondisi agar sesuai dengan semua kombinasi: kategori / pabrikan / ukuran / warna / sku / mpn

Anda juga bisa membuat atribut di backend yang bisa Anda gunakan untuk aturan harga katalog. misalnya. Saya memiliki atribut 'musim' dengan opsi tarik turun seperti 2017-4, yang merupakan produk musim dingin.

Jadi saya membuat aturan harga katalog untuk: Produsen = Billabong, Kategori = Kemeja, Musim = 2017-4 dan berlaku diskon 20% untuk produk yang cocok dengan kriteria tersebut. Dan Anda dapat mengatur situs web tempat aturan diterapkan, serta tanggal yang Anda inginkan untuk menjalankan aturan.

Anda juga dapat menggunakan warna atau ukuran dalam aturan Anda. Ini menjadi sangat menguntungkan ketika produk belum berganti nama selama beberapa tahun dan ada jalur warna lama yang ingin Anda singkirkan, Anda hanya dapat menetapkan satu kombinasi warna dan atau ukuran yang akan dijual, sementara sisanya produk yang dapat dikonfigurasi tetap dengan harga reguler.

dawhoo
sumber
terima kasih atas tanggapannya, sebenarnya saya sudah menyiapkan harga jual untuk semua toko multi saya, jadi saya harus menghapusnya dari semua toko saya. Juga jika saya telah menambahkan harga penjualan untuk produk sederhana dari semua produk rekanan maka itu juga akan dihapus, jadi tolong sarankan saya jika Anda memiliki solusi untuk yang satu ini. Terima kasih sebelumnya
Aasim Goriya
Buka katalog, pilih semua produk> Perbarui Atribut> periksa "Harga Spesial" dan biarkan kosong. Itu akan menghapus harga jual dari semua produk dan kemudian Anda dapat mulai menggunakan aturan keranjang. Jika Anda memiliki banyak produk, Anda mungkin ingin melakukan ini dalam batch 500 produk sekaligus agar lebih mudah dan tidak ada waktu habis. Memang butuh beberapa saat agar proses berjalan, tetapi dalam batch yang lebih kecil itu tidak terlalu buruk.
dawhoo