Prestashop Multistore - 本地商店价格被默认商店的价格覆盖

时间:2016-11-29 14:09:45

标签: prestashop prestashop-1.6 multistore

我们新开发的店铺存在严重问题。

我们正在运行一个多层设置,每个商店都有不同的固化价格和价格。

示例产品:

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

在" All Stores"模式,我们更改产品上的"信息" -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核心开发人员的拉取请求

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

他后来因为它引入了其他错误而引起了关注:并且引用了一些问题:" ...在没有破坏的情况下修复某些东西越来越困难。说实话,这个补丁听起来很冒险"

这似乎是一个已知的错误"但是Prestashop背后的开发团队没有修复这个bug的意图。

我真诚地希望,那里的某个人能够解决这个问题。

提前谢谢!

更新 我做了一个干净的商店并录制了一个如何显示错误的视频:https://youtu.be/LTITadt6D-k

1 个答案:

答案 0 :(得分:3)

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

  1. 当您在所有商店背景 Prestashop流程版时,您可以同时在所有商店进行编辑。
  2. pricewhosale_price是商店的关联字段。因此,如果您在所有商店环境,那么您也在为所有商店编辑此值。
  3. 您可以使用以下代码避免这种情况。但是考虑到如果你想在同一时间更新所有商店的价格,使用此代码,你将无法做到这一点。您只需在单一/特定商店背景中更新价格。

    if (Shop::getContext() != Shop::CONTEXT_SHOP)
    {
        unset($fields['price']);
        unset($fields['wholesale_price']);
    }
    
  4. 此代码应插入位于getFieldsShop()的{​​{1}}类Product内的\classes\Product.php函数中return $fields;

    此代码的作用是向Product课程告知,当您处于商店环境单一/特定商店背景不同时,您将无法更新多元化的价格领域。

    祝你好运。

相关问题