目标规则加售
我对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 | …