graphee Posted May 26, 2010 Share Posted May 26, 2010 Bonjour a tous, (d'abord je préviens je ne suis pas développeur mais graphiste )j'ai un petit souci avec la fonction qui génère automatiquement les images des produits sous prestashop, en effet lorsque j'ai une image de 800/600 et que je veux généré une miniature de 80 x 80 la fonction met automatiquement l'image en 80 x 60 et rajoute 10 pixel de blanc en haut et en bas (pour faire les 80 x 80)J'aimerais modifier cette fonction afin que ce soit plutot un "crop" et donc que la fonction fasse une image de 106 x 80 puis coupe les bord a gauche et droite pour avoir une image de 80 x 80.je préfère donc perdre une partie de l'image plutot que d'avoir des bordure (qui ne sont pas esthétiques)mon souci est que je n'ai aucune idée de comment faire cela ^^quelqu'un a t'il une piste? un module?merci Link to comment Share on other sites More sharing options...
Atch Posted May 26, 2010 Share Posted May 26, 2010 Bonjour,Cela est possible en css sans toucher au fichiers PHP ou js de Prestashop.Il te suffit de redimensionner tes images médium en 106x80 et d'afficher tes images dans un block ( un div ou un li etc..) qui fait 80x80 et avec un attribut overflow: hidden ;Si ensuite tu veux centrer ton image, rien ne t'empêche de mettre un position absolute à ton image par rapport à ce block et d'indiquer une position optimum en fonction de ton type d'image.Tu m'as suivi?V++atch Link to comment Share on other sites More sharing options...
graphee Posted May 26, 2010 Author Share Posted May 26, 2010 En effet je te suis très bonne idée mis a part que je ne suis pas un adepte des methodes type "bidouille" car de ce cas si on décide plus tard de changer le format de l'image "medium" via le back il faudra modifier aussi le CSS.De plus je pense que ca ne marche pas dans le cas ou le client upload une image au format verticale assez longue, exemple 900 x 450.je pense qu'il faut plutot modifier image_inc non? Link to comment Share on other sites More sharing options...
Atch Posted May 26, 2010 Share Posted May 26, 2010 je suis curieux de voir comment ta fonction va "croper" ton image de 900x450 en 80x80...(si ce n'est de la meme façon)V++Atch Link to comment Share on other sites More sharing options...
graphee Posted May 26, 2010 Author Share Posted May 26, 2010 il semble que j'ai trouvé la soluce sur le forum anglais :http://www.prestashop.com/forums/viewthread/15210/help_installation___upgrade/trick__crop_images_inside_preserve_ratio_no_white_spaces_arround_image/la solution consiste a modificer le fichier image.inc.php se trouvant a la racine :Ligne 136 if (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 2 OR (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 AND $widthDiff > $heightDiff)) a remplacer par if (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 2 OR (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 AND $heightDiff > $widthDiff)) et en effet j'ai des image croppée parfaitement peut importe horizontale ou verticale.---Pour répondre a ta question je sais pas comment est codée le crop sous cette fonctionne faudrait faire qq test assez violent avec des images tres longues ou très large voir si ca bug! 1 Link to comment Share on other sites More sharing options...
boulledogue Posted April 30, 2012 Share Posted April 30, 2012 Très utile, Graphee, merci beaucoup, fonctionne nickel, et pas seulement pour les images carrées Maintenant, je me demande comment effectuer cela de manière plus propre... et si la modification résiste aux mises à jour de prestashop, néanmoins, ça me sauve quelques temps, merci beaucoup 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