我似乎无法在Magento网站(v 1.7.0.2(稳定版))上找到此信息,需要澄清。我最近接管了基于Magento的购物网站的维护。他们在促销中设置的购物车价格规则似乎没有正确应用。
我似乎已将问题缩小到可配置/简单产品。
以下是目前设定的定价规则之一的示例: 定价规则 - 某些类别中任何产品的30% 条件 - 无设置 操作 - 如果这些条件中的任何一个为TRUE:类别是xxx,xxx,xxx
之一问题似乎是公司正在使用可配置产品,当他们最初创建可配置产品时,他们会在其上放置所有正确的类别,但是当他们创建相关的简单产品时,他们不会在简单的产品上放置任何类别产品。
我的问题,很长一段时间,简单的产品是否应该继承其父可配置产品的类别?这是否可以轻松解决?
他们有大约6000种产品我必须回去添加正确的类别,如果我必须将它们添加到简单的产品中。
我希望这很清楚。谢谢大家!
答案 0 :(得分:0)
我们似乎遇到了同样的问题,运行Magento 1.9。 我们发现的一个解决方案是运行一个cron-job,将类别应用于可配置产品的简单产品。 这应该可行,但我根本不喜欢这个解决方案 - 非常令人惊讶的是,像这样的bug已经让它一直到版本1.9。
答案 1 :(得分:0)
以下是一些可以解决此问题的SQL。你可以在cron或其他任何地方运行它。首先,它从类别中删除所有简单产品,然后根据当前的简单/可配置关联将它们添加回其父可配置产品所属的类别。
DELETE a FROM catalog_category_product AS a
LEFT JOIN catalog_product_entity AS b
ON a.product_id = b.entity_id
WHERE b.type_id = 'simple' AND a.category_id != <<YOUR_ROOT_CATEGORY_ID>>
INSERT INTO catalog_category_product (category_id, product_id, position)
SELECT a.category_id, c.product_id, 0 FROM catalog_category_product AS a
LEFT JOIN catalog_product_entity AS b
ON a.product_id = b.entity_id
LEFT JOIN catalog_product_super_link AS c
ON b.entity_id = c.parent_id
WHERE b.type_id = 'configurable' AND c.product_id IS NOT NULL
ON DUPLICATE KEY UPDATE category_id = a.category_id, product_id = c.product_id, position = 0