Это выполняется с помощью javascript. Вам нужно изменить метод getOptionLabel в JS/Varien/configurable.js
Первые несколько строк метода выглядит следующим образом:
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
Связанные Вопрос: http://stackoverflow.com/questions/6225093/replace-price-difference-with-actual-price-in-magento- configurable-product-optio? rq = 1 –