FRAIS DE PORTS

14 messages dans ce sujet

Posté(e) · Signaler ce message

;) Je continue mon apprentissage du php...........

Il pourrait être interessant pour certaines boutiques d'avoir des frais de ports en fonction du montant de la commande

Pour mettre automatiquement ces frais de port au moment de la commande, voici un exemple

Soit 4 frais de port différents selon le prix

PORT_1..Achat<30 euros : frais de port = 5,10 euros

PORT_2..Achat de 30 euros et <60 euros : frais de port = 8,00 euros

PORT_3..Achat de 60 euros et <90 euros : frais de port = 10,00 euros

PORT GRATUIT ! Achat de 90 euros et plus :

modifiez les variables d'origine par $port_1, $port_2, $port_3 et $portgratuit dans tous les fichiers où elles se trouvent

:blink: :blink:

lib/setup/info.inc.php

achat/modeles/achat_confirmation.php

achat/modeles/achat_maintenant.php

achat/achat_maintenant

Dans achat/modeles/achat_maintenant.php vers la ligne 114 environ remplacer

	<td class="normal">Frais de port * :</td>

	<td class="normal">

 	<select class="formulaire1" name="transport">

			<option value="normal" <?php if($transport == "normal") echo "selected" ?>>Normal</option>

			<option value="express" <?php if($transport == "express") echo "selected" ?>>Express</option>

	</select>

	</td>
par
	<td class=normal>Frais de port* :</td>

	<td class=normal>	  

	  <p align="justify">

<select class="normal" name="transport">

		   								<?php

										if 


(floatval(fprix($_SESSION['caddie']->total))<30)

										{

										$transport=port_1;

										}

										elseif 


(floatval(fprix($_SESSION['caddie']->total))<60)

										{

										$transport=port_2;

										}

										elseif 


(floatval(fprix($_SESSION['caddie']->total))<90)

										{

										$transport=port_3;

										}

										else

										{

										$transport=portgratuit;

										}

										{

										?>

										<option 


value="<?=$transport;?>"><?=$transport;?></option>

										<?php

										}

										?>


	</select>

</td>

j'ai testé en local, ça fonctionne: au lieu de cliquer pour choisir le port, il est affiché automatiquement suivant les critéres cités plus haut.

Qu'en pensez-vous ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je dis qu'il y en a qui prennent de l'assurance ;)

C'est un bon code, bien joué.

Vous pouvez aussi mettre les seuils 30, 60, 90 en parametres comme ca pas besoin de modifier le code la prochaine fois, juste les parametres.

Encore plus compliqué pour vous, mais plus simple a gérer ensuite, créer uen table avec:

- seuil minimum

- seuil maximum

- prix du port

Et selon le cout du caddie aller chercher le bon port correspondant.

En plus de ça faire une gestion dans l'admin de cette table.

Allez c'est le prochain défis, vous ètes sur la bonne voie, FELICITATIONS !

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

suis pas d'accord ! au niveau des fourchettes

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

suis pas d'accord !

pas d'accord avec les fourchettes;;;;;;;;

Mais plus on met des cuilléres et plus ça pése, donc les fourchettes sont à adapter par rapport au poids des cuilléres, suis je clair!!! :blink: ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu dis :

(floatval(fprix($_SESSION['caddie']->total))<90)

mais si le total fait 20 ? c'est moins que 60 et moins que 30

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu dis :

(floatval(fprix($_SESSION['caddie']->total))<90)

mais si le total fait 20 ? c'est moins que 60 et moins que 30

c'est pour ca qu'il commence par 30 ensuite 60, etc...

Si c'est < 30 il affecte son port et sort de sa boucle if, donc pas de soucis.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ce que je veux dire c'est que si le total est moins de 90 qu'elle est la valeur qui sera prise en compte

(floatval(fprix($_SESSION['caddie']->total))<60)

ou

(floatval(fprix($_SESSION['caddie']->total))<30)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu dis :

(floatval(fprix($_SESSION['caddie']->total))<90)

mais si le total fait 20 ? c'est moins que 60 et moins que 30

si le total est 20 c'est

(floatval(fprix($_SESSION['caddie']->total))<30)

qui est pris en compte, j'ai testé et ça fonctionne.

Maintenant il se peut que mon code ne soit pas parfait, je débute

je retourne faire des tests et je reviens

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu nous demande notre avis pas de souci c'est plutot bien meme

mais 20 est un mauvais exempl en fait prenons une valeur au dessous de 90

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Alors

SI c'est en dessous de 30, le port1 est appliqué

SINON SI en dessous de 60, le port 2 est appliqué

______SINON SI en dessous de 90, le port 3 est appliqué

____________SINON le port est gratuit.

En fait dès qu'on applique un port, on sort de la boucle.

Ca n'est pas:

SI c'est en dessous de 30, le port1 est appliqué

SI c'est en dessous de 60, le port2 est appliqué

SI c'est en dessous de 90, le port9 est appliqué

SI c'est en dessus de 90, le port est gratuit

Dans ce cas là ca merderait.

Willy

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

tu nous demande notre avis pas de souci c'est plutot bien meme

mais 20 est un mauvais exempl en fait prenons une valeur au dessous de 90

J'ai vérifié, à chaque fois c'est le bon port qui se met dans le formulaire

test.jpg

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok, je veux dire mouai, mais pas convaincu

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

c'est une variation pas inintéressante mais ça dépend de ce qu'on commande je dirai. Il faudrait y inclure la masse de ce qu'il y a dans le panier pour que ce soit vraimant intéressant. On peut commander du léfer et qui coute cher comme du lourd et du pas cher...... Alors c'est forcement injuste...

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

c'est une variation pas inintéressante mais ça dépend de ce qu'on commande je dirai. Il faudrait y inclure la masse de ce qu'il y a dans le panier pour que ce soit vraimant intéressant. On peut commander du léfer et qui coute cher comme du lourd et du pas cher...... Alors c'est forcement injuste...

Oui exact, je pense que chaque boutique à des problémes spécifiques pour les frais de ports. Il faut évaluer le cout réel de l'expédition par les transporteurs par rapport aux poids des produits. A ce moment là on peut créer un champs "poids" dans la table produit et créer des ports suivant le poids :blink: :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