2013-04-26 41 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。在这个扩展中,这个功能被实现了。