Answers:
在Magento中,价格计算是一个非常复杂的主题。下面是一个简单产品的概述:
由于此过程非常耗时,因此Magento会创建价格指数,并且仅在重新建立索引时才会执行上述操作。价格指数利用了一堆表格,这些表格具有有关“最终”价格(使用上述步骤计算)的信息,以及诸如可配置商品和捆绑商品的最低/最高价格之类的信息。该表为每个网站/产品/客户组组合提供了一个条目,因此系统仅需要根据客户数据选择适当的行,从而使整个过程在适当的时间内运行。
至于前端部分,价格是动态增加和减少的方式,这都是在javascript中完成的,它以具有所有“价格水平”的json数组开头,并将根据您的选择降低/提高价格。
setFinalPrice()
在产品视图页面和其他步骤中更改价格。但是如何从产品列表页面设置动态价格呢?
这是使用Javascript和Ajax完成的,如果我正确的话,它位于js / varien / configurable.js文件中。如果要更改其行为,可以使用原型扩展特定功能。我对javascript不太满意,但我认为这篇Stackoverflow文章介绍了扩展/programming/2686258/javascript-inheritance-extend-function的基础