Merci pr ta reponse
alors je developpe un module pour un site e-commerce qui utilise prestashop j'ai cree ma classe
class kalkulationmod extends Module
et j'ai mis les fonctions de base: install ,uninstall plus les HOOks
dans mon hookdisplayProductButtons j'ai le code suivant qui calcule le prix final et j'affect ce prix a une variable qui s'appel $MyCustom_price
function hookdisplayProductButtons(){
//generate Fields User
$id_product = (int)Tools::getValue('id_product');
$this->fields=$this->getUserFields($id_product);
$this->context->smarty->assign("fields",$this->fields);
$this->lagermaterial=$this->getLagermaterial();
$this->context->smarty->assign("lagermaterial",$this->lagermaterial);
if (Tools::getValue('submitKalkulation')) {
$valueFields=Tools::getValue('data');
//print_r($valueFields);die();
$countFields=sizeof($valueFields); // count of posting data
$name_field_user=array();
$value_field_user=array();
foreach ($valueFields as $val) {
//echo $val;
$name_field_user[]=array_search($val, $valueFields); // name field on user page
$value_field_user[]=$val; //value field on user page
}
$this->id_material=Tools::getValue('selectMaterial');
$getPrice=$this->getPriceMaterial($this->id_material)["price"]; // get price from selected lagermaterial by user
//start generate formula
//get variables or fields admin
$this->getVariables=$this->getVariables($id_product);
foreach($this->getVariables as $key => $value){
$name_field[] =$value['name_field']; // all field admin by product
$value_field[]=$value['value_field']; // all value admin by product
}
//push array fields and values user page into array fields and values admin
$allNames=array_merge($name_field,$name_field_user);
$allValues=array_merge($value_field,$value_field_user);
$allNames[]="preis"; // add price to array of allNames
$allValues[]=$getPrice; // add price Value to array of allValues
// get formula product
$getFormula=$this->getProductFormula($id_product);
$formulaProduct[0]=$getFormula["formula"];
for ($i=0; $i <count($allValues) ; $i++) {
$formulaProduct[$i+1]=str_replace($allNames[$i],$allValues[$i],$formulaProduct[$i]);
}
//print_r($formulaProduct);echo "<br>";
$countValues=count($allValues);
eval("\$formulaProduct[$countValues] = $formulaProduct[$countValues];");
$MyCustom_price =$formulaProduct[$countValues];
$this->context->smarty->assign("MyCustom_price ",$MyCustom_price); // MyCustom price = final price
//get data in textbox
// $this->context->smarty->assign('valueFields',$valueFields);
// $this->context->smarty->assign('SelectedMaterial',$this->id_material);
return $this->display(__FILE__, 'kalk_client.tpl');
//end generate formula
}
return $this->display(__FILE__, 'kalk_client.tpl');
}
Mtn je veux quand le client click sur button"Ajouter au panier " il ajoute le produit avec le prix final qui est stocke ds la variable $MyCustom_price et non pas le prix standard du produit.
j'espere que tu va m'aider à trouver une solution