Jump to content

[Solved] Comment afficher le logo du Fabricant ?


Recommended Posts

Bonjour,

J'aimerais afficher le logo du fabricant du produit dans la page qui affiche le produit.

J'ai repéré:

- le logo est créé avec le nom "id_fabricant".jpg dans le répertoire img/m

- le panneau d'admin utilise la fonction admintab.displayimage pour afficher le logo

 

Je n'ai pas trouvé de solution qui ne modifie que le template.

Ma solution est de créer un objet "admintab" dans product.php, puis d'assigner pour smarty display_logo=admintab.displayimage (en utilisant l'identifiant du fabricant de l'objet product).

Et enfin d'utiliser "display_logo" dans le template product.tpl.

Est-ce correct ?

 

Y a-t-il une solution qui permettrait de ne modifier que le template ? (sans modifier de code)

 

Merci

 

Link to comment
Share on other sites

Je nai pas complètement décortiqué product.php et la classe afférente mais voici une autre solution dans la même veine mais sans toucher à admintab ;)

 

dans product.php :

$infosProduct = $product->getFields();
$smarty->assign('LogoFab', $infosProduct['id_manufacturer']);

 

Dans ton template product.tpl

 

<img src="img/m/{$LogoFab}.jpg" />

Link to comment
Share on other sites

Bonsoir,

 

Merci Laurent pour cette astuce, c'est sympa de contribuer  ;)

 

A priori on peut même faire un plus simple, dans product.php on a :

 

$smarty->assign('product', $product);

 

Donc dans product.tpl on peut faire :

 

<img src="img/m/{$product->id_manufacturer}.jpg" alt="" />

 

Vous pouvez me confirmer que cela fonctionne ?

 

Cordialement,

Bruno Lévêque

Link to comment
Share on other sites

  • 1 month later...

hop ! petit bémol, pas parfaitement

 

si un article n'a pas de fabricant définit, ce dernier a une joli croix rouge sur la fiche produit

 

serait il possible d'inclure par défaut le fabricant "Aucun" avec une image de 1 pixel sur 1 pixel blanc (ou invisible suivant les thèmes) afin de résoudre le problème ?

Link to comment
Share on other sites

j'ajoute la solution complete fournie par l'équipe PS (Thibaud Samson)

 

dans product.php à la racine du dossier Prestashop , rajouter en dessous de $smarty->assign('product', $product);

 

if (file_exists(_PS_MANU_IMG_DIR_.$product->id_manufacturer.'.jpg'))
$smarty->assign('img_manufacturer', 'img/m/'.$product->id_manufacturer.'.jpg');

 

ensuite dans la template product.tpl du thème classique ou votre thème ajouter la ligne ou vous désirez qu'elle s'affiche :

 

{if isset($img_manufacturer)}
<img src="{$img_manufacturer}" alt="" />

Link to comment
Share on other sites

j'ajoute la solution complete fournie par l'équipe PS (Thibaud Samson)

 

dans product.php à la racine du dossier Prestashop , rajouter en dessous de $smarty->assign('product', $product);

 

if (file_exists(_PS_MANU_IMG_DIR_.$product->id_manufacturer.'.jpg'))
$smarty->assign('img_manufacturer', 'img/m/'.$product->id_manufacturer.'.jpg');

 

ensuite dans la template product.tpl du thème classique ou votre thème ajouter la ligne ou vous désirez qu'elle s'affiche :

 

{if isset($img_manufacturer)}
<img src="{$img_manufacturer}" alt="" />

 

 

 

attention a rappliquer ce code a chaque mise a jour de PS !

 

 

 

EDIT du 17 Janvier 2007 : ce code ne semble plus fonctionner avec PS 0.9.5, en attente d'une correction ...

Link to comment
Share on other sites

  • 1 year later...
  • 1 month later...

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