coraline Posted May 29, 2009 Share Posted May 29, 2009 Bonjour,Je cherche comme ajouter un onglet "Fabricant" ou "Marque" dans la fiche produit au même niveau que les onglets "en savoir plus" et "commentaires".On cliquerais sur cet onglet et une fenetre comme le descriptif du produit mais avec le descriptif du fabricant c'est possible?Merci Link to comment Share on other sites More sharing options...
Mambe Posted June 1, 2009 Share Posted June 1, 2009 Bonjour,Ceci semble possible.Il faut modifier tout d'abord le fichier themes/pretashop/product.tplle block suivant correspond à l'affichage des onglets sur la fiche produit : <!-- description and features --> {if $product->description || $features || $accessories || $HOOK_PRODUCT_TAB || $attachments} {if $product->description}{l s='More info'}{/if} {if $features}{l s='Data sheet'}{/if} {if $attachments}{l s='Download'}{/if} {if isset($accessories) AND $accessories}{l s='Accessories'}{/if} {$HOOK_PRODUCT_TAB} {if $product->description} <!-- full description --> {$product->description} {/if} {if $features} <!-- product's features --> {foreach from=$features item=feature} {$feature.name|escape:'htmlall':'UTF-8'} {$feature.value|escape:'htmlall':'UTF-8'} {/foreach} {/if} {if $attachments} {foreach from=$attachments item=attachment} {$attachment.name|escape:'htmlall':'UTF-8'} {$attachment.description|escape:'htmlall':'UTF-8'} {/foreach} {/if} {if isset($accessories) AND $accessories} <!-- accessories --> {foreach from=$accessories item=accessory name=accessories_list} {assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)} {$accessory.name|truncate:22|escape:'htmlall':'UTF-8'} getImageLink($accessory.link_rewrite, $accessory.id_image, 'medium')}" alt="{$accessory.legend|escape:'htmlall':'UTF-8'}" /> {$accessory.description_short|strip_tags|truncate:100} {displayWtPrice p=$accessory.price} {l s='View'} {l s='Add to cart'} {/foreach} {/if} {$HOOK_PRODUCT_TAB_CONTENT} {/if} En ajoutant dans la premiere partie une nouvelle balise , nous avons un nouveau onglet sur la fiche produit (ici onglet Manufacturers): > </pre> <ul> {if $product->description}{l s='More info'}{/if} {if $features}{l s='Data sheet'}{/if} {if $attachments}{l s='Download'}{/if} {if isset($accessories) AND $accessories}{l s='Accessories'}{/if} {if $manufacturers}{l s='Manufacturers'}{/if} {$HOOK_PRODUCT_TAB} </ul> Ensuite il suffit d'afficher ce que tu veut entre dans le nouveau block.Ici ça affiche le nom du fabricant du produitExemple : {if $manufacturers} {foreach from=$manufacturers item=manufacturers} {if $manufacturers.id_manufacturer eq $product->id_manufacturer} {$manufacturers.name} {/if} {/foreach} {/if} Link to comment Share on other sites More sharing options...
Hedrad Posted August 19, 2009 Share Posted August 19, 2009 J'ai réussi à appliquer ce code.Par contre, comment faire pour que :dans le titre de l'onglet, avoir autre chose que "manufacturers"... ou tout du moins comment le traduire pour que ce soit pris en plusieurs langues.Encore mieux, y'aurait-il moyen d'afficher directement le nom de fournisseur ?Edit : pour traduire le mot "manufacturers", j'ai trouvé... Back-office, Outils, Traduction.Par contre, si quelqu'un a une idée pour insérer directement le nom du fabricant en titre de l'onglet ? Link to comment Share on other sites More sharing options...
Momiji Posted October 15, 2009 Share Posted October 15, 2009 Bonjour,Je rebondis sur ce post.J'ai bien réussi à faire apparaître un onglet pour le fabricant - dont l'en-tête porte le nom du fabricant - mais cet onglet reste désespérément vide malgré mes efforts pour y faire apparaître la description de ce fabricant.Quelqu'un peut-il m'aider ?MerciPierre Link to comment Share on other sites More sharing options...
Atch Posted October 15, 2009 Share Posted October 15, 2009 Bonjour,Je rebondis sur ce post.J'ai bien réussi à faire apparaître un onglet pour le fabricant - dont l'en-tête porte le nom du fabricant - mais cet onglet reste désespérément vide malgré mes efforts pour y faire apparaître la description de ce fabricant.Quelqu'un peut-il m'aider ?MerciPierre Bonjour,Avez vous également ajouté cette portion de code comme évoqué par mambé :{if $manufacturers} {foreach from=$manufacturers item=manufacturers} {if $manufacturers.id_manufacturer eq $product->id_manufacturer} {$manufacturers.name} {/if} {/foreach} {/if} Ensuite rie ne vous empêche de rajouter du contenu en complétant. div id="idTab11" class="rte">{$manufacturers.name} V++Atch Link to comment Share on other sites More sharing options...
Momiji Posted October 15, 2009 Share Posted October 15, 2009 J'ai ajouté ce code (en fait c'est mon dernier essai car j'ai déjà de nombreuses tentatives ) : {if id_manufacturer}{$product_manufacturer->name}{/if} dans la liste des onglets<!-- fabricant --> {if id_manufacturer} test OK {foreach from=$manufacturer item=manufacturer}{$manufacturer.description|escape:'htmlall':'UTF-8'} {/foreach}pour le contenu de l'onglet.Le test sur id_manufacturer car {if $manufacturers} ne donne rien.A +Pierre Link to comment Share on other sites More sharing options...
xavier39 Posted October 15, 2009 Share Posted October 15, 2009 bonjour,il y a un module qui permet d'ajouter un onglet,aprés il faut adapter ....http://marghoobsuleman.com/prestashop-modules/prestashop-modules-extra-tabsi cela peut aider Link to comment Share on other sites More sharing options...
Momiji Posted October 15, 2009 Share Posted October 15, 2009 Je viens de télécharger ce module. Cela ne convient pas.De nombreux produits ont le même fabricant. En récupérant les données de ce fabricant dans un onglet, on utilise au mieux la BDD relationnelle. Le module de margoobsuleman est intéressant quand il s'agit d'ajouter une page html dont les infos ne sont pas dans la BDD.A +Voilà où j'en suis. Ce qui m'intéresserait serait de récupérer la description du fabricant dans l'onglet (son nom est le titre de l'onglet) Link to comment Share on other sites More sharing options...
Hedrad Posted October 15, 2009 Share Posted October 15, 2009 J'utilise ce code pour la description des fournisseurs : {foreach from=$manufacturers item=manufacturers} {if $manufacturers.id_manufacturer eq $product->id_manufacturer}{$manufacturers.description} {/if} {/foreach} Je n'utilise pas le if...Par contre, avec un nom de fournisseur un peu long, la description et tous les contenus des onglets saute... Et ce, même en utilisant un truncate !{$product_manufacturer->name|truncate:15|escape:'htmlall':'UTF-8'} Link to comment Share on other sites More sharing options...
Momiji Posted October 16, 2009 Share Posted October 16, 2009 Bonjour,Merci pour l'aide et l'info sur la longueur du nom du fabricant.Malheureusement, la description ne s'affiche toujours pas après avoir changé pour un nom plus court. Ne trouvant pas l'erreur, j'ai fini par copier-coller ton code...ça ne fonctionne toujours pas !Je ne vois pas où est le problème. Comment 3 lignes de code qui "marchent" chez certains ne marchent pas ailleurs ?Une idée ?A + Link to comment Share on other sites More sharing options...
Hedrad Posted October 16, 2009 Share Posted October 16, 2009 Ta version de prestashop peut-être ? Pour moi, ce code a été testé sur la 1.2.1, la 1.2.3 et la 1.2.4.Sinon, au lieu de mettre ça : {foreach from=$manufacturers item=manufacturers} {if $manufacturers.id_manufacturer eq $product->id_manufacturer} {$manufacturers.description} {/if} {/foreach} teste ça :{foreach from=$manufacturers item=manufacturers} {$manufacturers.description} {/foreach} Le if ne doit pas retourner la bonne valeur, je ne vois que ça... Par contre, fait attention de toujours avoir un fournisseur par produit sinon ca risque de faire des trucs bizarre...Au pire, teste juste :{$manufacturers.description} Je saurais pas trop dire à quoi sert le foreach... Mes capacités sont limités... Link to comment Share on other sites More sharing options...
Momiji Posted October 17, 2009 Share Posted October 17, 2009 Merci pour les conseils.J'utilise encore la version 1.1. Là est peut-être la clé du problème ?J'aurai du temps demain pour essayer ces nouvelles lignes de code.Tous mes produits n'ont pas un fabricant déclaré, mais je fais un test sur l'existence du fabricant au niveau de cette ligne : <!-- description and features -->{if $product->description || $features || $accessories || $HOOK_PRODUCT_TAB || $attachments}A + Link to comment Share on other sites More sharing options...
Momiji Posted October 18, 2009 Share Posted October 18, 2009 Désolé, mais après de nombreuses tentatives, ça ne fonctionne toujours pas.Un indice : en essayant avec IE, j'obtiens "Array" à la place de la description du fabricant.A +Pierre Link to comment Share on other sites More sharing options...
Hedrad Posted October 18, 2009 Share Posted October 18, 2009 Je suis à court d'idée... Je ne saurais t'aider plus sur ce sujet... Link to comment Share on other sites More sharing options...
Sha-ka Posted November 18, 2009 Share Posted November 18, 2009 Bonjour, je suis tombé sur ce topic car j'aimerais aussi inclure un onglet fabricants. J'ai suivi à la lettre ce qu'il s'est écrit ici, mais dans mon cas, rien ne s'affiche... Voici le code provenant du fichier product.tpl, avec en commentaire les lignes ajoutées/modifiées : <!-- description and features --> //ajout de la variable $manufacturers {if $product->description || $features || $accessories || $manufacturers || $HOOK_PRODUCT_TAB || $attachments} {if $product->description}{l s='More info'}{/if} {if $features}{l s='Data sheet'}{/if} {if isset($accessories) AND $accessories}{l s='Accessories'}{/if} // rajout de la ligne fabricant {if $manufacturers}{l s='Manufacturers'}{/if} {$HOOK_PRODUCT_TAB} {if $product->description} <!-- full description --> {$product->description} {/if} {if $features} <!-- product's features --> {foreach from=$features item=feature} {$feature.name|escape:'htmlall':'UTF-8'}{l s=':'} {$feature.value|escape:'htmlall':'UTF-8'} {/foreach} {/if} {if isset($accessories) AND $accessories} <!-- accessories --> {foreach from=$accessories item=accessory name=accessories_list} {assign var='accessoryLink' value=$link->getProductLink($accessory.id_product, $accessory.link_rewrite, $accessory.category)} {$accessory.name|truncate:22|escape:'htmlall':'UTF-8'} {$accessory.description_short|strip_tags|truncate:100} {displayWtPrice p=$accessory.price} {l s='View'} {l s='Add to cart'} {/foreach} {/if} // ajout de la description {if $manufacturers} {foreach from=$manufacturers item=manufacturers} {$manufacturers.description} {/foreach} {/if} {$HOOK_PRODUCT_TAB_CONTENT} {/if} Si quelqu'un pourrait m'aider, d'avance merci Link to comment Share on other sites More sharing options...
Momiji Posted November 18, 2009 Share Posted November 18, 2009 Bonjour Sha-ka,J'ai longtemps tourné en rond à cause de ça. La solution était d'activer le module blockmanufacturer. Si ce module est désactivé, il est impossible d'obtenir un onglet contenant les infos des fabricants.Si tu ne veux pas que le bloc s'affiche, tout en profitant de l'activation du module, ajoute display: none; dans la première ligne de code du template blockmanufacturer.tpl :<!-- Block manufacturers module --> En espérant que ça t'aidePierre Link to comment Share on other sites More sharing options...
Sha-ka Posted November 18, 2009 Share Posted November 18, 2009 Bonsoir, merci beaucoup, c'est tout à fait ça. Par contre, quelle sont les variables pour la description et le logo ? j'ai essayé $manufacturers.pic, $manufacturers.logo et $manufacturers.description mais ce n'est pas ça. d'avance merci. Link to comment Share on other sites More sharing options...
Hedrad Posted November 18, 2009 Share Posted November 18, 2009 Pour la description d'un fournisseur : {$manufacturers.description} ou {$manufacturers->description} (le "div" est à titre d'exemple...") Link to comment Share on other sites More sharing options...
Sha-ka Posted November 18, 2009 Share Posted November 18, 2009 Merci pour la réponse. Hélas, je l'avais déjà essayé et ça ne semble pas marché. J'ai tenté avec -> à la place de . mais ça ne marche pas non plus. Link to comment Share on other sites More sharing options...
Momiji Posted November 19, 2009 Share Posted November 19, 2009 {if $manufacturers} {foreach from=$manufacturers item=manufacturers} {if $manufacturers.id_manufacturer eq $product->id_manufacturer} {$manufacturers.description} {/if} {/foreach} {/if}Sur mon projet, ça fonctionnePierre Link to comment Share on other sites More sharing options...
Sha-ka Posted November 19, 2009 Share Posted November 19, 2009 Ok, merci, j'avais omis les {} dans le manufacturers description. Ne me reste plus que le logo à afficher, le lien serait http://lesite.com/img/tmp/$? , j'ai tenté $manufacturers.pic et $manufacturers.logo (avec les {} ^^) mais ce n'est ni l'un ni l'autre... Link to comment Share on other sites More sharing options...
Momiji Posted November 19, 2009 Share Posted November 19, 2009 Les logos des fabricants sont dans le dossier /img/m/Ils sont nommés par l'id du fabricant et la taille de l'image. Link to comment Share on other sites More sharing options...
Sha-ka Posted November 19, 2009 Share Posted November 19, 2009 Ok merci en effet. Une dernière question (désolé ^^) : comment récupérer l'id du fabricant ? J'ai tenté {$manufacturers.id} ; {$manufacturers.ID} ; {$manufacturers.Id} mais je ne vois pas trop quoi d'autre essayer ? Link to comment Share on other sites More sharing options...
Momiji Posted November 19, 2009 Share Posted November 19, 2009 Comme on est dans la fiche produit, je pense que le plus simple est$product->id_manufacturer Link to comment Share on other sites More sharing options...
Sha-ka Posted November 19, 2009 Share Posted November 19, 2009 Merci beaucoup, c'est bien cela Link to comment Share on other sites More sharing options...
Mr Fred Posted June 24, 2010 Share Posted June 24, 2010 Bonjour et bravo pour ce sujet qui m'interesse beaucoup quelqu'un pourrait il me dire si la derniere solution evoqueeici fonctionne ou si une autre solution meme payante existe merci d'avance Link to comment Share on other sites More sharing options...
Mr Fred Posted June 26, 2010 Share Posted June 26, 2010 Bonjour je reviens vers ce post j'ai reussi a faire apparaitre le fabricant mais je ne parviens pas a ajouter l'image quelqu'unpourrais m'aider ?Merci ca serait cool 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