Magentoターゲットルールのアップセルに奇妙な問題があります。
シナリオ:Magento EE 1.12。同じMagentoインスタンスで30以上のストアビュー。30k以上の製品。ほとんどの製品は、すべてのストアビューで同じ設定になっています。アップセルを表示するためのルールを次のように作成しました。「現在の製品よりも価格が100%以上高い同じカテゴリの製品を表示する」。アップセルを表示するための設定:「ルールベースのみ」(問題は「ルールベースおよび選択済み」で再現)。ルールを保存しました。すべてのインデックスを再作成しました。すべての縫い目が問題なく見えるようになり、アップセルが(テストした製品の)ルールで定義されているように表示されます。製品は、すべてのストアビューで同じ設定を持っています。(そして、それは同じアップセルを持つべきです。)
ルールの一部を変更して再度保存すると、アップセルがすべてのストアビューに表示され始めますが、しばらくすると問題が再現します。
コードを掘り下げた後、ターゲットルールによって生成されたアップセルがすべてのルールを毎回解析しないように、テーブルenterprise_targetrule_index_upsellに保持されていることがわかりました。これがどのように機能するかです。(ルールを保存すると、テーブルが切り捨てられます)前述のテーブルに「ターゲットルール」のアップセルがある場合、それらが取得されます。そうでない場合は、ルールが解析され、結果がインデックステーブルに格納されます。以下は、特定の製品のそのテーブルのレコードです。
+-----------+----------+-------------------+---------------------------------------------------------------------+---------------------+
| 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 |
ご覧のとおり、IDが17372の製品のアップセルは、空白のstore_id 20を除いて、すべてのストアビューですべて同じです。ストア20について特別なことは何もありません。ここに含まれるすべての製品は、すべてのストアで入手できます。
何か案が?
ありがとう。マリウス。
cron
正しく構成されていますか。IIRCルールは毎晩再構築され、アクティブでないcron
と奇妙な動作が発生します