我对Magento Target规则追加销售有一个奇怪的问题。
场景: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
就会产生奇怪的行为