Céline13240 Posted January 9, 2017 Share Posted January 9, 2017 (edited) 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 January 9, 2017 by Céline13240 (see edit history) Link to comment Share on other sites More sharing options...
Céline13240 Posted January 9, 2017 Author Share Posted January 9, 2017 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. Link to comment Share on other sites More sharing options...
Empreinte Posted June 13, 2017 Share Posted June 13, 2017 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 Link to comment Share on other sites More sharing options...
Céline13240 Posted June 13, 2017 Author Share Posted June 13, 2017 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. 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