Jump to content

Remises Sur Quantités Prestashop 1.6.1.4


Recommended Posts

Hello !

Sur le site www.directpoissons.com

je rencontre un probleme : lorsque je mets en place une réduction en fonction de la quantité de produits achetés, la réduction n'apparait qu'une fois qu'on regarde de près dans la panier. Et encore, seul le prix unitaire est modifié, et donc bien que les totaux soient corrects, l'internaute ne voit nulle part, ni dans le panier ni dans la page produit qu'il a fait/qu'il pourrait faire une économie en achetant x unités.

 

apparemment je ne suis pas la seule a avoir eu ce souci sur un Presta 1.6, puisqu'on trouve un ticket sur la forge marqué comme résolu ici :

http://forge.prestashop.com/browse/PSCSX-6430

 

petit souci : 

autant je suis à l'aise sur la création graphique de jolis visuels, autant là pour moi c'est un peu du chinois ... Y aurait-il un bon samaritain pour m'expliquer un peu plus en détail ce que je suis censée faire ?

 

Autre problème, mais je ne sais pas si ça peut être lié : lorsque j'ajoute par exemple 10 prodiuts au pif dans le panier, au lieu d'écrire 10 x "prix unitaire du produit", il me met "10x le total " ...

(voir PJ : le prix du produit est censé etre de 4.5€ et il me met le total de 51 x 4.5€)

 

Une idée de ce qui peut bien se passer ?

 

Par avance merci beaucoup !

Eva

 

post-720070-0-54466800-1455703614_thumb.png

Link to comment
Share on other sites

Eh bien oui, c'est  bien ce qui m'embête : ça devrait marcher :)

Sauf bien sur si j'ai oublié de cocher un truc quelque part lol ...

Ci-joint une capture d'écran sur un produit test a voir ici :

http://directpoissons.com/fr/accueil/14389-test.html

réductions : 

- pour 5 produits = 5%

- pour 10 = 10%

 

y a-t-il un module a greffer qq part ? une case a cocher pour faire apparaître ce qu'on voit dans tes pièces jointe et qui est  exactement ce que je cherche ? ? 

post-720070-0-44987500-1455711435_thumb.jpg

Link to comment
Share on other sites

Bon, Bon, Bon, en fouillant un peu dans le product.tpl, j'ai découvert que la partie sur les discounts manquait.

Je suis aller récuérer le fichier d'originel du default-bootstrap de Prestashop, et j'ai fouiné dedans pour en tirer ça :


			<!-- quantity discount -->
			<section class="page-product-box">
				<h3 class="page-product-heading">{l s='Volume discounts'}</h3>
				<div id="quantityDiscount">
					<table class="std table-product-discounts">
						<thead>
							<tr>
								<th>{l s='Quantity'}</th>
								<th>{if $display_discount_price}{l s='Price'}{else}{l s='Discount'}{/if}</th>
								<th>{l s='You Save'}</th>
							</tr>
						</thead>
						<tbody>
						{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
							{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
								{$realDiscountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
							{else}
								{$realDiscountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
							{/if}
							<tr id="quantityDiscount_{$quantity_discount.id_product_attribute}" class="quantityDiscount_{$quantity_discount.id_product_attribute}" data-real-discount-value="{convertPrice price = $realDiscountPrice}" data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value|floatval}" data-discount-quantity="{$quantity_discount.quantity|intval}">
								<td>
									{$quantity_discount.quantity|intval}
								</td>
								<td>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{if $display_discount_price}
											{if $quantity_discount.reduction_tax == 0 && !$quantity_discount.price}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction_with_tax)|floatval}
											{else}
												{convertPrice price=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
											{/if}
										{else}
											{convertPrice price=$quantity_discount.real_value|floatval}
										{/if}
									{else}
										{if $display_discount_price}
											{if $quantity_discount.reduction_tax == 0}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction_with_tax)|floatval}
											{else}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
											{/if}
										{else}
											{$quantity_discount.real_value|floatval}%
										{/if}
									{/if}
								</td>
								<td>
									<span>{l s='Up to'}</span>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{$discountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
									{else}
										{$discountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
									{/if}
									{$discountPrice=$discountPrice * $quantity_discount.quantity}
									{$qtyProductPrice=$productPriceWithoutReduction|floatval * $quantity_discount.quantity}
									{convertPrice price=$qtyProductPrice - $discountPrice}
								</td>
							</tr>
						{/foreach}
						</tbody>
					</table>
				</div>
			</section>
		{/if}

Désolé c'est un peu long :P

Résultat : ENFIN les discounts apparaissent dans le FO (a droite de la photo du produit) , avec en bonus l'étiquette -5%, -10% sur ma fiche produit "test

Par contre je dois vous avouer que j'ai fait ça un peu au pifomètre (je ne comprends qu'a moitié ce que je fais hihi ... Mais rassurez vous je suis la reine des backups lol !)

Et du coup je trouve que coté mise en page ça pêche un peu, les colonnes sont toutes collées, ça n'a pas la belle mise en forme que ça devrait avoir. Si quelqu'un pouvait m'aider a simplement espacer un peu les 3 colonnes "quantité/discount/your sale" les unes des autres, ce serait génial ! Par ailleur il faut encore que j'arrive a reproduire ça sur la page 'panier', d'ou le montant de la réduction est encore absent. mais on progresse !

Edited by Eva Martin (see edit history)
Link to comment
Share on other sites

Autant pour moi (je réponds moi-même à mes propres questions :P Mais bon, c'est au cas où un noobie comme moi aurait des problemes similaires, hein, c'est pas par plaisir de me lire moi-même !

 

Pour augmenter la taille des colonnes, j'ai mis     

		<tr>
								<th width=100>{l s='Quantity'}</th>
								<th width=100>{if $display_discount_price}{l s='Price'}{else}{l s='Remise'}{/if}</th>
								<th width=100>{l s='Vous économisez'}</th>
							</tr>

voilà voilà ... j'ai plus qu'a reproduire ça sur la page "panier". Bon, je sais que je dois être en train de faire des bidouillages un peu approximatifs, alors si ce que vous lisez vous dresse les cheveux sur la tête, n'hésitez pas a me reprendre !

Link to comment
Share on other sites

peut être qu'en ajoutant:

 

.page-product-box{

         position: absolute;

         margin: 400px 0 0 -150px;

         border: 1px solid #bebfbf;

         padding: 5px;

         background-color: #e2e2e2;

         width: 400px

}

 

ce serait plus clair

Question de goût...

Link to comment
Share on other sites

ah bah voui c'est top !

Merci ...

Pour en revenir a la page "panier", je dois avouer que je ne trouve pas trop ce que je dois mettre et ou ... vous sauriez m'indiquer où se trouve la colonne "remise" sur votre fichier à vous et a quoi elle ressemble ? D'ailleurs, quel fichier ...  shopping-cart.tpl ? order-details.tpl ?

Link to comment
Share on other sites

merci, mais je me trouve bien incapable de trouver quelle colonne concerne les remises. j'ai essayé comme pour le product.tpl de faire une recherche avec "discount" comme mot-clé, mais je ne vois pas ce qui peut manquer, mon fichier a moi a l'air pareil ... je dois rater un truc.

Link to comment
Share on other sites

Salut Eva,

 

Je viens de faire une petite investigation pour savoir où se trouve les données pour l¡affichage du prix barré et de l'ancien prix (old-price)

 

Je pense que ça se trouve dans le fichier cart-summary.js qui est dans Thèmes\tonthème\js

 

je te fais parvenir le mien pour que tu compare. Éventuellement remplace le tien par celui-ci et vois ce que ça donne.

 

 

cart-summary.zip

Link to comment
Share on other sites

Ca marche :P 

Et de ton coté, si tu as besoin d'un petit visuel pour ton site, n'hésite pas a me demander, en remerciements de tes efforts ça me fera plaisir : tu l'auras compris je suis plus a l'aise avec la conception de jolies n'images qu'avec les fichiers .tpl lol !

Link to comment
Share on other sites

C'est vrai que moi je suis une grande adepte des thèmes préconfigurés, car comme tu l'as compris dès qu'on rentre dans les CSS et tpl, j ne suis pas très a l'aise.

Celui de mon site est en démo ici, il coûte 60€, le support technique est pas mal, malgré quelques plantages dont tu as pu voir un exemple.

 

Sinon pour ce site j'ai utilisé le thème Pure que tu peux trouver ici, a 50€.

 

Du coup je ne vais pas pouvoir bcp t'aider sur tout ça, à moins qu'on passe par une voie plus professionnelle (cf www.agencedecom.net)

 

En revanche, si tu veux je peux te bidouiller un petit logo vite fait, ou un visuel pour ton slide d'accueil par exemple :)

 

Et au fait : tu fais aussi des pièces détachées pour les VMC ou juste les chaudières ? (j'ai les filtres a changer sur ma VMC double flux :P )

Link to comment
Share on other sites

Salut,
Je ne fait que gérer le site. donne moi la marque et le modèle de ta VMC et je leur demanderais si ils peuvent avoir les filtres.

Pour le Logo, je ne dos pas non ;) . Je ne mettrais pas de sliders.

Je m'occupe d'autres sites comme celui-ci par exemple (pour ces sites nous avons un designer qui nous fait les visuels) et je touche un peu les tpl et les css, si tu as besoin d'un coup de main, c'est avec plaisir.

Edited by Michel Faure (see edit history)
Link to comment
Share on other sites

ah oui ce site est nettement plus sympa du coté esthétique :)

pour un petit logo je me mets ça dans ma "to-do" list !

 

Et coté VMC, c'est une IDEO 325 Ecowatt RD.

Peux-tu me donner un mail ou un pseudo Skype en MP, on va peut-être arrêter de polluer ce sujet avec des messages privés ;)

 

 

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour a vous,

Dans le bloc quantity discount, j'aimerai rajouter le pourcentage de remise a l'unité exemple mon rendu actuel :

 

Quantité Remise à l'unité Vous économisez 3 1,50 € Jusqu'à 4,50 € 10 2,50 € Jusqu'à 25,00 € 25 3,50 €

Jusqu'à 87,50 €

 

Celui que j'aimerai :

 

Quantité Remise à l'unité Vous économisez 3 1,50 € par pièce (soit 10% de remise) Jusqu'à 4,50 € 10 2,50 € par pièce (soit 15% de remise) Jusqu'à 25,00 € 25 3,50 € par pièce (soit 20% de remise)

Jusqu'à 87,50 €

 

Mon code actuel page product.tpl

{if (isset($quantity_discounts) && count($quantity_discounts) > 0)}
			<!-- quantity discount -->
			<section class="page-product-box">
				<h3 class="page-product-heading">{l s='Volume discounts'}</h3>
				<div id="quantityDiscount">
					<table class="std table-product-discounts">
						<thead>
							<tr>
								<th>{l s='Quantity'}</th>
								<th>{if $display_discount_price}{l s='Price'}{else}{l s='Discount'}{/if}</th>
								<th>{l s='You Save'}</th>
							</tr>
						</thead>
						<tbody>
							{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
							<tr id="quantityDiscount_{$quantity_discount.id_product_attribute}" class="quantityDiscount_{$quantity_discount.id_product_attribute}" data-discount-type="{$quantity_discount.reduction_type}" data-discount="{$quantity_discount.real_value|floatval}" data-discount-quantity="{$quantity_discount.quantity|intval}">
								<td>
									{$quantity_discount.quantity|intval}
								</td>
								<td>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{if $display_discount_price}
											{if $quantity_discount.reduction_tax == 0 && !$quantity_discount.price}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction_with_tax)|floatval}
											{else}
												{convertPrice price=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
											{/if}
										{else}
											{convertPrice price=$quantity_discount.real_value|floatval}
										{/if}
									{else}
										{if $display_discount_price}
											{if $quantity_discount.reduction_tax == 0}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction_with_tax)|floatval}
											{else}
												{convertPrice price = $productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
											{/if}
										{else}
											{$quantity_discount.real_value|floatval}%
										{/if}
									{/if}
								</td>
								<td>
									<span>{l s='Up to'}</span>
									{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
										{$discountPrice=$productPriceWithoutReduction|floatval-$quantity_discount.real_value|floatval}
									{else}
										{$discountPrice=$productPriceWithoutReduction|floatval-($productPriceWithoutReduction*$quantity_discount.reduction)|floatval}
									{/if}
									{$discountPrice=$discountPrice * $quantity_discount.quantity}
									{$qtyProductPrice=$productPriceWithoutReduction|floatval * $quantity_discount.quantity}
									{convertPrice price=$qtyProductPrice - $discountPrice}
								</td>
							</tr>
							{/foreach}
						</tbody>
					</table>
				</div>
			</section>
		{/if}
		{if isset($features) && $features}
			<!-- Data sheet -->
			<section class="page-product-box">
				<h3 class="page-product-heading">{l s='Data sheet'}</h3>
				<table class="table-data-sheet">
					{foreach from=$features item=feature}
					<tr class="{cycle values="odd,even"}">
						{if isset($feature.value)}
						<td>{$feature.name|escape:'html':'UTF-8'}</td>
						<td>{$feature.value|escape:'html':'UTF-8'}</td>
						{/if}
					</tr>
					{/foreach}
				</table>
			</section>

c'est celui par defaut boostrap theme en faite.

 

merci d'avance pour votre aide :)

Link to comment
Share on other sites

Salut Dsacy,

 

Quantité Remise à l'unité Vous économisez 3 1,50 € par pièce (soit 10% de remise) Jusqu'à 4,50 € 10 2,50 € par pièce (soit 15% de remise) Jusqu'à 25,00 € 25 3,50 € par pièce (soit 20% de remise)

Jusqu'à 87,50 €

Perso je ne trouve pas ça très clair comme explication. (simple avis personnel)

As tu un lien vers ton site?

Link to comment
Share on other sites

c'est toujours 10%?
 
tu ajoutes dans pruduct.tpl:
après la ligne 428 (tu peux remplacer "ECONOMY PAR "SOIT UNE REMISE DE"
<tr>
<th>{l s='Quantity'}</th>
<th>{if $display_discount_price}{l s='Price'}{else}{l s='Discount'}{/if}</th>
<th>{l s='You Save'}</th>
 
<!-- AJOUTÉ D'ICI (peut se traduire vais le BO-->
<th>{l s='ECONOMY'}</th>
<!-- À LÀ -->
 
et après la ligne 467 

<td>
 
<span>{l s='Up to'}</span>
{if $quantity_discount.price >= 0 || $quantity_discount.reduction_type == 'amount'}
{$discountPrice=$productPrice-$quantity_discount.real_value|floatval}
{else}
{$discountPrice=$productPrice-($productPrice*$quantity_discount.reduction)|floatval}
{/if}
{$discountPrice=$discountPrice*$quantity_discount.quantity}
{$qtyProductPrice = $productPrice*$quantity_discount.quantity}
{convertPrice price=$qtyProductPrice-$discountPrice}
</td>
<!-- AJOUTÉ D'ICI-->
<td>
{$quantity_discount.real_value|floatval}%
</td>
<!-- À LÀ -->

Ça devrait afficher une colonne en plus avec en titre "ECONOMY" (traduisible en bo) et dessous le pourcentage de la remise.
Edited by Michel Faure (see edit history)
Link to comment
Share on other sites

ah bah voui c'est top !

Merci ...

Pour en revenir a la page "panier", je dois avouer que je ne trouve pas trop ce que je dois mettre et ou ... vous sauriez m'indiquer où se trouve la colonne "remise" sur votre fichier à vous et a quoi elle ressemble ? D'ailleurs, quel fichier ...  shopping-cart.tpl ? order-details.tpl ?

Tu devrait Modifier le fichier style.min.css de ton thème 

margin: 85px;

Cela évite que le module paymentlogo ne chevauche le bloc des remises:

http://directpoissons.com/fr/discus-allemand-stendker-/1148-promotion-discus-assortis-05-cm.html

Edited by Michel Faure (see edit history)
Link to comment
Share on other sites

Bon, je n'ai pas réussi a m'y retrouver dans la feuille CSS (je suis un boulet). En revanche, j'ai la possibilité de customiser le CSS via le BO, et j'ai réussi a décaler le tableau des prix. Pour l'aspect du tableau, bof-bof mais au moins les infos sont là :P

Link to comment
Share on other sites

Si tu n'y parviens pas je t’enverrais le fichier en mp

 

Voici ce que ça donne chez moi en local:

salut et merci d'avoir regardé,

a priori les lignes cité corresponde pas pour placer ton code.

 

si je t'envoi mon fichier product.tpl, peu tu me le modifier en y integrant ton bout de code stp ?

 

merci par avance

 

PS: je t'envoi mon mail et le fichier par MP

Link to comment
Share on other sites

salut et merci d'avoir regardé,

a priori les lignes cité corresponde pas pour placer ton code.

 

si je t'envoi mon fichier product.tpl, peu tu me le modifier en y integrant ton bout de code stp ?

 

merci par avance

 

PS: je t'envoi mon mail et le fichier par MP

 

Oui biensur

Link to comment
Share on other sites

Salut ! 

Je revient sur mon problème de réduction sur les quantités qui ne s'affiche pas sur la page du panier.

J'ai fait un petit test, et quand je réactive le thème par défaut, miracle ! La réduction s'affiche ! Comment faire pour "récupérer" cet affichage et le "coller" sur mon thème à moi ?

Parce que non seulement cette histoire de réduction sur les quantités est un peu embêtant, mais j'ai un plus gros probleme que je n'avais pas vu jusqu'a maintenant : quand on rentre un bon de réduction, il est bien pris en compte mais lui non plus n'apparait pas dans le panier. Resultat, puisqu'on ne le voit pas on ne peut pas le supprimer et ça c'est vraiment un souci ! je suppose que ces deux problemes sont liés.

 

Merki

Link to comment
Share on other sites

Re !

Alors alors, tu trouveras en PJ les deux copies d'écrans. 

J'ai tenté de remplacer le fichier cart-summary.js : nada.

j'ai également tenté de remplacer le shopping-cart.tpl par celui du theme par defaut, je retrouve la mise en page par défaut, mais les bons de réduc ne s'affichent pas plus.

La vérité est ailleurs :P

post-720070-0-60742700-1457530311_thumb.jpg

post-720070-0-20316000-1457530313_thumb.jpg

Link to comment
Share on other sites

Yayyy ! Bon, méga point positif : ça s'affiche enfin ! 

bon, c'est moche comme tout, mais ça s'affiche :) Merci tout plein !

Un ptit coup de main pour m'aider à réduire la taille de la police d'écriture des prix unitaires + réducs, et peut-^tre faire en sorte que le prix d'origine apparaisse comme barré ?

 

merkiii !

Link to comment
Share on other sites

C'est la page panier, tout simplement :

http://directpoissons.com/fr/order

 

Pour rappel les %ages de réductions sont apparus après avoir remplacé le fichier shopping-cart-product-line.tpl de mon thème par celui par défaut, selon tes bons conseils :)

 

une petite capture d'écran en PJ pour que tu voies ce que ça donne avec un article comportant un bon de réduction sur la quantité ...

 

les soucis de mise en page  :

- les prix unitaires trop gros

- le prix d'origine non barré + les puces devant le %age de réduc + l'ancien prix

- la colone de description trop étroite (et d'ailleurs si je pouvais virer l'unité de gestion des stocks, ce serait pas mal) 

 

Autre souci majeur :

 

j'ai appliqué un bon de reduction pour test, qui s'applique bien, mais comme tu le vois impossible de changer d'avis et de le supprimer du panier : une fois qu'il est rentré il n'y a plus rien a faire, c'est bien embêtant :/ ... peut-être que cette action est gérée par un autre tpl ?

 

merciii !

post-720070-0-90422800-1457686459_thumb.jpg

Link to comment
Share on other sites

Il faut remettre en page tout le tableau avec les css ou essayer d'ajouter le code du shopping-cat-product-line.tpl qui fonctionne a ton fichier.
Si tu m'envois par mail les deux fichiers je peux essayer de le faire mais je ne sais pas si j'aurais le temps aujourd'hui.
Les boutons pour retirer ou ajouter des produits y sont mais tout petit et pourris.

Edited by Michel Faure (see edit history)
Link to comment
Share on other sites

re !

déjà merci de t'y pencher, pour le délai je ne vais quand même pas me permettre d'être regardante :)

Alors, en pj : 

la version "shopping-cart-product-line-old" = celle d'origine de mon thème custom

la version "shopping-cart-product-line" = celle du thème presta par défaut qui est actuellement en ligne sur mon site

la feuille CSS

 

Merciii !

shopping-cart-product-line-old.txt

shopping-cart-product-line.txt

style.min.css

Link to comment
Share on other sites

merci tout plein :)

Salut,

j'ai profité de ce jour tranquille pour regarder ton problème.

Ton css doit faire parti d'un thème spécifique et je ne peux pas vraiment le modifier car je n'ai pas ce thème.

Il y a juste que des petits trucs de mise en place des éléments et barrer l'ancien prix que je peux faire en local, mais c'est un peu compliqué de l'appliquer sur ton css car certains élément sont à modifier dans d'autres fichiers.

A partir du fichier que tu as mis sur ton thème, je crois que les concepteurs du thème peuvent te faire les petites modifications pour barrer le prix, et mettre en place tous les éléments. (car tout y est: quantité, ancien prix et même les boutons pour ajouter ou supprimer les produits.)

Edited by Michel Faure (see edit history)
Link to comment
Share on other sites

Oh la la c'est un peu le désespoir ici ... Depuis que j'ai remplacé le shopping cart-product-line.tpl, mes petits boutons de raccourcis sur les listings de produits (ajouter au panier , aux coups de coeur, au comparateur) fonctionnent, mais il n'y a plus de popup pour dire que l'action a bien été effectuée. pas très intuitif.

En fait pour résumer, presque tout fonctionne (sauf les bons de réduction impossibles a supprimer une fois ajoutés au panier) mais l'interface graphique est toute pourrite.

je contacte le développeur pour voir s'il peut m'aider, mais il n'est pas très réactif ;P

Link to comment
Share on other sites

Hello !

Le développeur m'a fait un petit patch, mise en page top ! 

 

Bon, tjs le probleme du bon de réduction qu'on ne peut pas enlever une fois mis en place, mais on commence a voir le bout du tunnel :)

Je pense que je vais créer un nouveau topic juste pour ce problème.

 

Merci pour tout :)

Link to comment
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
×
×
  • Create New...