Jump to content

[RESOLU] Comment afficher 'Promo' dans les produits phares


Recommended Posts

Bonjour,
je voudrais afficher le champ 'Promo' (alias 'price lowered') dans les produits phares.
J'ai réussi à affiché le prix actuel et l'ancien prix barré, mais je cale sur le code necessaire pour afficher 'PROMO !'
J'ai modifié le fichier homefeatured.tpl comme ça :

<!-- MODULE Home Featured Products -->

{l s='Featured products' mod='homefeatured'}
   {if isset($products) AND $products}

           {assign var='liHeight' value=342}
           {assign var='nbItemsPerLine' value=4}
           {assign var='nbLi' value=$products|@count}
           {assign var='nbLines' value=$nbLi/$nbItemsPerLine|ceil}
           {assign var='ulHeight' value=$nbLines*$liHeight}

           {foreach from=$products item=product name=homeFeaturedProducts}

{$product.name|truncate:27:'...'|escape:'htmlall':'UTF-8'}

{$product.description_short|strip_tags|truncate:130:'...'}
getImageLink($product.link_rewrite, $product.id_image, 'home')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />

/*******************************************/
/* PARTIE DU CODE CONCERNANT MON PROBLEME*/




                   /* ligne testée mais pas au point*/
                   /*{l s='Promo !'}*/


                   {if !$priceDisplay}{convertPrice price=$product.price}
                   {else}{convertPrice price=$product.price_tax_exc}
                   {/if}



                       {if $product.reduction_price}
{displayWtPrice p=$product.price_without_reduction}
{/if}

/*******************************************/

{l s='View' mod='homefeatured'}
                   {if ($product.quantity > 0 OR $product.allow_oosp) AND $product.customizable != 2}
{l s='Add to cart' mod='homefeatured'}
                   {else}
{l s='Add to cart' mod='homefeatured'}
                   {/if}


           {/foreach}


   {else}

{l s='No featured products' mod='homefeatured'}
   {/if}

<!-- /MODULE Home Featured Products -->



Donc, j'ai bien testé avec le bout de code (en commentaires dans le code ci-dessus) :

{l s='Promo !'}


Mais le problème c'est que s'il y a une traduction du site à faire, c'est "en dur" dans le code, et donc il faudra changer cette ligne à chaque traduction !
Donc, si quelqu'un connait une solution propre à mon problème. C'est à dire qui gère l'affichage de PROMO ! peu importe la langue du site.
Merci d'avance. :)

Link to comment
Share on other sites

Je viens de voir sur un autre post où il parlait de traduction, de rajouter cette partie de code

 mod=‘homefeatured’



ce qui donne

{if $product.reduction_price <> 0}
{l s='Price lowered!' mod=‘homefeatured’}
{/if}



Mais il m'affiche alors PRICE LOWERED dans les produits phares. Il ne fait pas la traduction ? :-S

(Pour précision, c'est le fichier homefeatured.tpl, qui se trouve dans le module homefeatured.
Et j'ai bien les traductions de Price lowered dans BO>>menu>>Traduction)

Link to comment
Share on other sites

Bon, je viens de piger pas mal de truc sur le fonctionnement des modules et templates.
Donc, il suffisait que je rajoute la traduction de "Price lowered" dans le fichier fr.php es.php et en.php du module.
Par contre, comme ça me genais de pas faire ça dans le thème (au cas ou update de Prestashop, ça écrase tout), j'ai enlevé

mod='homefeatured'


de la ligne de code concernée.
Puis j'ai fait un copier-coller du homefeatured.tpl dans mon thème.
Et à partir de là, il apparait dans BO>>outil>>traduction.
Donc en face du champ 'Price lowered" je mets "Promo" et c'est ok.

Par contre, avant cloturer de ce post, est-ce que quelqu'un pourrait m'expliquer si ça reste correct que le fichier tpl soit à la fois dans le module et dans mon thème ? Et lequel des deux templates "prime" sur l'autre ?
Car si je supprime le tpl dans le module, plus rien ne marche... Donc le tpl dans le module est indispensable. Mais comme c'est mieux de gerer ça dans le theme en cas d'update, quelle la meilleure solution (la + propre) ?
Si quelqu'un pouvait m'eclairer la dessus en quelques lignes...

Link to comment
Share on other sites

bonsoir,

si le tpl existe dans le dossier de ton thème c'est celui qui est pris en considération par presta et celui-ci prime sur celui d'origine du dossier /modules
de même les traductions propres à ce module se retrouveront dans le dossier du theme

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