首页 文章

Magento - 购物车价格规则

提问于
浏览
1

我似乎无法在Magento网站上找到这些信息(v 1.7.0.2(稳定版))并需要澄清 . 我最近接管了基于Magento的购物网站的维护 . 他们在促销中设置的购物车价格规则似乎没有正确应用 .

我似乎把问题缩小到可配置/简单的产品 .

以下是当前设置的定价规则之一的示例:定价规则 - 30%某些类别中的任何产品条件 - 无设置操作 - 如果这些条件中的任何一个为TRUE:类别是xxx,xxx,xxx之一

问题似乎是该公司正在使用可配置产品,当他们最初创建可配置产品时,他们会在其上放置所有正确的类别,但是当他们创建相关的简单产品时,他们不会在简单产品上放置任何类别 .

我的问题,很长一段时间,简单的产品是否应该继承其父可配置产品的类别?这是否可以轻松解决?

他们有大约6000种产品,如果我必须将它们添加到简单产品中,我必须回去添加正确的类别 .

我希望这很清楚 . 感谢大家!

2 回答

  • 0

    我们似乎遇到了同样的问题,运行Magento 1.9 . 我们发现的一个解决方案是运行一个cron-job,将类别应用于可配置产品的简单产品 . 这应该可行,但我根本不喜欢这个解决方案 - 非常令人惊讶的是这样的bug已经让它一直到1.9版本 .

  • 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
    

相关问题