Jump to content

[Astuce] Prix dégressif : inverser l'ordre d'affichage et afficher en HT ou TTC


Recommended Posts

Salut à tous !

 

Voici juste une petite synthèse entre 2 problématiques qui touche l'affichage des prix dégressif dans product.tpl

 

Avec ce code (valable pour une version 1.4.8.2. ) vous allez afficher les prix dégressif dans un ordre plus logique (du + petit au +grand) en TTC ou en HT selon le groupe auquel appartient le client (on estime qu'il y a un groupe par défaut en TTC et un groupe pro où les prix sont affichés en hors-taxes.)

 

Ma réduction est le nouveau prix produit HT, je n'ai pas touché au code pour les réduc en % ou en montant...

 

{if $quantity_discounts}
<ul class="idTabs">
<li><a style="cursor: pointer" class="selected">{l s='Quantity discount'}</a></li>
</ul>
<div id="quantityDiscount">
<table class="std">
 <tr>
  {section name=quantity_discount loop=$quantity_discounts step=-1}
<th>Pour {$quantity_discounts[quantity_discount].quantity|intval}
{if $quantity_discounts[quantity_discount].quantity|intval > 1}
 {l s='quantities'}
{else}
 {l s='quantity'}
{/if}
</th>
  {/section}
 </tr>
 <tr>
  {section name=quantity_discount loop=$quantity_discounts step=-1}
<td>
{if $quantity_discounts[quantity_discount].price != 0 OR $quantity_discounts[quantity_discount].reduction_type == 'amount'}			  
 {if $priceDisplay == 1}
  {assign var='prixProductHT' value=$product->getPrice(false, $smarty.const.NULL, 2)}
  {convertPrice price=$prixProductHT-$quantity_discounts[quantity_discount].real_value|floatval} HT/pcs
 {else}
  {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}	
  {convertPrice price=$prixProduct-$quantity_discounts[quantity_discount].real_value|floatval} /pcs
 {/if}
			{else}
				{assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
 {convertPrice price=$prixProduct-($quantity_discounts[quantity_discount].real_value*$prixProduct/100)|floatval} /pcs
{/if}
	</td>
  {/section}
 </tr>
</table>
</div>
{/if}

 

Merci Salamandre pour le début du code : http://www.prestasho...essif-quantite/

 

 

Ca peut toujours aider !

 

@+

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

Salut à tous !

 

Voici juste une petite synthèse entre 2 problématiques qui touche l'affichage des prix dégressif dans product.tpl

 

Avec ce code (valable pour une version 1.4.8.2. ) vous allez afficher les prix dégressif dans un ordre plus logique (du + petit au +grand) en TTC ou en HT selon le groupe auquel appartient le client (on estime qu'il y a un groupe par défaut en TTC et un groupe pro où les prix sont affichés en hors-taxes.)

 

Ma réduction est le nouveau prix produit HT, je n'ai pas touché au code pour les réduc en % ou en montant...

 

{if $quantity_discounts}
<ul class="idTabs">
<li><a style="cursor: pointer" class="selected">{l s='Quantity discount'}</a></li>
</ul>
<div id="quantityDiscount">
<table class="std">
 <tr>
  {section name=quantity_discount loop=$quantity_discounts step=-1}
<th>Pour {$quantity_discounts[quantity_discount].quantity|intval}
{if $quantity_discounts[quantity_discount].quantity|intval > 1}
 {l s='quantities'}
{else}
 {l s='quantity'}
{/if}
</th>
  {/section}
 </tr>
 <tr>
  {section name=quantity_discount loop=$quantity_discounts step=-1}
<td>
{if $quantity_discounts[quantity_discount].price != 0 OR $quantity_discounts[quantity_discount].reduction_type == 'amount'}			  
 {if $priceDisplay == 1}
  {assign var='prixProductHT' value=$product->getPrice(false, $smarty.const.NULL, 2)}
  {convertPrice price=$prixProductHT-$quantity_discounts[quantity_discount].real_value|floatval} HT/pcs
 {else}
  {assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}	
  {convertPrice price=$prixProduct-$quantity_discounts[quantity_discount].real_value|floatval} /pcs
 {/if}
			{else}
				{assign var='prixProduct' value=$product->getPrice(true, $smarty.const.NULL, 2)}
 {convertPrice price=$prixProduct-($quantity_discounts[quantity_discount].real_value*$prixProduct/100)|floatval} /pcs
{/if}
	</td>
  {/section}
 </tr>
</table>
</div>
{/if}

 

Merci Salamandre pour le début du code : http://www.prestasho...essif-quantite/

 

 

Ca peut toujours aider !

 

@+

 

merci bigyom mais je verrais plus ce topic dans cette section : http://www.prestashop.com/forums/forum/147-modules-gratuits-surcharges-et-autres-astuces-qui-changent-la-vie/

A toi tu voir si tu souhaites le déplacer mais je lui prédit plus de visibilité ici

Link to comment
Share on other sites

  • 11 months later...

Ah oui c'est top et tu n'as pas essayé sur 1.5?? :P

 

Voici le code que j'ai en 1.5.4.1 dans le product.tpl de mon theme

<div id="quantityDiscount">
<table class="std">
    <thead>
	    <tr>
		    <th>{l s='product'}</th>
		    <th>{l s='from (qty)'}</th>
		    <th>{l s='discount'}</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>
	    </tr>
	    {/foreach}
    </tbody>
</table>
</div>

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

  • 5 weeks later...

@vetement de quel post it parles tu ?

 

quelle version de ps utilises tu?

en fait je veux dire que ce morceau de code est important et devrait être mis dans les 1er posts du forum et ne pas descendre dans le fond de celui ci. C'est pour ça qu'il faut le mettre en post it (1ere place bloquée)

 

j'utilise ps 1.4.9

Link to comment
Share on other sites

  • 6 months later...

Bonjour à tous,

 

Comme j'ai cherché a résoudre le problème de prix dégressif et de l'ordre d'affichage, sur PS 1.5.6.1 cela se fait en 3 lettres : ASC

 

Dans classe / specificprice.php modifiez la ligne 305

ORDER BY `id_product_attribute` DESC, `from_quantity` DESC, `id_specific_price_rule` ASC, `score` DESC

avec

ORDER BY `id_product_attribute` DESC, `from_quantity` ASC, `id_specific_price_rule` ASC, `score` DESC

 

Bref cela devrait servir à d'autres.

 

Pour ma part, toujours pas de soluce aux prix dégressifs par catégorie :-D mais on ne peut pas tout avoir!

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...