为什么prestashop购物车规则(优惠券)没有显示在前端?

时间:2016-01-21 16:18:40

标签: php e-commerce prestashop cart prestashop-1.6

我已成功生成测试购物车规则并已分配给我的用户。

我可以在后台和my-account页面的“my vouchers”下看到它。所以我们确定它已被录制并分配。

在购物车页面中,即使在我的用户登录后,我也看不到任何凭证字段。

深入挖掘,我可以说$ discount模板var没有填充,或者只是它计为零。所以我看一下控制器,看到它通过$order->getCartRules()分配给它。而getCartRules只是读取一个db表。而且意外? order_cart_rule表为空。所以它没有填充。那么这里可能出现什么问题呢?曾经有同样的问题吗?这是一件奇怪的事情......

可能主要的问题是:exaclty在哪里/什么时候开车并且规则被创建/应用?我可以在FrontController中看到正在创建的购物车,但此时似乎还没有设置购物车规则。

顺便说一下,我正在运行最新的prestashop 1.6.1.4

2 个答案:

答案 0 :(得分:1)

<强> $命令 - &GT; getCartRules

函数$order->getCartRules()为您提供了应用于此订单的购物车规则的列表(您可以在表ps_order_cart_rule中找到它。)

所有购物车规则在哪里?

所有购物车规则都在表ps_cart_rule中。

如果您已将购物车规则标记为Highlight - 您可以看到:

Vouchers field with a hightlighted cart rule.

如果您已将任何购物车规则添加到商店 - 您可以看到:

Vouchers field.

如果您看不到Vouchers字段 - 要么您没有购物车规则,要么安装的theme不支持。

答案 1 :(得分:0)

是一个迟到的答案,但我注意到,如果你启用paypal,它在paypal.js中有一行不仅删除凭证区域而且还删除了删除产品的垃圾桶:

见图片: https://i.gyazo.com/403a9004aaa745a2817f11884d52346b.png

var createTransporter = function()

将cart_voucher重命名为cart_voucher_2(如果您不使用快速结帐),将cart_quantity_delete重命名为cart_quantity_delete_2,您将返回以确保您的选择正确:)