2013-04-26 38 views
0

我改變了magento中的一些功能來剝離價格中的小數。 該解決方案似乎適用於沒有選項的簡單產品,但帶選項的產品在選擇該選項時仍顯示.00。具有諷刺意味的是,該選項的下拉菜單顯示了沒有分支的選項的附加成本,但選中選項的主價格仍然顯示分支。這可能是在一個JS文件? configurable.js有reloadOldPrice()方法我試圖轉儲它,但價格變化始終是0 任何想法?Magento並在購物車中分解

回答

0

新的編輯

我以前的代碼將無法確實工作。我測試了以下和它的作品:

// Wrap original reloadPrice function 
spConfig.reloadPrice = spConfig.reloadPrice.wrap(function(original){ 
    // Call original reloadPrice() function 
    original(); 

    // Get the DOM-element that contains the price 
    var priceSpan = $('product-price-'+this.config.productId).down(); 

    // Get the current value 
    var oldP = priceSpan.innerHTML; 

    // Change the value 
    var newP = oldP.sub('.00',''); 

    // Update the element 
    priceSpan.update(newP); 
}); 

在Magento的定義如下var spConfig = new Product.Config(...);spConfig對象,所以一定要加我給這裏spConfig的實例化後的代碼。

還有很多工作要做:

我建議改變var line newP = oldP.sub('.00','');的東西,也抓住,00,因爲在某些地區,這將是價格的格式。

此外,如果你選擇,例如,顯示價格包括不含稅上面的代碼將無法工作,因爲$('product-price-'+this.config.productId).down()將包含兩個元素(我認爲)。

如果你寧可代碼追加到configurable.js文件,則應追加它想:

Product.Config.prototype.reloadPrice = Product.Config.prototype.reloadPrice.wrap(...); 

(注意.prototype我在我的第一個答案忘了)。


OLD POST(不工作)

如果人們想知道爲什麼它不工作,首先應該已經Product.Config.prototype.formatPrice代替Product.Config.formatPrice;其次, formatPrice函數顯然不負責如何輸出價格html。

configurable.js也有一個功能 formatPrice,當價格被更新這可能是所謂的。

所以,你可以嘗試:

Product.Config.formatPrice = Product.Config.formatPrice.wrap(function(originalFormatPrice, price, showSign) { 
    var str = originalFormatPrice(price, showSign); 
    return str.slice(0, -3); // remove last three characters (.00) 
}); 

+0

formatPrice不調用,應該調用嗎? – 2013-04-26 14:29:10

+0

我犯了一些錯誤,我用一個工作示例編輯了答案。 – 2013-04-26 20:42:25

+0

太棒了,它的工作,謝謝 – 2013-04-29 08:54:35

0
**Go your price.phtml file** 

線沒有201

<?php echo $_coreHelper->currency($_price, true, true) ?> 

replace this code 

<?php $_prix = $_coreHelper->currency($_price,true,true) ?> 
<?php $_prix = str_replace(".00", "", $_prix); ?> 
<?php echo $_prix ?> 
+0

in price.phtml $ _prix已經沒有分支。當選擇某個產品選項時出現Decime – 2013-04-26 13:44:26

+0

找到您的地點添加產品選項以瞭解使用此功能的價格。 – 2013-04-26 13:58:10

0

嘗試使用免費的擴展ET Currency Manager。在這個擴展中,這個功能被實現了。