在预制件中对一个产品进行自定义计算


make custom calculation in prestashop for one product

我想知道pressta shop的产品价格是在哪个文件中计算的?我已经为其中一个产品添加了两个属性,但是我想做一些类似

的事情
 if(product_id = 44) {
    attribute1 + (attribute1 x attribute2) = the price
  }else {
    the usual calculation...
  }

现在价格根据attribute1 + attribute2中选择的内容而变化,我在presta文档中找不到任何帮助,我真的需要这个

我认为你正在使用Prestashop 1.5。x。

在Classes/Product.php中有一个函数代码如下:

public static function getProductAttributePrice($id_product_attribute)
{
    return Combination::getPrice($id_product_attribute);
}

或者你可以直接在

Combination::getPrice($id_product_attribute);

您需要做什么来覆盖组合类或产品类,并重载该函数。让我们以组合类为例,因为getProductAttributePrice将来会被弃用。

因此重写Combination类并重载getPrice函数。您需要做的是将产品id也传递给它,以便您可以进行计算。

现在你可能知道了你的属性id,所以如果product id是144,那么这两个属性都是价格,并相应地处理它们并返回。

注:这只是给你一个想法。

我希望它会有所帮助。如果你仍然没有得到你的结果,那么告诉我,我会回复的。

谢谢