Magento中的动态定价如何工作?


8

我想知道动态定价在Magento中如何工作?

例如,我在后端创建了产品,并向其中添加了一些自定义选项。因此,如果用户选择该选项,则价格会在产品视图页面上自动更改,而无需重新加载页面。

有人可以解释Magento如何执行此操作吗?

我们可以添加自定义动态定价吗?我想如果用户单击链接(我已添加到产品视图页面),然后更改价格。

Answers:


10

在Magento中,价格计算是一个非常复杂的主题。下面是一个简单产品的概述:

  1. Magento获得“基本”价格。这是您在价格列中定义的价格
  2. 应用“组”价格。这是根据订购数量,网站和客户群考虑等级价格的部分。
  3. 如果为当前日期定义了特价,则将应用特价。
  4. 触发“ catalog_product_get_final_price ”事件。这是您需要修改价格的自定义模块的位置。作为一个有效的示例,CatalogRule模块捕获此事件并根据已定义的目录规则更改价格
  5. 所选期权的价格已考虑在内

由于此过程非常耗时,因此Magento会创建价格指数,并且仅在重新建立索引时才会执行上述操作。价格指数利用了一堆表格,这些表格具有有关“最终”价格(使用上述步骤计算)的信息,以及诸如可配置商品和捆绑商品的最低/最高价格之类的信息。该表为每个网站/产品/客户组组合提供了一个条目,因此系统仅需要根据客户数据选择适当的行,从而使整个过程在适当的时间内运行。

至于前端部分,价格是动态增加和减少的方式,这都是在javascript中完成的,它以具有所有“价格水平”的json数组开头,并将根据您的选择降低/提高价格。


谢谢保罗的回答。Magento动态定价是一个复杂的话题:)
Wakanina 2013年

使用“ catalog_product_get_final_price”事件并setFinalPrice()在产品视图页面和其他步骤中更改价格。但是如何从产品列表页面设置动态价格呢?
Shathish 2013年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.