Jump to content

Recommended Posts

Bonjour,

 

Je souhaite modifier l'image du module "productpaymentlogos" de mon thème, à savoir l'image présente sur la fiche produit sous la bouton "panier" représentant les différents moyens de paiement sécurisés sur le site.

 

Pour sucharger l'image, j'ai placé l'image dans le thème comme suit : themes/montheme/css/modules/productpaymentlogos/img/monimage

 

J'ai également surcharger le module afin de modifier le fichier tpl comme suit : themes/montheme/modules/productpaymentlogos/productpaymentlogos.tpl.

 

1ère question : est-ce que j'ai correctement effectué la surcharge de l'image ? Si oui, cela m'amène à la seconde question :

 

2ème question : Comment modifier l'appel smarty du chemin de l'image afin de récupérer la bonne image ?

 

En effet, dans productpaymentlogos.tpl, on retrouve l'appel suivant :

<img src="{$module_dir}{$banner_img|escape:'htmlall':'UTF-8'}" alt="{$banner_title|escape:'htmlall':'UTF-8'}" class="img-responsive" />

J'aimerais dans la mesure du possible éviter d'intégrer le chemin d'accès à l'image en dur.

 

Merci pour votre aide.

 

Cordialement,

 

Céline.

Edited by Céline13240 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

J'ai trouvé la solution.

 

Pour surcharger l'image d'un module dont le chemin d'accès est indiqué dans le fichier.tpl, il est faut procéder ainsi :

 

1. Mettre l'image dans le dossier "img" du thème : themes/montheme/img puis

 

2. Modifier le fichier tpl du module que l'on aura préalablement copier dans themes/montheme/modules/nomdumodule/nomdumodule.tpl. Puis recherchez la ligne avec le chemin d'accès à l'image, qui dans mon cas ressemblait à :

<img src="{$module_dir}{$banner_img|escape:'htmlall':'UTF-8'}" alt="{$banner_title|escape:'htmlall':'UTF-8'}" class="img-responsive" />

et remplacer {$module_dir} (appel le dossier du module natif concerné) par {$tpl_uri} (appel du dossier de mon thème pour lequel d'autres variables existent comme {$tpl_dir} ou {$css_dir} pour le dossier css du thème). Ce qui nous donne :

<img src="{$tpl_uri}{$banner_img|escape:'htmlall':'UTF-8'}" alt="{$banner_title|escape:'htmlall':'UTF-8'}" class="img-responsive" />

En espérant que cela puisse aider d'autres personnes.

 

Cordialement,

 

Céline.

Share this post


Link to post
Share on other sites

Merci Céline,

je cherchais justement depuis quelques temps à overrider l'image du block productpaymentlogos sans succès,

ta méthode fonctionne nickel !

mais j'ai une question, personnellement j'avais essayé avec "$img_dir" après avoir mis l'image dans le dossier "img" de mon thème perso, mais ça ne fonctionne pas.

Comment se fait il que "$tpl_uri" fonctionne alors que ça n'indique pas le chemin pour atteindre l'image ?

si tu as 5 min pour expliquer la chose je suis preneur !

encore merci

Thierry

Share this post


Link to post
Share on other sites

Salut Thierry,

 

Je suis contente d'avoir pu t'aider.

 

Malheureusement, je ne suis pas en capacité de répondre à ta question. A l'époque, j'avais testé différents appels, notamment grâce à ces sujets :

 

https://supersonique.net/programmation/prestashop-listing-des-globales-smarty-et-des-constantes-de-configuration/

https://stackoverflow.com/questions/7428785/how-to-get-url-of-current-theme-in-prestashops-tpl-file

Et cela m'avait également amené à jeter un coup d'oeil au fichier FrontController.php (classes/controller/FrontController.php.

 

Mais t'expliquer le pourquoi du comment, c'est une autre histoire.

 

Du coup, je me joint à toi, si une âme charitable veut bien nous donner une explication.

 

Bonne continuation.

 

Céline.

Share this post


Link to post
Share on other sites

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

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More