2016-11-29 29 views
0

我们在新开发的店铺中存在严重问题。Prestashop Multistore - 本地店铺价格被默认店铺的价格覆盖

我们正在运行一个多店铺设置,每家商店有不同的药房和价格。

实施例产物:

Denmark: 99 DKK 
France: 9 EUR 
UK: 9 GBP 

在“所有分店”模式下工作,我们在产品上的“信息” -Tab在所有商店的价格从默认店的值设置为改变设置时。保存“信息” -Tab价格之后有以下几种:

Denmark: 99 DKK 
France: 99 EUR 
UK: 99 GBP 

我们发现一些其他有同样问题

http://forge.prestashop.com/browse/PSCSX-8372

http://forge.prestashop.com/browse/PSCSX-4644

甚至拉请求来自Prestashop Core开发人员

https://github.com/PrestaShop/PrestaShop/pull/4601

他后来关闭了拉,因为它引入了其他错误并引用:“......修复某些东西时没有破坏的东西越来越难。说实话,这个补丁听起来冒险”

看起来这是一个‘已知的错误’,但开发团队的Prestashop居屋背后没有修复该错误的内涵。

我有一颗真诚的希望,有人在那里已经能够解决这个问题

预先感谢您

更新:! 我做了一个洁净车间并记录如何显示的bug视频:https://youtu.be/LTITadt6D-k

+0

建议:检查与产品更新相关的钩子,并验证您没有模块混乱价格。祝你好运 – PixelWeb

+0

谢谢你的建议。我安装了一个干净的Prestashop,并能够在这里看到这个bug :-(我刚刚更新了我的问题,并链接到视频 – larsd

回答

2

朋友,真的很难找到并解决这个问题。我会尽量自己尽可能地解释:

  1. 当你在所有商店方面的Prestashop加工编辑为你在哪里编辑在同一时间所有的商店。
  2. pricewhosale_price是商店的相关领域。所以,如果你在所有商店的情况下你也正在编辑这个值的所有店铺。
  3. 你可以用下面的代码来避免这种情况。但要考虑到,如果您想要在所有商店同时更新价格,那么您将无法做到这一点。您只能在单个/特定店铺背景更新价格。

    if (Shop::getContext() != Shop::CONTEXT_SHOP) 
    { 
        unset($fields['price']); 
        unset($fields['wholesale_price']); 
    } 
    

此代码应该只是return $fields;

之前插入getFieldsShop()函数内位于\classes\Product.phpProduct类这段代码就被告知要Product类,当你在一个店方面不同于单身/特定店铺情境你不会更新多主题中的价格字段。

祝你好运。

+0

谢谢PixelWeb!这是我们的完美解决方案!我们最终添加了这个Products.php覆盖文件,并将税收组字段添加到未设置值列表中。再次感谢您 - 我欠你一杯咖啡和一杯冰啤酒!:-) – larsd

+0

欢迎光临。 ;) – PixelWeb