У меня также была проблема с изменением поведения Magento по умолчанию на этом. Я включил jQuery в свой проект и, наконец, понял это, сначала удалив поведение Magento по умолчанию, а вместо него при функции calcPrice вызывал мою calculatePrices()
-функцию:
$j('#select_20, #select_21').removeAttr('onchange').change(function(){
calculatePrices();
});
Теперь, в этой calculatePrices()
-функции, наряду с некоторой другой логикой, я включил это, чтобы изменить цены:
function calculatePrices()
{
var price = 0;
// some logic with custom options, not interesting for this question...
// Change the price according to the options:
$j('#select_20, #select_21').each(function(){
var selectId = this.id.replace('select_', '');
var options = opConfig.config[selectId][this.value];
if(options.type == 'fixed') {
price += options.priceValue;
} else {
// percentual change:
price += price * (options.priceValue/100);
}
});
// Use Magento Objects to set these prices:
optionsPrice.changePrice('bundle', price);
optionsPrice.reload();
}