2016-11-29 48 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