frais d envoi

4 messages dans ce sujet

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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 ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

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: ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping