LeGhe Posted June 6, 2012 Share Posted June 6, 2012 (edited) Bonsoir, Tout est dans le titre. Plutôt que le nom du produit, je voudrais l'ean13 pour mes images. Que modifier, et comment, dans le .htaccess pour cela ?? Merci d'avance ! Edited June 28, 2012 by LeGhe (see edit history) Link to comment Share on other sites More sharing options...
Broceliande Posted June 6, 2012 Share Posted June 6, 2012 Bonsoir, Tout est dans le titre. Plutôt que le nom du produit, je voudrais l'ean13 pour mes images. Que modifier, et comment, dans le .htaccess pour cela ?? Merci d'avance ! Hello, A vrai dire ça ne se fait pas dans le htaccess . Un ean13 est valide pour le rewrite d'une image. Il y a au moins deux solutions : 1 - modifier dans les tpls , partout ou getImage est appelé , ce genre de ligne : <img src="{$link->getImageLink($product->link_rewrite, $cover.id_image, 'large')}" par <img src="{$link->getImageLink($product->ean13, $cover.id_image, 'large')}" Il y en aura de nombreux à remplacer, pas toujours avec la même syntaxe d'ailleurs ni le même nom de variable , mais ça restera dans le thème. 2 - Modifier ou surcharger la classe link , methode getImage, pour ne plus tenir compte du premier paramètre et le remplacer par l'ean du produit. Sauf qu'à ce stade on ne l'a pas, pas plus que l'id du produit d'ailleurs et qu'il va falloir aller le chercher dans la bdd en passant par l'id de l'image , pour récupérer l'id du produit , et enfin son ean13 L'avantage est qu'on n'a qu'un bloc à modifier pour tout le site , (sauf thème ou tpl ancien / mal écrit qui n'utilise pas link mais reconstruit l'url de l'image) L'inconvénient est qu'on a une requete bdd supplémentaire pour chaque image du site, ce qui n'est pas forcément l'idéal en terme de perfs. J'essayerais de mesure tiens demain le temps moyen d'une telle requete et peut être un bout de code pour voir si cela fonctionne globalement bien. Link to comment Share on other sites More sharing options...
LeGhe Posted June 11, 2012 Author Share Posted June 11, 2012 Haaa, ta 1ère solution est idéale puisque je n'ai besoin de renommer que les thickbox, en fait !! Moult mercis Link to comment Share on other sites More sharing options...
LeGhe Posted June 19, 2012 Author Share Posted June 19, 2012 (edited) Bon, en fait, cela ne fonctionne pas... Plutôt que http://img2.autourdu...vanes-retro.jpg, J'aimerais avoir http://img2.autourdu...81254789632.jpg, 9781254789632 étant l'ean13 Dans la classe link.php, j'ai tenté de modifier : public function getImageLink($ean13, $ids, $type = NULL) { global $protocol_content; // legacy mode or default image if ((Configuration::get('PS_LEGACY_IMAGES') && (file_exists(_PS_PROD_IMG_DIR_.$ids.($type ? '-'.$type : '').'.jpg'))) || strpos($ids, 'default') !== false) { if ($this->allow == 1) $uri_path = __PS_BASE_URI__.$ids.($type ? '-'.$type : '').'/'.$ean13.'.jpg'; else $uri_path = _THEME_PROD_DIR_.$ids.($type ? '-'.$type : '').'.jpg'; Mais bien sûr cela ne fonctionne pas... Cela ne change même rien du tout !... Quelqu'un aurait une piste ?? Edited June 19, 2012 by LeGhe (see edit history) Link to comment Share on other sites More sharing options...
Broceliande Posted June 19, 2012 Share Posted June 19, 2012 Mais si mais si ça fonctionne .... J'ai donné un exemple : je n'ai ni ton thème ni précisément ce que tu cherches à faire pour quelle type d'image ... Evidemment il faut adapter , pas faire un simple copier coller car c'est insuffisant. A commencer par le fait que c'est sur les thickbox vraisemblablement que tu souhaites voir apparaitre l'ean , ce que tu ne dis pas dans ton post initial , du coup on va sur une autre ligne du tpl , et on applique la même méthode... Regarde avec ton ean , sur cette page ci : http://test14.jcedeveloppement.com/fr/musique-ipods/1-ipod-nano-9781254789632.html Les images ont bel et bien le nom de l'ean ... , ex la verte : http://test14.jcedeveloppement.com/1-39-large/9781254789632.jpg Bref c'est la seule méthode vraiment propre, de modifier les appels dans les tpl . Evidemment ta modif ci dessus ne fonctionne pas, et pour cause : tu remplace un nom de variable par un autre , mais celà ne change absolument rien au fonctionnement . Bref , isole les $link->getImageLink(.... ) qui t'intéressent dans la structure de la page que tu vises (ici product.tpl) remplace les link rewrite par l'ean , comme dans l'exemple que j'ai donné , et tu auras ce que tu souhaites obtenir . A quoi ça sert que duc... il se décarcasse .... Link to comment Share on other sites More sharing options...
LeGhe Posted June 19, 2012 Author Share Posted June 19, 2012 J'm'avais gouré de ligne ! Merci Merlin ! Link to comment Share on other sites More sharing options...
Broceliande Posted June 19, 2012 Share Posted June 19, 2012 J'm'avais gouré de ligne ! Merci Merlin ! A la bonne heure Donc ça fonctionne , cette fois ? Link to comment Share on other sites More sharing options...
LeGhe Posted June 19, 2012 Author Share Posted June 19, 2012 Farpaitement ! 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