Sign in to follow this  
Followers 0

frais d envoi

4 posts in this topic

Posted · Report post

bonjour

j aimerai savoir si quelqu un a une solution pour que les frais d envoi s additionne suivant le nombre d article commandé parce que a l heure actuelle que la commande soit de 1 ou plusieur articles les frais d envoi reste comme si il n y en avait qu un .

merci d avance

Share this post


: post
Share on other sites

Posted · Report post

Bonjour,

voila le code, mais pour PREMIUM:

function calcul_frais_expedition(&$type) {


global $seuil;

global $seuil_total;

global $seuil_total_reve;

$expedition =0;

$expedition_ht = 0; 




		$_SESSION['caddie']->type($type); #- On place le type d'expédition si il est déterminé


		$expedition = 0;


		foreach($_SESSION['caddie']->articles as $ligne => $produitid) {


			$queryType = mysql_query("SELECT id FROM peel_types WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($type, ENT_QUOTES)."'")

			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$objType = mysql_fetch_object($queryType);


			$queryZone = mysql_query("SELECT id FROM peel_zones WHERE nom_".$_SESSION['langue']." = '".htmlspecialchars($_SESSION['caddie']->zone, ENT_QUOTES)."'")

			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


			$Zone = mysql_fetch_object($queryZone);


			$ZoneId = $Zone->id;


			$sql_tarif = "SELECT tarif, poidsmax, tva FROM peel_tarifs WHERE type = '".$objType->id."' AND zone = '".$ZoneId."' ORDER BY poidsmax DESC";


			$result_tarif = mysql_query($sql_tarif)

			or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<p>' . MYSQL_ERROR());


				if ($result_tarif) {


					if (mysql_num_rows($result_tarif)) {


							$qte_article = $_SESSION['caddie']->quantite[$ligne];

							$poids_article = $_SESSION['caddie']->poids[$ligne];

							//echo "<BR>Ligne: " .$ligne ."Article: " .$produitid ." Qté: " .$qte_article ." Poids: ".$poids_article;

							while ($tab_tarif = mysql_fetch_array($result_tarif)) {

								if ($poids_article == $tab_tarif['poidsmax']) {

									// echo " ".$expedition ." + " .$tab_tarif['tarif'] ." * " .$qte_article;

									$expedition += $tab_tarif['tarif'] * $qte_article;


									$expedition_ht += ($tab_tarif['tarif'] * $qte_article) / (1+$tab_tarif['tva']/100);


									break;


								} else {


								//$expedition += $tab_tarif['tarif'] * $qte_article;


								//$expedition_ht += ($tab_tarif['tarif'] * $qte_article) / (1+$tab_tarif['tva']/100);


								}

							}

					}


				}

		}	

		#- Vérifie si le total du panier n'exc&egrave;de pas les seuils d&eacute;finis en back office

		$seuil = (isset($_SESSION['utilisateur']['priv']) && $_SESSION['utilisateur']['priv'] == "reve")  ? $seuil_total_reve : $seuil_total;


		if ($_SESSION['caddie']->total_produit > $seuil) {$expedition = 0; $expedition_ht = 0;} #- Frais de port gratuit si le total TTC des produits est > au seuil.


		$_SESSION['caddie']->expedition($expedition, $expedition_ht); #- On place le cout du transport dans le caddie



}

Ce code est à placer dans achat/caddie_affichage.php

Le principe est: pour chaque article du caddie, on regarde le poids qu'il pese et le frais de port associé et on somme ses frais de port (multiplié par la quantité si necessaire).

Pour info dans la version standard, on somme le poids de tous les articles (avec la quantité) et on regarde ensuite le port associé.

Willy

Share this post


: post
Share on other sites

Posted · Report post

eh will, le but étant de donné une version qui marche pour shopping, pense plutot à te pencher un peu dessus si tu as le temps ;)

Share this post


: post
Share on other sites

Posted · Report post

Bah justement j'en ais pas :blink:

Donc je donne ce que j'ais fait car je n'ais pas les sources de shopping sous la main.

Je te passe la main pour la solution, tu as l'idée, à toi de coder :blink: ;)

Share this post


: post
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
Sign in to follow this  
Followers 0

Twitter Advisto ecommerce

Facebook PEEL Shopping