PrestaShop:如何在创建特定价格后刷新购物车

时间:2021-02-20 16:32:45

标签: php prestashop prestashop-1.7

我有一个小问题;) 我使用 PrestaShop 1.7.6.9(在共享主机上手动安装)和 1.7.7.1 (docker image from PrestaShop) 我创建了通过代码计算价格并通过 SpecificPrice 类保存在数据库中的模块。保存工作出色,但我还有其他问题。当我去购物车时,产品价格没有变化。但是当我等待一段时间并刷新购物车页面时,产品价格已更改为特定价格。

我的具体价格代码

@Bean
public Function<Response, EventDto> transformEvent() {
//take response from ibm mq
//then process and send eventdto to rabbit mq from spring cloud stream approach
}

我在 prestashop 论坛上的 topics 中发现了同样的问题,但没有答案

我尝试:

$specific_price = new SpecificPrice();
$specific_price->id_product = 10;
$specific_price->id_product_attribute = 43; 
$specific_price->id_cart = 3;
$specific_price->from_quantity = 10;
$specific_price->price = 78.000000;
$specific_price->reduction_type = 'amount';
$specific_price->reduction_tax = 1;
$specific_price->reduction = 0;
$specific_price->from = date("Y-m-d H:i:s");
$specific_price->to = date("Y-m-d H:i:s", strtotime('+1 year'));
$specific_price->id_shop = 1;
$specific_price->id_currency  = 1;
$specific_price->id_country = 0;
$specific_price->id_group = 0;
$specific_price->id_customer = 0;
$specific_price->add();

我尝试通过更新方法更新购物车。

有人遇到过类似的问题吗?

1 个答案:

答案 0 :(得分:1)

在下午与@KrystianPodemski 交谈后,他建议将日期从特定价格更改为 0000-00-00 00:00:00 并且...它有效:) 现在新特定价格的代码是:

$specific_price = new SpecificPrice();
$specific_price->id_product = 10;
$specific_price->id_product_attribute = 43; 
$specific_price->id_cart = 3;
$specific_price->from_quantity = 10;
$specific_price->price = 78.000000;
$specific_price->reduction_type = 'amount';
$specific_price->reduction_tax = 1;
$specific_price->reduction = 0;
$specific_price->from = date("0000-00-00 00:00:00");
$specific_price->to = date("Y-m-d H:i:s", strtotime('+1 year'));
$specific_price->id_shop = 1;
$specific_price->id_currency  = 1;
$specific_price->id_country = 0;
$specific_price->id_group = 0;
$specific_price->id_customer = 0;
$specific_price->add();