Jump to content

Fabricants : afficher logo a la place du texte


neor

Recommended Posts

Salut,

Je me cite car j'ai donné la réponse sommairement dans un autre sujet :

En modifiant le Module BlockManufacturers….ensuite manufacturers.tpl

Tu cherches les codes smartys qui affichent le texte ( marque du fabricant) et tu le remplaces par l’image du fabricant.
Je l’ai fait et ça marche wink

Je l’ai meme mis en footer…


J'ai pas presta sous les yeux sinon j'aurai mis le code :(

Atch
Link to comment
Share on other sites

@Ronie59

Oui,

En modifiant le Module BlockManufacturers….ensuite manufacturers.tpl

Tu cherches les codes smartys qui affichent le texte ( marque du fabricant) et tu le remplaces par l’image du fabricant.
Je l’ai fait et ça marche wink

Je l’ai meme mis en footer…
Atch


Dans le Post de Atch créer le 20 Mars 2009 11:56 AM
dans la partie Graphisme


si votre demande fut résolue , Merci de bien devant et dans votre titre de post [RÉSOLU]

Cdlt,
Link to comment
Share on other sites

Bon j'ai retrouvé mon lien :

a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}"/>



par contre ça c'est le lien de mon bandeau footer avec les images en médium 80x80 le mieux pour le bloc c'est de remplacer medium par small...

(attention j'ai pas mis < devant a href car le forum mange le code)


V++

Atch

  • Like 1
Link to comment
Share on other sites

merci c'est une autre solution plus simple mais ça rend pas terrible avec le contour blanc des logos
peut etre ajouter un effet contour autour des logos pour faire plus propre sans éditer chaque image

je met l'astuce de coté ;)

Link to comment
Share on other sites

bonjour

pas très clair pour un débutant, après regardes les sources des sites concernés, voici un résume:

il faut modifier le fichier modules/blockmanufacturer/blockmanufacturer.tpl (par wordpad ou autre)

remplacer la ligne (pour la version 1.1 :

getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}">{$manufacturer.name}

par la ligne :

getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}"/>%7B$img_manu_dir%7D%7B$manufacturer.id_m

(ou ramplacer le mot -small.jpg par -medium.jpg pour changer la taille d'images)
à revoir pour les aligner cote à cote ... etc

quelqu'un a un autre code ... ?

cordialement

Link to comment
Share on other sites

Bon j'ai retrouvé mon lien :

a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}"/>



par contre ça c'est le lien de mon bandeau footer avec les images en médium 80x80 le mieux pour le bloc c'est de remplacer medium par small...

(attention j'ai pas mis < devant a href car le forum mange le code)


V++

Atch



j'ai pas reussi non plus
Link to comment
Share on other sites

Bonjour,

ça c'est génial. j'ai utilisé le module que j'ai trouvé dans la "ptite listes des modules". Mais c'est exactement ces modifs et ce résultat, j'avais loupé cette file.

Je cherche maintenant à faire apparaître ces logos d'une manière aléatoire... une idée ? La technique c'est pas trop mon truc... J'imagine que mettre shuffle($manufacturer), ça suffira pas.
A moins que ce soit shuffle($link) ? La fonction reprend tout ?

Je vous remercie pour votre aide.

Link to comment
Share on other sites

sauf si je vire la liste (c'est bien le menu déroulant dont tu parles ?), et que je laisse l'autre module fabricant classique avec juste le menu déroulant cette fois...
Le problème c'est que j'aurai plusieurs dizaines de fabricants, si c'est toujours les premiers dans l'ordre alphabétique qui apparaissent, les autres vont logiquement râler...

Link to comment
Share on other sites

merci neor, oui j'ai lu au dessus. Mais ça veut dire changer à chaque fois les liens aussi... aie aie aie.

En tout cas, voici le module que j'ai téléchargé, c'est ce que vous souhaitez faire mais sans toucher au bloc original : http://www.themesremix.com/18-module-logos-fabriquants.html

Cependant, c'est ça, dans le bloc original comme dans celui-ci, le tri par ordre alphabétique me gêne un peu... ça fait ordonné certes et c'est "obligatoire" mais en utilisant deux modules distincts peut-être que le second pourrait être plus "déjanté" :-)... On pourrait imaginer un tri aléatoire ou un tri par part du CA, etc...

Pour donner des idées, suis un bon lol ! Mais pour réaliser c'est pas gagné... ! gggrr. Mais promis j'essaie de m'améliorer :-)

Link to comment
Share on other sites

Salut Atch,

C'est une idée... tout dépend du nombre... A voir.

Sympa ta boutique. Le sujet m'intéresse :-)
Le coup de la page qui s'ouvre au dessus à droite, très original. Par contre, peut-être ne voit-on pas assez le "close" ensuite... si je peux me permettre.

Link to comment
Share on other sites

on va dire que tu m'as inspiré :)

c'est surtout une demande spécifique au projet ...

Oui c'est vrai, le lien "close" est trop discret, va falloir que je rêgle ça. Mais tu as tout de meme trouvé, lol.

V++

Atch

Link to comment
Share on other sites

  • 3 weeks later...

Excellent module! Serait-il possible cependant de ne lister que les fabricants qui ont des logos (au lieu de lister les logos des fabricants par ordre alphabetique), j'ai dans les 150 fabricants et ca ne m'interesse de lister que ceux que je veux et non les 5 ou 10 premiers. Une idee sur comment on peut faire ca?

Link to comment
Share on other sites

Un spécialiste aurait une petite idée pour afficher ces logos en aléatoire ?...

j'utilise le module de "Theme remix" :

<!-- Block manufacturers module -->

{l s='Manufacturers' mod='blockmanufacturertr'}

{if $manufacturers}
   {if $text_list}

   {foreach from=$manufacturers item=manufacturer name=manufacturer_list}
       {if $smarty.foreach.manufacturer_list.iteration <= $text_list_nb}
getmanufacturerLink  ($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}"/> name}">
       {/if}
   {/foreach}

   {/if}
   {if $form_list}
       <form action="{$smarty.server.SCRIPT_NAME}" method="get">



{l s='All manufacturers' mod='blockmanufacturertr'}
               {foreach from=$manufacturers item=manufacturer}
{$manufacturer.name}
               {/foreach}


       </form>
   {/if}
{else}

{l s='No manufacturer' mod='blockmanufacturertr'}
{/if}


<!-- /Block manufacturers module -->



je suis sûr qu'il n'y a pas grand chose à rajouter, j'ai essayé tout plein de trucs mais comme je ne maîtrise pas trop mes insertions de code, ça ne donne logiquement rien...


ps : le code ne ressort pas complet et après modifs du message, ça ne passe toujours pas...
la ligne pour aller chercher le logo (qui est entre la balise a):

href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturer'} {$manufacturer.name}"/>

et on peut rajouter alt qui va chercher "manufacturer name" mais il dérange la balise code apparement.

Link to comment
Share on other sites

je pense pas.... j'ai beaucoup de place a droite comme sur le screen ci dessous

mais je suis en local pour l'instant c'est peut être la raison de l'affichage.........


J'ai le même soucis,

Je n'ai qu'une ligne d'affiché... Verticale :s

Merci d'avance pour l'aide. :)
Link to comment
Share on other sites

mais en fait c est pas vraiment ça.

En fait, puisque j'utilise un autre module, j'ai deux endroits ou j'affiche les fabricants. Une fois normalement, et ce serait bien que ça reste en alphabétique, histoire que les visiteurs puissent s'y retrouver. Et une autre fois avec les logos où là faudrait que "ça tourne".

J'ai donc essayé de refaire un fichier dans classes avec le nom de l'autre module et la modif pour l'aléatoire mais j'arrive pas à relier ces instructions au module des logos. Je cherche, je cherche...

En clair cette modif de codes est très bien mais fait une modif globale (et en fait, j'étais déjà tombé dessus). Dans mon cas j'aimerais deux règles pour deux modules.

Link to comment
Share on other sites

Tu veux deux modules dissociés ou qui s'affiche dans le même cadre ?

Par exemple au dessus les noms. Par ordre alphabétique.
Et en dessous les logos, dans n'importe quel ordre.

Edit : les fichiers classes sont a modifier le moins possible ! Tu perdra tout lors d'une mise à jour (si j'ai bien compris ^^)
Et de gros risque de faire tout planter en général ! ;)

Link to comment
Share on other sites

pour le moment, je suis parti sur :

- le module classique à gauche, nom dans l'ordre alaphabétique et menu déroulant dans le même ordre : "la base",

- un autre module fait par "theme remix"... mais maintenant que je me suis plongé un peu mieux dans le sujet, c'est un doublon du module classique avec photos à la place des noms. Et ce module là, j'aimerais que les photos sortent en aléatoire, histoire que ça soit plus vivant.

Ainsi, le visiteur ne sera pas perdu si il cherche un fabricant qu'il connait grâce au menu de gauche et à la liste des fabricants si il clique directement sur le titre... par contre pour le visiteur nouveau, les photos qui changent, ça permettra d'attirer le regard.


edit : autre module dans la colonne de droite...

Link to comment
Share on other sites

Hum...
Sa doit être possible :)

Il faut que tu fasse un import d'un nouveau module (grâce au back office) en lui donnant un autre nom.
Je sais pas trop comment sa marche mais sa devrait pouvoir se faire ^^

Et ce nouveau module tu le met dans la colonne de droite.
Pour contre pour l'ordre dans n'importe quel sens...

Je vais me faire taper sur les doigts par les développeurs de prestashop.
Tu modifies le fichier /classes/manufacturers.php
De cette manière : Tu double la fonction déjà présente avec un autre nom et en faisant la modification d'ordre.
Et tu l'appelle dans le fichier de ton nouveau module.

C'est de la théorie, je n'ai pas testé. Sa va demander un peux de recherche de ta part. Mais tu me parait débrouillard alros me fait pas de soucis ;)

Bon courage !!

Link to comment
Share on other sites

merci pour ton aide.

Tout est fait pour la première partie... reste plus qu'à trifouiller classes/manufacturers.php
ce que j'ai déjà commencé maintenant que tu m'as indiqué où trouver ce fichier qui envoyait la règle...

je verrai bien ce que ça donne !
merci

Link to comment
Share on other sites

J'ai regardé vite fait ^^

Pour pas que tu fasse de bétise ! :)
La fonction c'est getmanufactureur()

Tu la duplique, la fonction dupliquée tu la renomme getmanufactureurLogo()
Dans cette nouvelle fonction tu modifie pour le random.

Et dans ton nouveau module tout les getmanufactureur() tu les remplacent par getmanufactureurLogo().

Edit : Je pense :D

Link to comment
Share on other sites

c'est exactement ce que j'ai fait mais ça marche pas. ça me vire toute ma colonne de droite. Mais j'ai fait rapidement je dois me sauver, j'ai du laisser trainer une connerie.

par contre, le fait que tu me dises de faire pareil, ça me rassure, je regarderai mieux, ça va le faire, y a pas de raison :-)

pour le "résolu", c'est pas moi l'initiateur de la file...

Link to comment
Share on other sites

Ah d'accord :(

Domage...
Sa te vire toute la colonne de droite ? :o !
J'ai dû oublié un truc en fait...

Vérifie ma théorie quand même !
Peut être le .php fait appelle à autre chose :)

Bon courage !!!

ps : ne le met pas en haut de ta colonne de droite, ni tout en bas. Met le au milieu pour voir si c'est vraiment lui le bug :)
Petit indice après avoir galéré beaucoup de temps sur des bugg :)

Link to comment
Share on other sites

editer /modules/blockmanufacturertr/blockmanufacturertr.tpl comme ceci (annulation des LI et UL et ajout d'une DIV pour aligner centralement les deux colones)

<!-- Block manufacturers module -->


{l s='Manufacturers' mod='blockmanufacturertr'}
 
 <-- Start extra div centered -->
{if $manufacturers}
   {if $text_list}
<!--      -->
   {foreach from=$manufacturers item=manufacturer name=manufacturer_list}
       {if $smarty.foreach.manufacturer_list.iteration <= $text_list_nb}
<!--          -->
getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)}" title="{l s='More about' mod='blockmanufacturertr'} {$manufacturer.name}">name}" />
<!--            -->
       {/if}
   {/foreach}
<!--      -->

   {/if}
   {if $form_list}
       <form action="{$smarty.server.SCRIPT_NAME}" method="get">



{l s='All manufacturers' mod='blockmanufacturertr'}
               {foreach from=$manufacturers item=manufacturer}
{$manufacturer.name}
               {/foreach}


       </form>
   {/if}
{else}

{l s='No manufacturer' mod='blockmanufacturertr'}
{/if}
 <-- End extra div centered -->


<!-- /Block manufacturers module -->

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
  • 2 weeks later...

Merci pour l'astuce... Je cherchais depuis un moment.

Pour le carré blanc, je pense, Arnaud06, que tu peux retoucher l'image des fournisseurs et mettre du transparent à la place du blanc, à l'aide de GIMP ou photoshop. Mais, à confirmer ou infirmer, il ne faut pas enregistrer en jpg mais en gif car le jpg ne supporte pas le blanc.

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...
  • 10 months 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...