【问题标题】:Magento - Shopping Cart Price RulesMagento - 购物车价格规则
【发布时间】:2015-01-08 04:40:24
【问题描述】:

我似乎在 Magento 网站 (v 1.7.0.2 (stable)) 上找不到此信息,需要澄清一下。我最近接管了一个基于 Magento 的购物网站的维护工作。他们在促销活动中设置了购物车价格规则,但似乎没有正确应用。

我似乎已将问题范围缩小到可配置/简单的产品。

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

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

我的问题还有很长的路要走,简单产品不应该继承其父可配置产品的类别吗?这是很容易补救的事情吗?

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

我希望这已经足够清楚了。谢谢大家!

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      这里有一些 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
      

      【讨论】:

      • 感谢您的评论,不幸的是我从来没有实现它来看看它是否有效。
      猜你喜欢
      • 2013-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-14
      • 2013-03-25
      • 2015-03-09
      • 2014-10-18
      相关资源
      最近更新 更多