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

用Magento可配置产品选项1.9中的实际价格替换差价,magento,Magento,配置产品: 底价:1000卢比 尺寸:小型-1500 尺寸:中等-2000 不是用基价增加,而是用主价代替 检查了一些解决方案,但Magento 1.9版无法使用 谢谢这是由javascript执行的。您需要修改js/varien/configurable.js中的getOptionLabel方法 方法的前几行如下所示: getOptionLabel: function(option, price){ var price = parseFloat(price); if(price){

配置产品:

底价:1000卢比

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

不是用基价增加,而是用主价代替

检查了一些解决方案,但Magento 1.9版无法使用


谢谢

这是由javascript执行的。您需要修改js/varien/configurable.js中的getOptionLabel方法

方法的前几行如下所示:

getOptionLabel: function(option, price){
    var price = parseFloat(price);
if(price){
        if (this.taxConfig.showBothPrices) {
            str+= ' ' + this.formatPrice(excl, false) + ' (' + this.formatPrice(price, false) + ' ' + this.taxConfig.inclTaxTitle + ')';
        } else {
            str+= ' ' + this.formatPrice(price, false);
        }
您需要将其更改为:

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

就这样,

getOptionLabel: function(option, price){
    var price = parseFloat(price);
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 version>1.7上测试

是否更改了正确的文件并刷新了Magento缓存?相关问题: