Jump to content

Recommended Posts

Guest JambonBeurreHuile

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 by NicolasEM (see edit history)
Link to comment
Share on other sites

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

Guest JambonBeurreHuile

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

Guest JambonBeurreHuile

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 by NicolasEM (see edit history)
Link to comment
Share on other sites

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

Guest JambonBeurreHuile

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

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

Guest JambonBeurreHuile
"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:

Edited by NicolasEM (see edit history)
Link to comment
Share on other sites

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

Guest JambonBeurreHuile

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