用Magento可配置产品选项中的实际价格替换价格差异1.9

时间:2014-11-17 08:49:23

标签: magento

配置产品:

基本价格:1000卢比

尺寸:小 - 1500 大小:中等 - 2000

而不是基本价格的增量,想要将其替换为主要价格

检查了一些解决方案,但Magento 1.9版没有任何工作

谢谢你

1 个答案:

答案 0 :(得分:1)

这是通过javascript执行的。您需要在js / varien / configurable.js

中修改方法getOptionLabel

该方法的前几行如下所示:

getOptionLabel: function(option, price){
    var price = parseFloat(price);

您需要将其更改为:

getOptionLabel: function(option, price){
    var basePrice = parseFloat(this.config.basePrice);
    // 'price' as passed is the RELATIVE DIFFERENCE. We won't use it.
    //  The ABSOLUTE DIFFERENCE is in option.price (and option.oldPrice)
    var absoluteDifference = parseFloat(option.price);
    var absoluteFinalPrice = basePrice + absoluteDifference;
    // var price = parseFloat(price);
    var price = absoluteFinalPrice;

要删除选项中的+和 - 符号,请找到对this.formatPrice函数的调用,并在每次调用中将第二个参数更改为false。

就像这样:

if(price){
        if (this.taxConfig.showBothPrices) {
            str+= ' ' + this.formatPrice(excl, false) + ' (' + this.formatPrice(price, false) + ' ' + this.taxConfig.inclTaxTitle + ')';
        } else {
            str+= ' ' + this.formatPrice(price, false);
        }

请记住,如果您对核心magento文件进行更改,那么下次升级Magento时,您可能会丢失更改。最好创建另一个文件,如js / varien / custom_configurable.js或任何你喜欢的名字,并在配置文件(product.xml)中调用它,无论你使用的是什么主题。

这就是全部。

注意:此方法未在Magento版本> 1.7

上进行测试