Динамическое изменение цены при выборе опционального свойства?
Необходимо к основной цене прибавить стоимость опции и динамически, без перезагрузки страницы, вывести результат в карточке товара, чтобы где указана основная цена - итоговая цена сразу же пересчитывалась с учетом стоимости выбранной опции. В корзине все делается так как нужно. Дело касается только карточки товара, где есть выпадающий список опций (select) - откуда берется цена опций. За основу было взято решение с форума:
Практически это и нужно. Только код в basket.js отвечающий за этот вывод не могу откорректировать (в php пока не разбираюсь) . То что работает по основной цене и на корзину товаров в basket.js выглядит так:
site.basket.add = function(id, form, popup) {
var e_name, options = {};
if (form) {
var elements = jQuery('option:selected', form);
for (var i = 0; i < elements.length; i++) {
e_name = elements[i].id.replace(/^options\[/, '').replace(/\]$/, '');
options[e_name] = elements[i].value;
}
}
basket.putElement(id, options, this.replace(id));
if (popup) jQuery('#add_options_' + id).remove();
};
То что работает (из примера - см. ссылку), но отдельно и то что следует прикрутить к вышеуказанному коду выглядит так:
Стоимость опций (@float) нужно прибавить к основной цене $price = $this->getOptionPrice($propertyName, $optionId); Логика пересчета цен расположена в файлах optioned.xsl и basket.js
Сайт на xslt на системе UMI-CMS. Я так понимаю, что достаточно будет правки кода в файле basket.js и шаблона в файле object-view.xsl Просьба подсказать оптимальное решение в моей ситуации. Заранее благодарен за любую тех. поддержку.