Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento:应用购物车价格规则,但折扣不会从小计中减去_Magento_Shopping Cart_Magento 1.4 - Fatal编程技术网

Magento:应用购物车价格规则,但折扣不会从小计中减去

Magento:应用购物车价格规则,但折扣不会从小计中减去,magento,shopping-cart,magento-1.4,Magento,Shopping Cart,Magento 1.4,我在我的Magento商店(版本1.4.1.1)中创建了一个购物车价格规则,在前端应用它似乎没有问题,但折扣实际上没有反映在小计或最终合计中。原价为$45.00,折扣为$35.00,最终价格为$10.00。下面是一些设置的屏幕截图。(很抱歉,因为我是新用户,所以不允许我在此帖子中直接发布图像。) 主规则页 操作页面 显示已应用促销代码的购物车 审查订单(提交订单前的最后一步) 此特定项目具有一些自定义选项集,可设置四个单独选项的定价。该产品的价格是$0.00,然后每个选项都有自己的价格(我没有

我在我的Magento商店(版本1.4.1.1)中创建了一个购物车价格规则,在前端应用它似乎没有问题,但折扣实际上没有反映在小计或最终合计中。原价为$45.00,折扣为$35.00,最终价格为$10.00。下面是一些设置的屏幕截图。(很抱歉,因为我是新用户,所以不允许我在此帖子中直接发布图像。)

  • 主规则页
  • 操作页面
  • 显示已应用促销代码的购物车
  • 审查订单(提交订单前的最后一步)
  • 此特定项目具有一些自定义选项集,可设置四个单独选项的定价。该产品的价格是$0.00,然后每个选项都有自己的价格(我没有设置此部分,所以我不确定是否也缺少了一些东西)。以下是产品自定义选项页面的屏幕截图:


    有什么想法吗?我对Magento很陌生,所以我可能只是错过了一些明显的东西。提前感谢您的帮助或指导

    我认为问题在于将SKU与自定义选项结合使用,同时将价格规则限制为产品SKU。Magento使用连字符将它们组合在一起-放置测试顺序以查看这是否是问题所在

    我做的测试订单中的SKU是这样的; [原始产品\u SKU]-[自定义选项\u SKU]

    至少,这是我从版本1.5.0.1得到的结果

    我能找到的最快的解决方案是匹配产品url键上的规则,而不是SKU。这不是最直观的解决方案,但由于您不会更改产品上的URL(我希望如此),因此在带有自定义选项的SKU失败的情况下,它将起作用

    在版本1.4中,URL键应可供选择,而不是已有的SKU。因此,您可以只选择url键而不是sku,并在购物车价格规则中插入产品的正确url键。只需将“SKU是…”替换为“URL密钥是…”即可为您的产品插入正确的URL密钥

    在版本1.5中,我必须在url_key属性上启用“用于促销规则条件”,如下所示

  • 登录到Magento管理区
  • 导航到目录>属性>管理属性
  • 找到Atrtibute代码“url\U key”并单击进行编辑
  • 将“用于促销规则条件”更改为“是”
  • 保存更改
  • 此时可能需要重新为产品平面数据索引编制索引

  • 然后我可以在我的价格规则中使用它。

    事实上,我刚刚发现了哪里出了问题,或者至少,我找到了一个解决方案,尽管我不确定这会影响购物车价格规则的确切原因。你是对的,我甚至不能让一个简单的价格规则起作用——不管我如何改变规则,它都不起作用。无论如何,在处理另一个问题时,我意识到我丢失了购物车前端的小计/总计框(我在本地主机上安装了1.4.1.1版的干净副本,当时我注意到我的live站点上缺少该版本)。当我重新启用小计/总计框时,规则再次开始工作。(我想现在Magento在前端有了一个位置来显示折扣,它实际上应用了折扣,而以前它什么都不做。)


    因此,为了重新启用小计/总计框,在后端,我进入系统>配置>高级>启用Mage_Tax模块。再一次,我不知道为什么它一开始就被禁用了,我也不确定这是否会影响到网站上的其他任何东西,但它已经运行了一段时间,我没有注意到任何错误。下面是它工作的屏幕截图:

    在运行PHP7的CE1.9上遇到了同样的问题,应用Inchoo“PHP7兼容扩展插件for Magento 1”解决了这个问题


    嗨,罗斯,非常感谢您的详细回复。我只是试着用URL键来代替这个产品的SKU,我仍然有同样的问题,所以我有点困惑!我还尝试创建一个非常简单的测试产品(没有定制选项,只是一个45.00美元的价格集),只是想看看我是否能让促销代码正常工作,我仍然有同样的问题。它“接受”代码,但不从小计中减去任何内容。这可能是我的Magento版本的问题吗?很抱歉,我无法重现您的问题。我能提供的最好建议是:;从一个简单的购物车规则开始,当代码被应用时,它只是从任何东西中扣除折扣。应用折扣后,折扣金额应显示在购物车页面上的总计中,因此可以快速进行测试。一旦这起作用,尝试一次添加一个条件,首先添加一个条件,测试,如果仍然有效,删除此条件并添加另一个条件,测试,然后同时尝试两个条件。如果我有其他想法,我会再加上一个答案。嗨,罗斯,我刚刚知道发生了什么。如果你好奇的话,看看上面的答案。再次感谢你的帮助!解决了的!检查这个!也请喜欢,如果你觉得它有帮助