用Magento可配置产品选项1.9中的实际价格替换差价
配置产品: 底价:1000卢比 尺寸:小型-1500 尺寸:中等-2000 不是用基价增加,而是用主价代替 检查了一些解决方案,但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){
谢谢这是由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缓存?相关问题: