Prestashop Multistore - 本地商店价格被默认商店的价格覆盖
Prestashop Multistore - local store prices are overwritten with price from default shop
我们新开发的商店有一个严重的问题。
我们是 运行 多商店设置,每家商店的货币和价格都不同。
示例产品:
Denmark: 99 DKK
France: 9 EUR
UK: 9 GBP
当在 "All Stores" 模式下工作并且我们更改产品上 "Information" 选项卡上的设置时,所有商店的价格都设置为默认商店的价格。保存 "Information" 选项卡后,价格如下:
Denmark: 99 DKK
France: 99 EUR
UK: 99 GBP
我们发现其他几个人也有同样的问题
http://forge.prestashop.com/browse/PSCSX-8372
http://forge.prestashop.com/browse/PSCSX-4644
甚至来自 Prestashop 核心开发人员的拉取请求
https://github.com/PrestaShop/PrestaShop/pull/4601
他后来关闭了 pull,因为它引入了其他错误并引用:“......在不破坏某些东西的情况下修复某些东西越来越困难。老实说,这个补丁听起来很冒险”
这似乎是一个 "known bug" 但 Prestashop 背后的开发团队没有修复错误的意图。
我真诚地希望有人能够解决这个问题。
提前致谢!
更新:
我做了一个干净的商店并录制了一个如何显示错误的视频:https://youtu.be/LTITadt6D-k
朋友,这个问题真的很难找到并解决。我会尽力解释我自己:
- 当你在所有商店上下文 Prestashop process edition as you where editing in all shops at the same time.
price
和 whosale_price
是商店的关联字段。因此,如果您在 所有商店上下文 中,您也在为所有商店编辑此值。
您可以使用以下代码避免这种情况。但是请注意,使用此代码如果您想同时更新所有商店的价格,您将无法做到。您只需要在 Single/Specific 商店环境 .
中更新价格
if (Shop::getContext() != Shop::CONTEXT_SHOP)
{
unset($fields['price']);
unset($fields['wholesale_price']);
}
此代码应插入位于 \classes\Product.php
return $fields;
之前的 Product
class 内的 getFieldsShop()
函数中
此代码的作用是告诉 Product
class 当您处于 商店环境 不同于 Single/Specific shop context 您不会更新 multishops 中的价格字段。
祝你好运。
我们新开发的商店有一个严重的问题。
我们是 运行 多商店设置,每家商店的货币和价格都不同。
示例产品:
Denmark: 99 DKK
France: 9 EUR
UK: 9 GBP
当在 "All Stores" 模式下工作并且我们更改产品上 "Information" 选项卡上的设置时,所有商店的价格都设置为默认商店的价格。保存 "Information" 选项卡后,价格如下:
Denmark: 99 DKK
France: 99 EUR
UK: 99 GBP
我们发现其他几个人也有同样的问题
http://forge.prestashop.com/browse/PSCSX-8372
http://forge.prestashop.com/browse/PSCSX-4644
甚至来自 Prestashop 核心开发人员的拉取请求
https://github.com/PrestaShop/PrestaShop/pull/4601
他后来关闭了 pull,因为它引入了其他错误并引用:“......在不破坏某些东西的情况下修复某些东西越来越困难。老实说,这个补丁听起来很冒险”
这似乎是一个 "known bug" 但 Prestashop 背后的开发团队没有修复错误的意图。
我真诚地希望有人能够解决这个问题。
提前致谢!
更新: 我做了一个干净的商店并录制了一个如何显示错误的视频:https://youtu.be/LTITadt6D-k
朋友,这个问题真的很难找到并解决。我会尽力解释我自己:
- 当你在所有商店上下文 Prestashop process edition as you where editing in all shops at the same time.
price
和whosale_price
是商店的关联字段。因此,如果您在 所有商店上下文 中,您也在为所有商店编辑此值。您可以使用以下代码避免这种情况。但是请注意,使用此代码如果您想同时更新所有商店的价格,您将无法做到。您只需要在 Single/Specific 商店环境 .
中更新价格if (Shop::getContext() != Shop::CONTEXT_SHOP) { unset($fields['price']); unset($fields['wholesale_price']); }
此代码应插入位于 \classes\Product.php
return $fields;
Product
class 内的 getFieldsShop()
函数中
此代码的作用是告诉 Product
class 当您处于 商店环境 不同于 Single/Specific shop context 您不会更新 multishops 中的价格字段。
祝你好运。