Jump to content

[Résolu] Amélioration du module prix dégressifs par quantité


Recommended Posts

Actuellement avec PS 1.1 l'affichage des prix dégressifs par quantité n'est pas satisfaisant:

- Il ne permet pas l'affichage par PRIX UNITAIRE par tranche de quantité

- L'affichage des tranches de quantité n'est pas satisfaisant non plus.
3 quantités...... au lien de: 1 à 4, 4 à 10 , etc

Link to comment
Share on other sites

il va vraiment falloir que je me penche sérieusement sur le code de Presta, pour pouvoir gérer moi-même ce genre de problèmes.
Mais bon, j'ai jamais fait d'orienté objet, alors je misère un maximum ! Moi je connais le PHP simple...

J'espère vraiment que quelqu'un pourra faire cette modif.

A vot' bon coeur, M'ssieurs-dâmes !

Link to comment
Share on other sites

La modif, elle doit se faire côté site et/ou côté admin ?


Je pense que côté FO ça doit etre suffisant.
Dans le BO, tout est déjà indiqué.

Faut juste afficher en FO des fourchettes lisibles (ex: [1-5], [6-10], [11-20]...) et le prix que ça donne avec la réduc.
Après, je pense qu'on peut tous se débrouiller pour la mise en forme avec du HTML/CSS dans les TPL.
Link to comment
Share on other sites

Donc pour ceux qui souhaite modifier cet affichage afin qu'il soit un petit peu plus adapté,

Éditez le template product.tpl se trouvant dans votre dossier theme.

Rendez-vous ensuite à la ligne 259 et remplacez ce code :

{$quantity_discount.quantity|intval} 
               {if $quantity_discount.quantity|intval > 1}
                   {l s='quantities'}
               {else}
                   {l s='quantity'}
               {/if}

               {if $quantity_discount.id_discount_type|intval == 1}
                   -{$quantity_discount.value|floatval}%
               {else}
                   -{convertPrice price=$quantity_discount.value|floatval}
               {/if}



par :

{l s='Quantity'}{l s='from'} 1 {l s='to'}
               {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}                        
               {$quantity_discount.quantity-1|intval}                
{l s='from'} {$quantity_discount.quantity|intval} {l s='to'}
               {/foreach}
               ∞
{l s='Price'}{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
               {if $quantity_discount.id_discount_type|intval == 1}
                   -{$quantity_discount.value|floatval}%
               {else}
                   {convertPrice price=$quantity_discount.value-$product->getPrice(true, $smarty.const.NULL, 2)|floatval}
               {/if}



N.B. : Pour l'instant j'apprends à utiliser prestashop et quand je serait prêt, j'aiderais la team à avancer.

Merci de tester et de me dire si cela vous convient.

J'ai un seul problème, si le tarif change dès le deuxième produit, cela affiche "de 1 à 1".

Si quelqu'un trouve une solution pour palier à ce problème, ce serait génial.

En ce qui concerne les remises en pourcentage, souhaiteriez vous que cela affiche directement le prix après remise ?

Link to comment
Share on other sites

Fantastique ! Je vais tester ça au plus vite !


En ce qui concerne les remises en pourcentage, souhaiteriez vous que cela affiche directement le prix après remise ?


Sans avoir testé, je réponds déjà "oui". Pour une réduction forfaitaire, ou pour un pourcentage, le problème est le meme: le client doit pouvoir voir immédiatement le prix unitaire que ça fait.

Merci pour l'intéret porté au problème !

Véri goude niouze, comme dirait V.I.P. ! ;-P
Link to comment
Share on other sites

Je viens de tester.

Déjà, j'ai du remplacer tous tes “ par des ", et tous tes ‘ et ’ par des ' sinon, ça n'affichait que les colonnes sans le corps de la page.

Il faut aussi remplacer le ∞ par un & infin; (sans l'espace) sinon ça affiche un 8.

Et bien c'est un très bon début !
Au moins maintenant, on a des tranches cohérentes !
Bravo à toi !

Reste le plus critique: une 3ème ligne avec le prix recalculé pour chaque tranche.

Encore merci !

Voici ton code avec les petites modifs dont je parle plus haut:

{l s='Quantity'}{l s='from'} 1 {l s='to'} {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'} {$quantity_discount.quantity-1|intval} {l s='from'} {$quantity_discount.quantity|intval} {l s='to'} {/foreach} ∞ {l s='Price'}{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}  {if $quantity_discount.id_discount_type|intval == 1} -{$quantity_discount.value|floatval}% {else} {convertPrice price=$quantity_discount.value-$product->getPrice(true, $smarty.const.NULL, 2)|floatval} {/if} 

Link to comment
Share on other sites

Salut joyvil, je croyais avoir été clair en disant que lorsqu'il s'agit de pourcentage, j'avais laissé les pourcentages.

En fait, j'éprouve quelque soucis pour parvenir à afficher les prix.

Maintenant que j'ai modifié le code, j'y suis parvenu. Je remercie la team de m'avoir fourni des infos dont j'avais besoin.

Voici le nouveau code à insérer :

{l s='Quantity'}{l s='from'} 1 {l s='to'}
               {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}                        
               {$quantity_discount.quantity-1|intval}                
{l s='from'} {$quantity_discount.quantity|intval} {l s='to'}
               {/foreach}
               ∞
{l s='Price'}{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}
               {if $quantity_discount.id_discount_type|intval == 1}
                   {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
                   {convertPrice price=$prixProduct-$prixProduct*$quantity_discount.value/100|floatval}
               {else}
                   {convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)-$quantity_discount.value|floatval}
               {/if}



J'espère que cela va vous aller.

J'allais oublier, pour les petites traductions, c'est dans le Back Office, via le module de traduction.

Link to comment
Share on other sites

Ce n'est pas un module mais juste une amélioration de script.

C'est maintenant à la team de juger si cette modification est nécessaire pour prestashop car en France il est certain que c'est ce qu'il y a de mieux par contre, pour l'étranger, je n'en sais strictement rien. Il ne faut pas oublier que prestashop a été conçu pour être utilisé dans toutes les langues.

Link to comment
Share on other sites

ça y est j'ai trouvé,

voici la rectification finale :

{l s='Quantity'}{l s='for'}
                   {else}
{l s='from'} 1 {l s='to'}
                   {/if}
               {/if}
               {$quantity_discount.quantity-1|intval}
               {assign var='prodNb' value=$prodNb+1}                    
{l s='from'} {$quantity_discount.quantity|intval} {l s='to'}
               {/foreach}
               ∞
{l s='Price'}{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}

               {if $quantity_discount.id_discount_type|intval == 1}
                   {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
                   {convertPrice price=$prixProduct-$prixProduct*$quantity_discount.value/100|floatval}
               {else}
                   {convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)-$quantity_discount.value|floatval}
               {/if}


Link to comment
Share on other sites

Il est vrai qu'on pourrait le faire passe par le dictionnaire.

Voici ce qu'il faut mettre :

{l s='Quantity'}{l s='for'}
                   {else}
{l s='from'} 1 {l s='to'}
                   {/if}
               {/if}
               {$quantity_discount.quantity-1|intval}
               {assign var='prodNb' value=$prodNb+1}                    
{l s='from'} {$quantity_discount.quantity|intval} {l s='to'}
               {/foreach}
               {l s='∞'}
{l s='Price'}{convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)}

               {if $quantity_discount.id_discount_type|intval == 1}
                   {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
                   {convertPrice price=$prixProduct-$prixProduct*$quantity_discount.value/100|floatval}
               {else}
                   {convertPrice price=$product->getPrice(true, $smarty.const.NULL, 2)-$quantity_discount.value|floatval}
               {/if}


 

Link to comment
Share on other sites

tiens ? ça ne marche pas chez moi. j'obtiens :

Fatal error: Smarty error: [in /home/mydecosh/public_html/design/themes/deco6/product.tpl line 366]: syntax error: mismatched tag {/if}. (Smarty_Compiler.class.php, line 2303) in /home/mydecosh/public_html/design/tools/smarty/Smarty.class.php on line 1095

je suis sur la SVN - c'est lié ? qu'est-ce qui cloche à votre avis ?

EDIT : la fatigue... mal collé.

sinon, pour traduire ces textes, je fais comment ? via le back office ?

re-EDIT : désolé pour le dérangement - avant de poster, je regarderais la prochaine fois. via le BO, c'est nickel. un vrai pro Myriss.

Link to comment
Share on other sites

Bonjour,

je vends du textile,j ai donc plusieurs tailles par modèle ,le problème est que le prix dégressif marche, mais que par taille,j aurai souhaiter que ce soit par référence (par modèles).
exemple:
Mes prix dégressifs sont:
10 articles = 5%
20 articles = 10%
J aurai aimer que ce soit peut importe la taille.
Si quelqu'un connais la solution,cela complèterai sujet des prix dégressifs.
Merci

Link to comment
Share on other sites

je l'ai installé génial et merci à vous.

Par contre je l'ai en Anglishe comment le mettre en français - je ne trouve pas dans "preferences" "outils" traduction". :-S

merci d'avance

EDIT : c'est bon j'ai trouvé - désolé - quel truffe
et pan sur les doigts :down:

Link to comment
Share on other sites

  • 1 month later...

Merci Myriss, ça marche du tonerre de Brest ! BRAVO
Tu crois qu'il y a une solution possible pour adapter ça directement en dessous du prix du produit dans la fiche ?
Je m'explique : je vends des bidons à l'unité ou en carton et j'aimerais que lorsqu'il s'agit de cartons de 6 le prix à l'unité apparaisse, bien plus vendeur. Aujourd'hui je me suis fait un attribut qui ne me permet pas ça. Mais peut-être qu'en bidouillant cette solution ?????? Qu'en penses tu ?

MERCI encore

Link to comment
Share on other sites

Salut Patrick
A priori il y a 2 solutions. Soit dans les traductions des modules en BO. Soit à la hussarde dans le fichier .tpl tu remplaces les mots dans le code à chaque fois que tu as un {l s='motenanglais'} par {l s='mot en français'}.
Mais du coup gare aux update puisque les traductions ne sont plus dans ton fichier traduction export !
a+

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

est-il possible d'appliquer des prix degressifs sur l'ensemble du site et non pas sur un article en particulier ?

Par exemple à partir de 50 article quel que soit la catégorie appliquer 10% de remise, à partir de 100 15%, etc ...

Link to comment
Share on other sites

Excuses moi ! en fait tu n'auras pas exactement des tranches de prix mais tu peux faire un bon de réduction (dans back office > paiement) jusqua 200 €, 1 jusqu'a 400. Tu auras 2 possibilités
creer pour chaque "tranche" une petite reduction cumulable (exemple bon d'achat de 5 euros pour 200 euros)
creer un bon adapté à chaque tranche avec une réduction différente mais plus avantageuse non cumulable (5% pour 500 euros, 7% pour 1000 euros…)
Bonne continuation

Link to comment
Share on other sites

  • 4 weeks later...

Hello,

C'est une super idée ce système, mais je ne peux pas l'utiliser parce que pour 80% de mes produits il y a des attributs (déclinaisons) avec incidence sur le prix, et l'affichage que vous proposez n'est pas dynamique donc il n'en tient pas compte après sélection d'un attribut "payant" :-/

Autre détail (mais j'aurais surement pu trouver) : ça me vire le titre "PRIX DEGRESSIFS"

Alek.

Link to comment
Share on other sites

On a cherché à faire cette modif parce que le module de Prestashop ne convenait pas, les modifs se font dans le tpl. Pour quelque chose de mieux il faut voir si le module a été amélioré pour la V1.2 sinon voir le feature request pour proposer une amélioration.

Link to comment
Share on other sites

Non mais je vais laisser comme ça, je testais juste parce que l'idée est bonne, j'avais pas pensé aux déclinaisons payantes :o

J'ai déjà fait 47 modifs sur la 1.1.0.5, pas question pour moi d'installer la 1.2 avant 6 mois (si je continue avec PS), c'est beaucoup trop de taf pour, au final, se battre avec des nouveaux bugs ^^
Je ne critique pas les bugs, j'en trouve encore dans mes logiciels de 2005 et 2006 :s, mais pour une boutique je ne peux plus me permettre de squatter le code php au lieu de travailler :D

Link to comment
Share on other sites

Bonjour,
J'utilise ps1.1 je vois qu'il y a eu beaucoup de correction pour ce module.
es ce que quelqu'un pourrait joindre le(s) fichier(s) modifié(s) et/ou faire une synthèse de toutes les modifs à faire?

On est bien d'accord que ce module sert pour les prix dégressifs soit:
De 2 à 10 articles 5%
De 11 à 20articles 10% ....

Mais je ne comprends pas le lien avec les bons de réductions comme mentionné plus haut.
Merci

Link to comment
Share on other sites

  • 1 month later...

Bonjour
En suivant le fil concernant l'affichage des prix dégressif, j'ai pu avec les manips proposées mettre en place une grille lisible de prix dégressifs. mais mon site affiche des prix Ht (option de la 1.2). Malheureusement les modifs proposées affichent le prix TTC. Quelqu'un peut-il me dire quelle variable doit être appelée pour affiche le prix HT.
Merci d'avance

Link to comment
Share on other sites

Bonjour
En suivant le fil concernant l'affichage des prix dégressif, j'ai pu avec les manips proposées mettre en place une grille lisible de prix dégressifs. mais mon site affiche des prix Ht (option de la 1.2). Malheureusement les modifs proposées affichent le prix TTC. Quelqu'un peut-il me dire quelle variable doit être appelée pour affiche le prix HT.
Merci d'avance


BOuhhh toujours pas d'idée :snake: :snake:
Les vacances, c'est terrible...
Merci d'avance en tous cas.
Axel
Link to comment
Share on other sites

  • 2 weeks later...
Bonjour
En suivant le fil concernant l'affichage des prix dégressif, j'ai pu avec les manips proposées mettre en place une grille lisible de prix dégressifs. mais mon site affiche des prix Ht (option de la 1.2). Malheureusement les modifs proposées affichent le prix TTC. Quelqu'un peut-il me dire quelle variable doit être appelée pour affiche le prix HT.
Merci d'avance


BOuhhh toujours pas d'idée :snake: :snake:
Les vacances, c'est terrible...
Merci d'avance en tous cas.
Axel


Bon, apparemment les vacances durent, mais durent...
Si quelqu'un à une idée, sachant qu'en plus, les calculs sont faux au final...
un exemple : prix dégressif calculé TTC 0,49 € donc en HT cela devrait faire 0,41. Mais non, PS lui décide que cela 0,40. Il mange une décimal (la troisieme pour être précis). Si un gentil codeur peut me mettre sur la piste de la solution, merci d'avance.
Link to comment
Share on other sites

  • 4 weeks later...

Bonjour as tu bien mis le trait au dessus du A Capital, le mieux est de copier directement ceci " é "(sans les guillemets bien sûr) et de de le coller juste après le t ou copier intégralement ceci " Quantité "et le coller à la place de quantity

ou encore le plus simple remplacer ton fichier product.tpl par celui du fichier zip joint.

J'utilise la version de prestashop du mois d'aout 2009 et cela marche chez-moi voir image jointe.

Merci de me dire si tu as réussi !

11996_VPRMB1PG4GOXlKutSRbG_t

product.zip

Link to comment
Share on other sites

  • 2 months later...

bonjour, cette fonction m'interresse bcp, aussi j'ai télécharger le fichier product.zip et apres je fais quoi, dans ce zip j'ai juste un fichier .tpl, je suis nouveau ici et souhaite savoir ou l'installer et comment le faire fonctionner, merci par avance a vous
jack

Link to comment
Share on other sites

Salut Jean-Bruno
J'ai suivi tes indications sur les prix dégressifs, pour faire "par tranche", via les bons de réductions:
Petite question : tu doit rentrer un Code de réduction, comment communiquer ce code au client ? Est-ce que cela reste pratique à l'utilisation (client).
Je vends des Cd sur une boutique et j'aimerai faire un prix dégréssif sur la totalité de la commande (pour un certain nombre de Cd) c'est visiblement la seule solution ?


Désolé du retard
Oui cela est relativement simple puisque les codes sont généré automatiquement depuis ton Backoffice
et qu'ils se retrouvent dans la rubrique "mon compte". Mais tu ne pourras pas choisir de faire un code pour un nombre de cd. Seulement pour une somme atteinte.

Bonne journée
Link to comment
Share on other sites

bonjour,

je suis sur un serveur local pour ne pas faire de "connerie", j'ai été dans theme , est renommé l'ancien product.tpl en ajoutant old, et ai mis le nouveau product.tpl, mais apres dans mon admin, je ne sais pas ou allez rentrer les prix et les quantité en fonction, je suis un peu perdu !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

merci

Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...
  • 3 weeks later...
  • 5 weeks later...

ça marche très bien en 1.2.5

je voudrai juste savoir comment fait-on pour avoir un joli trait entre la ligne "Quantité" et la ligne "Prix" ?

comme vu sur le post #66 de Bgiv

merci

Eric

Link to comment
Share on other sites

  • 4 months later...
  • 2 months later...
je l'ai installé génial et merci à vous.

Par contre je l'ai en Anglishe comment le mettre en français - je ne trouve pas dans "preferences" "outils" traduction". :-S

merci d'avance

EDIT : c'est bon j'ai trouvé - désolé - quel truffe
et pan sur les doigts :down:


J'aimerai bien que tu expliques comment tu as fait... Car moi je n'ai pas trouvé...

EDIT : Au temps pour moi, c'est dans les traductions FO.
Link to comment
Share on other sites

  • 3 months later...

Bonjour,

Merci pour le script, mais il y a un petit problème au niveau du fonctionnement chez moi, je ne sais pas si quelqu'un d'autre à le cas:
Je crée un prix dégressif pour un produit ( ex 17.65€) partir de 50 exemplaires et un autre à partir de 100 (15.85€).
Seulement le prix change à chaque pallié franchis, ce qui n'est pas un problème, sauf qu'arrivé à 150 pièces il m'ajoute un tarif degressif sans que je lui demande j'arrive à un prix de 14,50 € et pour 200 j'ai 12,70 € .

Quelqu'un a eu le même problème ou c'est juste moi ,

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

@Raphael2010 :
Voilà je suis pas encore un expert PS mais j'ai adapté en quelques secondes le code pour un TPL 1.4 :

>
</pre>
<table>
                   {l s='quantity'}

                   {l s='Price'}

                           {$quantity_discount.quantity|intval}

                           {if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}
                               {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
                   {convertPrice price=$prixProduct-$quantity_discount.real_value|floatval} ({l s='share'} {convertPrice price=$quantity_discount.real_value|floatval})
                           {else}
                               {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
                               {convertPrice price=$prixProduct-($quantity_discount.real_value*$prixProduct/100)|floatval} ({l s='share'} {$quantity_discount.real_value|floatval}%)
                           {/if}
</table>



EDIT : a savoir que cela fonctionne chez moi ;) Par contre c'est adapté à mes besoins, je n'ai pas gardé exactement la même mise en forme que précédemment (notammentl'affichage horizontal qui chez moi est vertical).

Link to comment
Share on other sites

  • 8 months later...

@Raphael2010 :

Voilà je suis pas encore un expert PS mais j'ai adapté en quelques secondes le code pour un TPL 1.4 :







			{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}




			{/foreach}


			{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}

			{/foreach}


								{l s='quantity'}

								{l s='Price'}

										{$quantity_discount.quantity|intval}

										{if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}
											{assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
								{convertPrice price=$prixProduct-$quantity_discount.real_value|floatval} ({l s='share'} {convertPrice price=$quantity_discount.real_value|floatval})
										{else}
											{assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
											{convertPrice price=$prixProduct-($quantity_discount.real_value*$prixProduct/100)|floatval} ({l s='share'} {$quantity_discount.real_value|floatval}%)
										{/if}


 

EDIT : a savoir que cela fonctionne chez moi ;) Par contre c'est adapté à mes besoins, je n'ai pas gardé exactement la même mise en forme que précédemment (notammentl'affichage horizontal qui chez moi est vertical).

 

Bonjour Quel quun pourrait me dire comment faire pour la version 1.4.6 ? car j ai essaye de mettre le code mais ce la ne fonctionne pas il ne m affiche qu un seul prix degressif alors que pour le produit j en ai 6 ;.

Link to comment
Share on other sites

  • 1 month later...

Je mets mon adaptation du code qui devrait convenir à tout un chacun :

 

{if $quantity_discounts}
<!-- quantity discount -->
<ul class="idTabs">
<li><a style="cursor: pointer" class="selected">{l s='Quantity discount'}</a></li>
</ul>
<div id="quantityDiscount">
<table class="std">
 <tr>
{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
<th>
			   {l s='Dès'} {$quantity_discount.quantity|intval} {l s='quantities'}</th>
{/foreach}
</tr>
<tr>
{foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
					   <td> {if $quantity_discount.price != 0 OR $quantity_discount.reduction_type == 'amount'}
						    {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
			    {convertPrice price=$prixProduct-$quantity_discount.real_value|floatval} ({l s='réduction de'} {convertPrice price=$quantity_discount.real_value|floatval})
					    {else}
						    {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
						    {convertPrice price=$prixProduct-($quantity_discount.real_value*$prixProduct/100)|floatval} ({l s='réduction de'} {$quantity_discount.real_value|floatval}%)
					    {/if} </td>
{/foreach}
 </tr>
</table>
</div>
{/if}

Link to comment
Share on other sites

  • 9 months later...

 <thead>
	    <tr>
		    <th>{l s='product'}</th>
		    <th>{l s='from (qty)'}</th>
		    <th>{l s='to'}</th>
		    <th>{l s='discount'}</th>
		    <th>{l s='Price'}</th>
	    </tr>
    </thead>
 <tbody>
	    {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
	    <tr id="quantityDiscount_{$quantity_discount.id_product_attribute}">
		    <td>
			    {if (isset($quantity_discount.attributes) && ($quantity_discount.attributes))}
				    {$product->getProductName($quantity_discount.id_product, $quantity_discount.id_product_attribute)}
			    {else}
				    {$product->getProductName($quantity_discount.id_product)}
			    {/if}
		    </td>
		    <td>


		   {$quantity_discount.quantity|intval}



		    </td>
			 <td>


	   {assign var='prodNb' value=0}
		    {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}					   
		    {if $prodNb==0}
			    {if $quantity_discount.quantity==2}


		    {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
		    {/foreach}

{l s='Quantity'} {l s='for'}
			    {else}
				 {l s='from'} 1 {l s='to'}
			    {/if}
		    {/if}
		    {$quantity_discount.quantity-1|intval}
		    {assign var='prodNb' value=$prodNb+1}				   
			 {l s='from'} {$quantity_discount.quantity|intval} {l s='to'}
		    {/foreach}
		    ∞

		    </td>
		    <td>
			    {if $quantity_discount.price >= 0 OR $quantity_discount.reduction_type == 'amount'}
				   -{convertPrice price=$quantity_discount.real_value|floatval}
			   {else}
				   -{$quantity_discount.real_value|floatval}%
			   {/if}
		    </td>
		    <td>

			    {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
			    {convertPrice price=$prixProduct-$prixProduct*$quantity_discount.real_value/100|floatval} <!-- calcule du prix unitaire -->

		    </td>
	    </tr>
	    {/foreach}

 

 

 

Bonjour, voici mon probleme, j'ais la template wareshouse et voici comment le fichier product.tpl est dispose, j'ais bidouille un peu et pour les prix unitaire cela a marche, cependant je rencontre un gros probleme lorsques je met la partit quantite, premirement la quantite ne fonctionne pas de plus il recopi toute les case du tableau.

 

quelq'un peu regarder ce qui ne va pas svp

post-438443-0-17815400-1355238881_thumb.png

Link to comment
Share on other sites

  • 1 year later...

Bonjour,

merci pour votre code:

ci -joint la mise à jour du code pour 1.5.6.1 :

<!-- quantity discount -->
<ul class="idTabs clearfix">
	<li><a href="#discount" style="cursor: pointer" class="selected">{l s='Sliding scale pricing'}</a></li>
</ul>
<div id="quantityDiscount">
	<table class="std">
        <thead>
            <tr>
                <th>{l s='Product'}</th>
                <th>{l s='From (qty)'}</th>
               <th>{l s='Discount'}</th> 
                <th>{l s='Prix Unitaire'}</th>
            </tr>
        </thead>
		<tbody>
            {foreach from=$quantity_discounts item='quantity_discount' name='quantity_discounts'}
            <tr id="quantityDiscount_{$quantity_discount.id_product_attribute}">
                <td>
                    {if (isset($quantity_discount.attributes) && ($quantity_discount.attributes))}
                        {$product->getProductName($quantity_discount.id_product, $quantity_discount.id_product_attribute)}
                    {else}
                        {$product->getProductName($quantity_discount.id_product)}
                    {/if}
                </td>
                <td>{$quantity_discount.quantity|intval}</td>
                <td>
                    {if $quantity_discount.price >= 0 OR $quantity_discount.reduction_type == 'amount'}
                       -{convertPrice price=$quantity_discount.real_value|floatval}
                   {else}
                       -{$quantity_discount.real_value|floatval}%
                   {/if}
                </td>
                
                 <td>
                {if $priceDisplay >= 0 && $priceDisplay <= 2}
                {if $tax_enabled  && ((isset($display_tax_label) && $display_tax_label == 1) OR !isset($display_tax_label))}   
                {if $quantity_discount.price >= 0 OR $quantity_discount.reduction_type == 'amount'}  
                    {convertPrice price=$productPrice-$quantity_discount.real_value|floatval}				     <!-- calcule du prix unitaire -->
                    {if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
                 {else}      
			        {convertPrice price=$productPrice-$productPrice*$quantity_discount.real_value/100|floatval} <!-- calcule du prix unitaire % -->  
			        
						{if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if}
					{/if}
				  {/if}
				{/if}	
			    </td>
			    
            </tr>
            {/foreach}
        </tbody>
	</table>
</div>
{/if}

Voir le résultat ICI

Link to comment
Share on other sites

  • 1 year later...

Yop, Bonsoir la foule.

 

Désolé de déterrer le post, mais j'ai un petit soucis avec le dernier code sur la version 1.6.X.

 

Le montant de la réduction ne s'affiche pas, j'obtiens quelque chose dans le style : Jusqu'à NaN,00 €

 

Je pense que c'est un problème de nom, mais je ne sais pas exactement lequel.

 

Quelqu'un aurai déjà cette info?

 

Merci

 

Enfaite, j'ai essayé de modifier ce code pour l'adapter vers le nouveau code. mais j'ai un probleme pour récuperer les data-discount des attributs. et les mettre dans le tableau.

 

Quelqu'un a une idée?

 

Merci

Edited by lescrocs (see edit history)
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...