papich Posted October 15, 2012 Share Posted October 15, 2012 (edited) Bonjour,Je cherche à montrer les tags sur la page produit pour que chaque produit est ses propres tags visible sur chaque fichemerci Edited October 31, 2013 by papich (see edit history) Link to comment Share on other sites More sharing options...
papich Posted October 20, 2012 Author Share Posted October 20, 2012 personne ne sait comment afficher les tags entrés dans la création du produit? Link to comment Share on other sites More sharing options...
J. Danse Posted October 20, 2012 Share Posted October 20, 2012 (edited) Il est possible d'obtenir les tags d'un produit via l'appel statique suivant: Tag::getProductTags((int)$this->id); Ensuite, il faut assigner ceux-ci à smarty et les exploiter à l'endroit voulu. Edit Encore mieux, ils le sont déjà ! Edited October 20, 2012 by J. Danse (see edit history) Link to comment Share on other sites More sharing options...
papich Posted October 22, 2012 Author Share Posted October 22, 2012 J'ai pas compris d" ils le sont déjà?" Comment procéder? Link to comment Share on other sites More sharing options...
LeGastronome Posted October 22, 2012 Share Posted October 22, 2012 J'ai fais une surcharge pour cela, je vous la communique ce soir Link to comment Share on other sites More sharing options...
papich Posted October 23, 2012 Author Share Posted October 23, 2012 merci j attend votre surcharge Link to comment Share on other sites More sharing options...
LeGastronome Posted October 23, 2012 Share Posted October 23, 2012 (edited) Voici à ajouter dans override dans ProductController.php : $productTags = Tag::getProductTags($this->product->id); $productTags = $productTags[intval($this->context->language->id)]; $this->context->smarty->assign('productTags', $productTags); ensuite vous récupérez les tag dans product.tpl avec : {foreach from=$productTags item=productTag name=productTags} <strong>{$productTag}</strong>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} Edited October 23, 2012 by LeGastronome (see edit history) Link to comment Share on other sites More sharing options...
papich Posted November 2, 2012 Author Share Posted November 2, 2012 Ta surcharge ne fonctionne pas j'ai une page blanche je suis sous ps 1.5 Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 19, 2012 Share Posted November 19, 2012 (edited) Bonjour, En fait il n'y a rien à surcharger pour prestashop 1.5 ! Dans le template produit (le product.tpl du dossier de ton thème), il suffit d'ajouter ce qui suit là où tu veux faire apparaître les tags : {assign var='productTags' value=$product->tags} {foreach from=$productTags[5] item=productTag name=productTags} <a href="http://www.boutique.com/recherche?tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} J'ai rajouté un lien dans le code histoire qu'on puisse rechercher les produits avec un tag similaire en cliquant sur n'importe lequel des tags. Par contre je ne comprends pas pourquoi le product->tags contient une array à deux niveau et que seul le niveau [5] de la première est utilisé Ôo Edited November 19, 2012 by Stabbquadd (see edit history) 2 Link to comment Share on other sites More sharing options...
J. Danse Posted November 19, 2012 Share Posted November 19, 2012 Car il y a cinq langues par défaut dans ton shop, je présume. Et ainsi, la langue 5 est utilisée. A savoir que l'ID 5 est (pour une 1.5.2.0) le français Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 19, 2012 Share Posted November 19, 2012 (edited) Ah ben voilà, comme ça c'est clair Donc le mieux serait de remplacer le [5] par l'id de la langue finalement ! Le code devient donc ceci : {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="http://www.boutique.com/recherche?tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} Edited November 19, 2012 by Stabbquadd (see edit history) 1 Link to comment Share on other sites More sharing options...
J. Danse Posted November 19, 2012 Share Posted November 19, 2012 Exactement, Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 19, 2012 Share Posted November 19, 2012 Non, en fait on peut faire mieux, en remplaçant l'url par base_dir afin que n'importe qui n'ait plus qu'à copier coller le code sans l'éditer : {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}recherche?tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} Voilà, je pense que le sujet est clos ! Link to comment Share on other sites More sharing options...
papich Posted November 19, 2012 Author Share Posted November 19, 2012 (edited) Merci j'ai essayé et j'ai " Ce produit a les tags suivants" Mais quand je clique dessus j'ai une erreur... J'ai utilisé le dernier code proposer Edited November 19, 2012 by papich (see edit history) Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 20, 2012 Share Posted November 20, 2012 (edited) Déjà vous n'avez pas une page blanche, c'est une bonne chose Quelle version de prestashop utilisez-vous ? Ce code est pour la 1.5 et je l'ai testé sous 1.5.2 ! Chez moi il donne ceci : http://www.feeduthe....e-cannelle.html Si vous n'obtenez pas les tags, une des deux assignations du haut du code ne doit pas marcher, reste à trouver laquelle en faisant un print_r sur chacune des deux valeurs afin de trouver le problème. Je vous invite à rajouter ceci en dessous du code : Variables de test :<br /><br /> {$id_lang|@print_r}<br /><br /> {$productTags|@print_r} Donnez-nous le résultat et nous verrons bien ce qui ne fonctionne pas Edited November 20, 2012 by Stabbquadd (see edit history) Link to comment Share on other sites More sharing options...
papich Posted November 20, 2012 Author Share Posted November 20, 2012 Merci pour ta réponse je suis sous ps 1.5.2 losque je copie ton code j'ai ce que je t'ai mis en pièce jointe Ai t'il possible de mettre en forme ces tags avec du css? J'ai l'impression depuis que j'ai mis ce code que la boutique tourne au ralenti je suis en local sur easy php 12.1 Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 21, 2012 Share Posted November 21, 2012 Alors j'avoue être perplexe. Les tags des langues 1, 2, 4 et 5 sont renseignés. La langue active dans ta page est la langue... 51 ??? Comme le pastis, mais je suis pas sûr que ça aide. Peux-tu faire remplacer $id_lang par $lang_iso dans les variables de test ? Link to comment Share on other sites More sharing options...
papich Posted November 21, 2012 Author Share Posted November 21, 2012 (edited) Merci mais cette fois ci j'ai Ce produit a les tags suivant : [url="http://127.0.0.1/prestashop/recherche?tag=ipod%20touch%20tactile"][b]ipod touch tactile[/b][/url] Variables de test : fr1 Array ( [1] => Array ( [0] => Ipod touch ) [2] => Array ( [0] => Ipod touch ) [4] => Array ( [0] => Ipod touch ) [5] => Array ( [0] => ipod touch tactile ) ) 1 En fait j'ai copié ce code dans le product.tpl de mon thème qui est celui par défaut à la ligne 491 {if isset($HOOK_PRODUCT_FOOTER) && $HOOK_PRODUCT_FOOTER}{$HOOK_PRODUCT_FOOTER}{/if} {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}recherche?tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} Variables de test :<br /><br /> {$lang_iso|@print_r}<br /><br /> {$productTags|@print_r} <!-- description and features --> J'ai remarqué un truc aussi quand je survole le tag qui est dans ma page produit j'ai 127.0.0.1/prestashop/recherche?tag=nom du tag Alors que dans le bloc tag le lien est 127.0.0.1/prestashop/index.php?controller=search&tag=nom du tag Peut etre parce que j'ai activé la redirection d'url? Edited November 21, 2012 by papich (see edit history) 1 Link to comment Share on other sites More sharing options...
Stabbquadd Posted November 30, 2012 Share Posted November 30, 2012 Dans ce cas tu devrais modifier le code pour avoir : {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}index.php?controller=search&tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} 1 Link to comment Share on other sites More sharing options...
papich Posted January 2, 2013 Author Share Posted January 2, 2013 (edited) Merci à tous le dernier code proposé par Stabbquadd fonctionne parfaitement en local sous 1.5.2 Est il possible de ne pas afficher le texte lorsqu'il n'y a pas de tags? reste plus qu'à insérer un code pour le customiser avec du css et ce serait top Edited January 2, 2013 by papich (see edit history) Link to comment Share on other sites More sharing options...
Rémy - @webdesignrr Posted January 29, 2013 Share Posted January 29, 2013 est-il possible d'afficher ces tags dans le product-list.tpl ? ce code ne fontionne pas dans ce contexte. merci 1 Link to comment Share on other sites More sharing options...
papich Posted January 29, 2013 Author Share Posted January 29, 2013 Qu'as tu essayé? Link to comment Share on other sites More sharing options...
Stabbquadd Posted January 30, 2013 Share Posted January 30, 2013 Pour ne pas afficher le code lorsqu'il n'y a pas de tag, ceci devrait fonctionner (non testé) : {if isset($product->tags) && $product->tags} {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}index.php?controller=search&tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} {/if} Pour le product-list.tpl, essayez peut-être comme ça (non testé) : {if isset($product.tags) && $product.tags} {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product.tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}index.php?controller=search&tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} {/if} 1 Link to comment Share on other sites More sharing options...
papich Posted January 30, 2013 Author Share Posted January 30, 2013 (edited) Merci effectivement ca fonctionne mais quelle différence entre ce code {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}index.php?controller=search&tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} et celui ci le dernier que tu as donné ils ont l'air différent {if isset($product->tags) && $product->tags} {assign var='id_lang' value=Language::getIdByIso($lang_iso)} {assign var='productTags' value=$product->tags} {l s='Ce produit a les tags suivant :'} {foreach from=$productTags[$id_lang] item=productTag name=productTags} <a href="{$base_dir}index.php?controller=search&tag={$productTag|escape:'url'}"><strong>{$productTag}</strong></a>{if !$smarty.foreach.productTags.last}, {/if} {/foreach} {/if} Pour le productlist le code est tronqué donc j'ai pensé que c'est le même que le premier mais ca ne marche pas S'aurais tu comment intégrer un visual tag pour la livraison gratuite par exemple avec référence à un CMS par exemple? http://www.prestashop.com/forums/topic/217915-lie-page-cms-ou-texte-html-au-module-reassurance/page__fromsearch__1 J'aimerais peut etre déplacé le bloc réassurance sur le pied du produit... Edited January 30, 2013 by papich (see edit history) Link to comment Share on other sites More sharing options...
Stabbquadd Posted January 31, 2013 Share Posted January 31, 2013 Dans le dernier code il y a un {if} qui teste si il y a des tags ou pas. S'il n'y en a pas, tout ce qui est entre le {if} et le {/if} ne s'exécute pas ! Pour le product-list je ne comprends pas. Le code est tronqué où ? Moi je le vois en entier :s Je n'ai pas bien compris non plus la demande du visual tag avec référence à un CMS, désolé. 1 Link to comment Share on other sites More sharing options...
papich Posted January 31, 2013 Author Share Posted January 31, 2013 (edited) Désolé mais sur mon navigateur j'avais le code {if isset($product.tags) && $product.tags} {assign.... Mais maintenant il s'affiche correctement je vais essayé avec celui la et je vous tiens au courant (j'ai testé ca ne marche pas ou je l'ai collé au mauvais endroit vers quelle ligne pour etre sous la description?) Avez vous réfléchi à la seconde partie de mon post? Edited January 31, 2013 by papich (see edit history) Link to comment Share on other sites More sharing options...
Rémy - @webdesignrr Posted February 13, 2013 Share Posted February 13, 2013 Pour le product-list, le code de Stabbquadd ne semble pas fonctionner ... Est-ce quelqu'un a une autre idée ? merci Link to comment Share on other sites More sharing options...
kiamaru Posted March 10, 2013 Share Posted March 10, 2013 salut Stabbquadd je suis sur 1.5.3.1 aucun de tes codes que j'ajoute sur mon product.tpl ne marche. il n'y a aucun tag qui s'affiche. une idée?? Link to comment Share on other sites More sharing options...
kiamaru Posted March 10, 2013 Share Posted March 10, 2013 ça marche c'est mon product.tpl qui posait un problème. merci pour cette astuce Link to comment Share on other sites More sharing options...
megi.8359 Posted July 15, 2013 Share Posted July 15, 2013 Bonjour à tous, Archi débutante sur presta...et en informatique pour dire la vérité... Pourriez vous être un peu plus "enfantins" dans vos explications? Quelqu'un aurait il la patience de reprendre à zéro les explications? Ma version Presta 1.4.6.2 J'ai installé le module [PSF] Tags des produits v1.2 par Pierre-Yves Jusque là tout va bien, je peux mettre des tags dans mon catalogue PROBLEME : rien ne s'affiche sur mes produits J'ai essayé différentes modif que vous indiquiez mais rien n'y fait... Visiblement 2 fichiers sont à modifier : product.tpl qui se trouve dans mon thème et productControoler.php ou alors product list A quelle ligne se collent les codes? J'ai vraiment besoin de tout tenter pour ma boutique...surtout depuis que leboncoin est devenu payant... MErci à tous de votre aide précieuse Link to comment Share on other sites More sharing options...
megi.8359 Posted July 15, 2013 Share Posted July 15, 2013 Bonjour à tous, Archi débutante sur presta...et en informatique pour dire la vérité... Pourriez vous être un peu plus "enfantins" dans vos explications? Quelqu'un aurait il la patience de reprendre à zéro les explications? Ma version Presta 1.4.6.2 J'ai installé le module [PSF] Tags des produits v1.2 par Pierre-Yves Jusque là tout va bien, je peux mettre des tags dans mon catalogue PROBLEME : rien ne s'affiche sur mes produits J'ai essayé différentes modif que vous indiquiez mais rien n'y fait... Visiblement 2 fichiers sont à modifier : product.tpl qui se trouve dans mon thème et productControoler.php ou alors product list A quelle ligne se collent les codes? J'ai vraiment besoin de tout tenter pour ma boutique...surtout depuis que leboncoin est devenu payant... MErci à tous de votre aide précieuse Link to comment Share on other sites More sharing options...
papich Posted July 27, 2013 Author Share Posted July 27, 2013 Des nouvelles de cet astuce? Link to comment Share on other sites More sharing options...
papich Posted October 24, 2013 Author Share Posted October 24, 2013 Je me permets de remonter ce topic si quelqu'un à essayer sous ps 1.5.6? Comment associer ces tags à une image? Merci Link to comment Share on other sites More sharing options...
philippec Posted April 3, 2014 Share Posted April 3, 2014 Hello, Je fais remonter ce post... Est-ce que quelqu'un a trouvé un moyen d'afficher les tags sur product-list.tpl ? Sur product.tpl aucun problème grace au code de Stabbquadd Merci :-) Link to comment Share on other sites More sharing options...
papich Posted April 27, 2014 Author Share Posted April 27, 2014 Hello, Testé sous 1.6 cela ne fonctionne pas des idées? Link to comment Share on other sites More sharing options...
papich Posted June 19, 2014 Author Share Posted June 19, 2014 Pour ceux que ca interesse j'ai trouvé un module qui pourrait convenir reste plus qu'à tester http://addons.prestashop.com/fr/fonctionnalites-front-office-modules-prestashop/12425-product-dynamic-tags.html 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