xpatval Posté 16 Janvier 2006 Posté 16 Janvier 2006 Bonjour, matin, Dans un traitement e-commerce, je souhaite modifier le montant global d'un achat en fonction du montant total. Autrement dit, si ce total dépasse par exemple 500 euros, je souhaite appliquer une réduction de 10%. L'appel au calcul du prix se fait de la façon suivante: <?php echo"<td>". $currencies->display_price($products[$i]['final_price'] ."</td>"; ?> Vous passant les conditions de la classe currencies (pour celle-ci, no problemo), voici la fonction du calcul du prix avant que je modifie: $this->total += tep_add_tax($products_price, $products_tax) * $qty; Je rajoute donc ma petite fonction (de test pour le moment) et ajoute un appel à cette dernière: Nouvelle fonction: function moderate($total) { if ($total > 700.00) $total = $total / 1.10; return $total; } Et modifie la fonction de calcul de cette manière: $this->total = $this->moderate($total); => Echec. J'ai tenté aussi cela: $this->moderate->total += tep_add_tax($products_price, $products_tax) * $qty; Echec encore, puisque, et dans les deux cas, je me retrouve avec un prix égal à zéro Bref, où merdoie-je ? Merci, xpatval
Antoine Cailliau Posté 16 Janvier 2006 Posté 16 Janvier 2006 hmu hum... bizarre Es-tu sur que la valeur que tu donne à moderate est plus grande que 0 ? Ne vaudrait-il mieux pas arrondir à l'aide d'une méthode le calcul (en effet, 700/1.1 = 636.363636.... pas très pratique). Peux-tu faire un affichage de total avant, après, que ce passe-t'il si tu envoie une valeur ? Es-tu sur que tu stocke la valeur correctement ? Sans un brin plus de code... ça risque d'être difficile
dièse Posté 16 Janvier 2006 Posté 16 Janvier 2006 Bonjour, $this->total = $this->moderate(tep_add_tax($products_price, $products_tax) * $qty); Tout simplement non ?
xpatval Posté 16 Janvier 2006 Auteur Posté 16 Janvier 2006 $this->total = $this->moderate(tep_add_tax($products_price, $products_tax) * $qty); Tout simplement non ? <{POST_SNAPBACK}> Ben quoi, j'vais retourner boire un Kakolak.... Merci à vous deux, xpatval
Dan Posté 16 Janvier 2006 Posté 16 Janvier 2006 Sinon ton erreur vient d'avoir mis $this->total = $this->moderate($total); au lieu de $this->total = $this->moderate($this->total);
xpatval Posté 16 Janvier 2006 Auteur Posté 16 Janvier 2006 'veulent me ridiculiser ..... dan, me semblait l'avoir essayé, mais c'est bon aussi xpatval
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant