Saya memiliki masalah aneh dengan aturan Magento Target jual-atas.
Skenario: Magento EE 1.12. 30+ tampilan toko pada instance Magento yang sama. 30k + produk. Sebagian besar produk memiliki pengaturan yang sama pada semua tampilan toko. Saya telah membuat aturan untuk menampilkan upsell sebagai berikut. "Tampilkan produk dari kategori yang sama dengan harga 100% atau lebih dari produk saat ini". Pengaturan untuk menampilkan kenaikan penjualan: 'Hanya berbasis aturan' (masalah mereproduksi untuk 'Berbasis aturan dan dipilih'). Saya sudah menyimpan aturan. mengindeks ulang segalanya. Semuanya terlihat OK, upsell muncul (untuk produk yang saya uji) seperti yang didefinisikan oleh aturan, TAPI ... Setelah beberapa waktu untuk produk yang sama di satu tampilan toko upsells muncul dan pada tampilan toko lain mereka tidak. Produk memiliki pengaturan yang sama pada semua tampilan toko. (Dan itu harus memiliki upsell yang sama.)
Jika saya memodifikasi sesuatu dalam aturan dan menyimpannya lagi, upsell mulai muncul di semua tampilan store tetapi setelah beberapa waktu masalah ini mereproduksi.
Setelah menggali dalam kode saya menemukan bahwa upsell yang dihasilkan oleh aturan target disimpan dalam tabel enterprise_targetrule_index_upsell untuk menghindari parsing semua aturan setiap kali. Inilah cara kerjanya. (tabel terpotong saat menyimpan aturan) Jika ada 'aturan target' meningkat dalam tabel yang saya sebutkan maka mereka diambil. Jika tidak maka aturan diuraikan dan hasilnya dimasukkan dalam tabel indeks. Berikut adalah beberapa catatan dari tabel itu untuk produk tertentu.
+-----------+----------+-------------------+---------------------------------------------------------------------+---------------------+
| entity_id | store_id | customer_group_id | product_ids | customer_segment_id |
+-----------+----------+-------------------+---------------------------------------------------------------------+---------------------+
| 17372 | 2 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 5 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 17 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 18 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 19 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 20 | 0 | | 0 |
| 17372 | 21 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 22 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
| 17372 | 23 | 0 | 17373,350,583,487,17664,29737,14719,443,445,29502,17666,17667,17668 | 0 |
Seperti yang Anda lihat upsells untuk produk dengan id 17372 semuanya sama pada semua tampilan store kecuali store_id 20 yang kosong. Tidak ada yang istimewa dari toko 20. Semua produk yang terlibat di sini tersedia di semua toko.
Ada ide?
Terima kasih. Marius.
cron
dikonfigurasi dengan benar. IIRC peraturan dibangun kembali setiap malam dan tanpa aktifcron
akan menghasilkan perilaku aneh