Jump to content

make custom calculation in prestashop for one product


Too Cool

Recommended Posts

I would like to know in which file in presta shop the product price is calculated? I have added two attributes to one of the products, but I would like to do something like

 

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

 

Right now the price changes according to what is selected in attribute1 + attribute2, I couldnt find any help on presta documentation and I really need this.

Link to comment
Share on other sites

Looks like it's in the file /classes/Product.php

 

look for function:

 

public static function priceCalculation($id_shop, $id_product, $id_product_attribute, $id_country, $id_state, $zipcode, $id_currency,

$id_group, $quantity, $use_tax, $decimals, $only_reduc, $use_reduc, $with_ecotax, &$specific_price, $use_group_reduction,

$id_customer = 0, $use_customer_price = true, $id_cart = 0, $real_quantity = 0)

{

...

 

in this function, you see a part :

 

...

// Attribute price

if (is_array($result) && (!$specific_price || !$specific_price['id_product_attribute'] || $specific_price['price'] < 0))

{

$attribute_price = Tools::convertPrice($result['attribute_price'] !== null ? (float)$result['attribute_price'] : 0, $id_currency);

if ($id_product_attribute !== false && !is_null($id_product_attribute)) // If you want the default combination, please use NULL value instead

$price += $attribute_price; // this looks like the normal calculation...

}

...

 

 

 

Didn't try to change myself, but maybe try and see if this does something

 

My 2 cents,

pascal

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...