lolymeupy Posted October 22, 2010 Share Posted October 22, 2010 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 More sharing options...
lolymeupy Posted October 22, 2010 Author Share Posted October 22, 2010 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 More sharing options...
lolymeupy Posted October 22, 2010 Author Share Posted October 22, 2010 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 More sharing options...
marty69 Posted October 22, 2010 Share Posted October 22, 2010 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 /modulesde même les traductions propres à ce module se retrouveront dans le dossier du theme Link to comment Share on other sites More sharing options...
lolymeupy Posted October 22, 2010 Author Share Posted October 22, 2010 Ok.Merci beaucoup pour ta réponse Marty. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now