Saya mencoba membuat produk dengan dua bidang teks khusus: Panjang dan Lebar. Saat pengguna mengetikkan panjang dan lebar, harga harus dihitung melalui formula khusus.
Saya mencoba menemukan acara yang tepat untuk menghubungkan pengamat - ada yang tahu apa itu?
Inilah yang saya tahu dan sudah coba
1) kotak teks bidang khusus dalam tampilan produk memiliki acara pertukaran yang belum saya ketahui cara memanfaatkannya melalui acara pengamat - "opConfig.reloadPrice ()
2) Jika saya membangun pengamat pada event sales_quote_add_item, maka saya dapat mengubah harga melalui formula saat ditambahkan ke troli. Dengan metode ini saya masih membutuhkan cara untuk mengubahnya dalam tampilan produk sebelum ditambahkan ke troli.
3) Saya juga sudah mencoba event catalog_product_get_final_price tetapi ini sepertinya hanya akan menyala ketika halaman produk dimuat, jadi setelah panjang atau lebar produk ditambahkan, itu tidak kembali menyala.
Setiap ide akan sangat dihargai!
sumber
Jawaban:
Saya menggunakan untuk usecase ini
sales_quote_collect_totals_before
:Di sisi klien, Anda bisa menggunakan beberapa baris JS untuk memperbarui harga?
sumber
catalog_product_get_final_price
adalah peristiwa sisi server yang benar, ini tidak hanya dipicu ketika halaman produk dimuat tetapi juga ketika produk ditambahkan ke troli. Dalam hal ini Anda memiliki semua opsi khusus yang dipilih tersedia dengan:(Lihat juga: Apakah ada cara di mana pengguna dapat menetapkan harga yang diinginkan lebih dari nol dan melanjutkan ke keranjang untuk produk apa pun? )
Menghitung ulang harga saat berada di halaman produk adalah topik lain dan membutuhkan JavaScript.
reloadPrice
adalah fungsi yang tepat untuk dihubungkan, saya akan memperluasnya seperti ini:sumber