我希望Magento中的自定义选项从已经更改的价格(其他自定义选项)中计算百分比成本,而不是基本价格。
通过在app / code / core / Mage / Catalog / Model / Product / Type / Price.php中更改此代码行,我可以在此处获得基于更改的价格值而不是基本价格计算百分比的预期结果到$ finalPrice而不是$ basePrice
来自:
$finalPrice += $group->getOptionPrice($quoteItemOption->getValue(), $basePrice);
到此:
$finalPrice += $group->getOptionPrice($quoteItemOption->getValue(), $finalPrice);
但是 - 这样可以在购物车价格中成功更新,但不会更新产品页面本身的即时选项价格。
有关如何更改产品页面价格的任何线索???
答案 0 :(得分:2)
动态选项价格由名为configurable.js
的文件中定义的JavaScript函数构建。
每次选择一个值时,都会有一个(重新)构建html <select>
和<option>
值的函数。
还有另一个函数可以生成价格/选项值数组,并调用(重新)构建函数。
TL; DR: JavaScripts中有计算逻辑,即configurable.js
。