從Prestashop管理員我添加了新貨幣(用26,51顯示逗號的貨幣)並下了訂單。它以新貨幣顯示價格(見圖1),但是當我使用網絡服務獲得訂單時,它不會用逗號獲得新貨幣的價格,它以點而不是逗號表示。 (見圖像2)Prestashop使用webservice嘗試獲取它時的貨幣問題
0
A
回答
0
在數據庫的PrestaShop,價格值存儲爲實際值(浮點數)。要在任何界面上顯示它們,PrestaShop會將這些值傳遞給預定義的函數,然後僅顯示該函數的輸出。
說的Prestashop使用功能是
Tools::displayPrice()
你也可以用它來實際浮點值轉換爲正確格式的貨幣價值。
0
您需要進行預處理是從Web服務中獲得的價值,以應用適當的區域設置語言:
$locale = (isset($_COOKIE['locale'])) ?
$_COOKIE['locale'] :
$_SERVER['HTTP_ACCEPT_LANGUAGE'];
function number_format_locale($number,$decimals=2) {
$locale = localeconv();
return number_format($number,$decimals,
$locale['decimal_point'],
$locale['thousands_sep']);
}
使用功能number_format_locale(),以總價轉換成法語。
法語:bonne chance!
0
你可以爲你想要的返回值的自定義方法,使Order
類覆蓋(建立在prestashop/override/classes/order
一個新的PHP文件名爲Order.php
):
class Order extends OrderCore{
public function __construct($id = null, $id_lang = null){
$this->webserviceParameters['fields']['total_paid'] = array(
'getter' => 'getWsTotalPaid'
);
parent::__construct($id, $id_lang);
}
public function getWsTotalPaid(){
return str_replace('.', ',', $this->total_paid);
}
}
很明顯,你可以「格式化」的所有字段,但要注意父設置。
相關問題
- 1. INR貨幣中的Prestashop Bug
- 2. 的Prestashop貨幣規模
- 3. POI貨幣問題
- 4. 貨幣格式的嘗試解析
- 5. Prestashop更改主貨幣更改後的所有產品貨幣
- 6. 問題與Magento的貨幣
- 7. prestashop免費送貨問題
- 8. AED(د.إ)貨幣符號使用問題。它移動到左邊
- 9. INR貨幣格式問題
- 10. PayPal集成 - 貨幣問題
- 11. 硒貨幣fomat問題
- 12. NVD3 - tickFormat貨幣問題
- 13. 貝寶貨幣MXN問題
- 14. 貨幣轉換器問題
- 15. 貨幣格式化問題
- 16. Magento多幣種貨幣問題?
- 17. 獲取貨幣數據
- 18. 獲取最新貨幣
- 19. 如何從iphone中的貨幣代碼獲取貨幣符號?
- 20. 從Objective-C中獲取貨幣代碼的貨幣符號
- 21. Android貨幣類別 - 如何獲取貨幣的顯示名稱?
- 22. 嘗試使用system.globalization將貨幣符號添加到值
- 23. Prestashop 1.5。貨幣符號blockspecials模塊
- 24. 通過csv加載多貨幣Prestashop
- 25. 當試圖從webservice到JSON獲取數據時的問題
- 26. 應用內貨幣供應JSON問題
- 27. 如何通過貨幣名稱獲取貨幣符號?
- 28. 根據ISOCountryCode獲取貨幣符號和貨幣代碼
- 29. iOS如何通過貨幣代碼獲取貨幣符號?
- 30. 嘗試提取HREF時的DOM問題
問題是? – sarcom
我想要在管理員中顯示的API具有相同的值。像在管理中顯示爲26,51(使用逗號),但在API中使用26.51(不使用逗號) – Indian
您必須使用簡單的字符串替換進行「轉換」。所有的價格都存儲在數據庫中的點:) – sarcom