Guest JambonBeurreHuile Posted May 27, 2014 Share Posted May 27, 2014 (edited) Bonjour, j'utilise PrestaShop 1.5.2. Les miniatures des images sont prévues par défaut pour être carrées, si je soumet une image rectangulaire, des marges blanches apparaissent avec une bordure. Pour rectifier le problème j'ai lu qu'il fallait faire une petite modification dans le fichier « images.inc.php » situé à la racine de notre boutique. Il a été dit que vers la ligne 225 on trouverais la section de code suivante : if (Configuration::get('PS_IMAGE_GENERATION_METHOD') == 2 OR (!Configuration::get('PS_IMAGE_GENERATION_METHOD') AND $widthDiff > $heightDiff)) Et qu'il fallait la remplacer par la suivante : if (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 2 OR (intval(Configuration::get('PS_IMAGE_GENERATION_METHOD')) == 0 AND $heightDiff > $widthDiff)) Cependant mon fichier « images.inc.php » ne contient même pas 200 lignes car la version de PrestaShop utilisée dans cette astuce n'est pas la même, et donc le code en est lui aussi différent. Auriez-vous une solution adaptée à la version 1.5 à me proposer ? Edited May 27, 2014 by NicolasEM (see edit history) Link to comment Share on other sites More sharing options...
Szed Posted May 28, 2014 Share Posted May 28, 2014 Pour la 1.5, cela se passe dans /classe/ImageManager il me semble Ligne 153. if (Configuration::get('PS_IMAGE_GENERATION_METHOD') == 2 || (!Configuration::get('PS_IMAGE_GENERATION_METHOD') && $width_diff > $height_diff)) par contre il me semble qu'il faille plutôt la remplacer par : if (Configuration::get('PS_IMAGE_GENERATION_METHOD') == 2 || (!Configuration::get('PS_IMAGE_GENERATION_METHOD') && $width_diff < $height_diff)) A tester ! Link to comment Share on other sites More sharing options...
Guest JambonBeurreHuile Posted May 28, 2014 Share Posted May 28, 2014 Bonjour, j'ai bien trouvé le fichier ImageManager.php et je viens de tester ta solution ainsi que celle que j'avais trouvé mais je ne constate aucun changement même après avoir supprimé le cache de mon navigateur. Et merci de ta réponse ! Link to comment Share on other sites More sharing options...
Szed Posted May 28, 2014 Share Posted May 28, 2014 Il faut régénérer les images entre chaque test =) Link to comment Share on other sites More sharing options...
Guest JambonBeurreHuile Posted May 28, 2014 Share Posted May 28, 2014 (edited) Je te remerci beaucoup ça a marché, il fallait effectivement regénérer les miniatures après modification du fichier et ta solution semble plus adaptée. Côté images j'ai une dernière requête, sur la page la liste alphabétique à côté de chaque lettre on peut mettre une photo, mais si l'on en met pas une il y a quand même un cadre avec un espace alloué. Peut-on faire une condition qui dit que s'il n'y as pas d'image, on cache le bloc qui est sensé la contenir ? (avec la commande css "display: none;" par exemple) Edited July 28, 2014 by NicolasEM (see edit history) Link to comment Share on other sites More sharing options...
Szed Posted May 28, 2014 Share Posted May 28, 2014 Hum, ca se ferait en smarty. Si on admet que tes lettres sont des "éléments" Un truc du genre peut être : {if $element.image} //l'html affichant l'image {/if} Difficile de t'aider plus sans connaitre ton modules qui affiche la liste alphabétique. Link to comment Share on other sites More sharing options...
Guest JambonBeurreHuile Posted May 29, 2014 Share Posted May 29, 2014 Voici la liste à puces : <ul class="inline_list"> {foreach from=$subcategories item=subcategory} <li class="clearfix"> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}" class="img"> {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" class="cat_name">{$subcategory.name|escape:'htmlall':'UTF-8'}</a> {if $subcategory.description} <p class="cat_desc">{$subcategory.description}</p> {/if} </li> {/foreach} </ul> J'ai tenté de rajouter dans le else : style = "display: none;" Mais je n'ai aucun changement, alors que si je le fais dans le if, les images de la page (et celle d'une autre section disparaissent). Donc je n'arrive pas à faire en sorte que s'il n'y as pas d'images (comme on voit sur ma capture d'écran), alors, cacher le bloc. Link to comment Share on other sites More sharing options...
Szed Posted May 30, 2014 Share Posted May 30, 2014 Pourtant : {if $subcategory.id_image} <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {else} <img src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} indique bien : "Si j'ai une image, alors je l'affiche, sinon, j'affiche l'image par défaut". Mais au vu de votre screen, il ne passe jamais dans le else. Il entre dans le if et ensuite ne trouve pas l'image. Pouvez vous faire, juste avant le if, un : {$subcategory.id_image|@var_dump} Que l'on voie ce que ressort $subcategory.id_image. Link to comment Share on other sites More sharing options...
Guest JambonBeurreHuile Posted May 30, 2014 Share Posted May 30, 2014 (edited) "Si j'ai une image, alors je l'affiche, sinon, j'affiche l'image par défaut". J'avais donc bien compris la condition, et donc effectivement il se peut que l'on aille jamais dans ce fameux else. La commande à mettre juste avant le if me ressort à gauche de chaque bloc image: string(10) "fr-default" Edited May 30, 2014 by NicolasEM (see edit history) Link to comment Share on other sites More sharing options...
Szed Posted May 30, 2014 Share Posted May 30, 2014 Bizarre que id.image ressorte 'fr-default'... du coup, vu que ce n'est jamais vide, il rentre forcément dans le if. Essayer de faire un {$subcategory|@var_dump} et voir si il y a des différences entre les lettres avec images et celle sans. Un truc en rapport avec une id ou des images, sur lequel on pourrait faire le if / else Link to comment Share on other sites More sharing options...
Guest JambonBeurreHuile Posted May 30, 2014 Share Posted May 30, 2014 Oui c'est bizarre, et ceci s'affiche avec le {$subcategory|@var_dump} : array(20) { ["id_category"]=> string(2) "18" ["id_parent"]=> string(1) "7" ["id_shop_default"]=> string(1) "1" ["level_depth"]=> string(1) "3" ["nleft"]=> string(3) "110" ["nright"]=> string(3) "115" ["active"]=> string(1) "1" ["date_add"]=> string(19) "2012-12-10 18:28:12" ["date_upd"]=> string(19) "2013-05-21 12:24:14" ["position"]=> string(1) "0" ["is_root_category"]=> string(1) "0" ["id_lang"]=> string(1) "5" ["name"]=> string(4) "0..9" ["description"]=> string(0) "" ["link_rewrite"]=> string(24) "antiquaires-chiffres-0-9" ["meta_title"]=> string(38) "Antiquaires commençant par un chiffre" ["meta_keywords"]=> string(163) "antiquaire,antiquaires,antiquaires de saint ouen,antiquaires des puces ,antiquaires du marché aux puces de saint ouen,les puces de saint ouen,les puces de st ouen" ["meta_description"]=> string(128) "Tous les antiquaires du marche aux puces de Saint-Ouen commençant par un chiffre. Antiquaire 800-Ottocento, antiquaire 30&40..." ["id_image"]=> string(10) "fr-default" ["legend"]=> string(10) "no picture" } 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