Jump to content

[RESOLU] Taille image catégorie et sous catégorie à l’identique


Recommended Posts

Bonjour,

Comme mon titre l'indique, je souhaiterai que les dimentions des images "catégorie" et "sous catégories" soient identique.

Car l'image est identique, mais ils ont tout deux un format différent

Format category 500 px 150 px pour la CATEGORIE (image en haut)

Format medium 80 px 80 px pour les SOUS-CATEGORIE (image en dessous de catégorie)

Bien entendu, j'ai d'abord redimensionné le format medium en plus large..MAIS ce format est aussi
couplé au photos des produits et donc j'avais un bon format pour les catégories et sous catégories
mais mes photos produits c'était la catastrophe.

Pour info :

catégorie je voudrait laisser en 500x150

Sous catégorie en 175x80 (environs)

et mes format photo sont eux toujours multiple de 640x480 (ce qui n'est pas large)
donc le format medium d'origine passe très bien, j'ai juste un peu de blanc au dessus
mais ce n'est pas dérangeant.


Alors comme les photos produit et sous catégories sont en format MEDIUM et qu'ils ont pourtant tout deux
un format qui leur est propre (l'une large, l'autre non) que faire ?

J'ai lu plusieurs solution, la première étant de modifier sois même les fichiers dans le FTP, mais cela
devient vite complexe quand on à beaucoup de catégories et sous catégories.

N'y aurait-il pas un autre moyen ?

J'ai tester de décoché le "catégorie" dans la Panneau d'administration >> Préférences >> Images --> Medium

Mais cela n'a rien changé...svp quelqu'un aurait-il une astuce pour mon problème ?

Link to comment
Share on other sites

Bonjour,

Tu es brulant, tu chauffes meme, t'es pas loin de la solution....

Pour afficher des images de sous catégories dans un format logique correspondant à l'image catégorie il faut procéder en 2 étapes :

- 1° / Créer un nouveau format dans ton admin :
Admin>>préférences>>images et nouveau
tu créées ton format d'image avec le nom "souscat" par exemple.

N'oublie pas de régénérer les images à ce format.

-2°/ Editer le fichier Category.tpl de ton theme et cherche la ligne suivante :

<!-- Subcategories -->

{l s='Subcategories'}

       {foreach from=$subcategories item=subcategory}

getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}">
                   {if $subcategory.id_image}
getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}" alt="" />
                   {else}

                   {/if}



getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}

       {/foreach}





remplace tous les "medium" par "souscat" et enregistre.

Actualise ta page catégories et normalement ça le fait (regarde dans ton css au passage s'il n'y a pas de modifs à faire).

PS : j'en profite pour changer le message de section du forum

V++

Atch

Link to comment
Share on other sites

  • 1 month later...

Je confirme : Ca marche. Merci pour votre aide. Il faut quand meme avouer que c'est dommage que, par defaut, les images de sous-categories ne sont pas dans le meme facteur de forme... Selon moi, ceci devrait faire l'objet d'un bug. Aussi, je n'ai toujours pas compris pourquoi dans le theme par defaut les header et footer sont parfois au format JPG et parfois au format GIF. De plus les noms de fichiers ne suive pas une nomenclature reguliere. Ceci aussi devrait faire l'objet d'un bug. Qu'en pensez-vous ?

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

Pour ma part, j'ai du rater quelque chose, mais cela ne marche pas.
je suis débutant en prestashop (je viens de joomla et virtuemart...) et j'ai bien effectué toutes les modifications indiquées par Atch.
Toutes les bonnes images sont dans le répertoires img, mais ce sont toujours les medium qui restent affichées.

Je n'ai rien vu dans la CSS (j'utilise le thème bis 'prestashop_alt' du prestashop de base).

Si quelqu'un a une idée ?

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...
  • 4 months later...

Bonjour,

 

 

Merci Atch !

 

J'ai failli dire que ça ne marchait pas chez moi ... En fait si, bien sûr.

2 petites précisions donc, c'est assez logique mais sait-on jamais :)

 

 

- au moment de créer un nouveau format d'image (exemple: format "subcat", 270 x 94 pixels ), il faut cocher le ou les types d'image pour lesquels ce format sera utilisé . Dans notre cas précis: cocher au minimum "Catégories".

 

- régénérer ensuite les miniatures, en épargnant à votre serveur du boulot inutile : avant de lancer la régénération, configurez que seules les images au format "subcat" doivent être générées, et seulement pour les images de type "catégories". ça ira nettement plus vite !

 

 

Romain

Link to comment
Share on other sites

Bonjour,

 

Je suis intéressé de changer juste mes images de sous catégories.

J'ai essayé cette méthode en créant dans préférence --> images un nouveau type de taille nommé subcat

Dans le fichier Category.tpl dans votre explication il y aurait plusieurs fois besoin de changer medium. Je vais mettre en gras les medium que j'ai changé que vous me confirmiez si c'est ok ...

Je suis en Prestashop 1.4.7

 

<!-- Subcategories -->
 <div id="subcategories">
  <h3>{l s='Subcategories'}</h3>
  <ul class="inline_list">
  {foreach from=$subcategories item=subcategory}
   <li>
 <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}">
  {if $subcategory.id_image}
   <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, '[b]medium[/b]')}" alt="" width="{$[b]medium[/b]Size.width}" height="{$[b]medium[/b]Size.height}" />
  {else}
   <img src="{$img_cat_dir}default-[b]medium[/b].jpg" alt="" width="{$[b]medium[/b]Size.width}" height="{$[b]medium[/b]Size.height}" />
  {/if}
 </a><br />
 <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>
   </li>
  {/foreach}

 

Voilà ce que je viens de changer et ca change rien ....

Si quelqu'un a une solution merci de m'éclairer

 

Lokiiy B)

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...

Bonjour à Tous, voila ce que j'ai modifier dans le Category.tpl

 

<!-- Subcategories -->

<div id="subcategories">

<h3>{l s='Subcategories'}</h3>

<ul class="inline_list">

{foreach from=$subcategories item=subcategory}

<li>

<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}">

{if $subcategory.id_image}

<img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'souscat')}" alt="" width="{$souscatSize.width}" height="{$souscatSize.height}" />

{else}

<img src="{$img_cat_dir}default-souscat.jpg" alt="" width="{$souscatSize.width}" height="{$souscatSize.height}" />

{/if}

</a><br />

<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>

</li>

{/foreach}

</ul>

<br class="clear"/>

</div>

{/if}

 

 

 

Malgrés ces modifications, le resultat escompté n'est pas la !!! certain d'entre vous se serez penché sur la question?

merci d'avance

Erwann

Link to comment
Share on other sites

  • 2 weeks later...

J'ai connu un peu le même problème en voulant personnaliser les dimensions pour mes images catégorie et sous-catégories.

J'ai créé 2 nouvelles dimensions (dans preferences/images), j'ai ensuite régénéré les miniatures et modifié mon category.cpl comme erwannpichard.

Et cela ne fonctionne pas car si on observe les balises des images (avec firebug ou autre) on voit que les dimensions (width et height) des images restent vides.

 

En fait, cela provient du fait que la variable "$souscatSize" (dans l'exemple de erwannpichard) n'est pas définie.

Je suis tombé un peu par hasard sur la partie du code qui définit ces variables pour les dimensions standards de prestashop. C'est dans la fonction initContent du contrôleur de catégories qui se trouve en V1.5 dans /controllers/front/CategoryController.php.

 

J'ai donc surchargé ce contrôleur (en recopiant la fonction initContent() dans le fichier /override/conrollers/front/CategoryController.php) en y ajoutant manuellement les dimensions que j'ai personnalisées.

Dans le cas de l'exemple ci-dessus: 'souscatSize' => Image::getSize('souscat')

 

Cela fonctionne pour moi. L'idéal serait d'ajouter une fonction qui fasse le travail à notre place (liste les dimensions utilisées par les catégories et détermine pour chacune les variables "dimSize" en question.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

Suite à la demande d'erwannpichard, voici le code de la fonction initContent modifiée.

La fonction d'origine se trouve dans le fichier controllers/front/CategoryController.php

Je l'ai surchargée dans le fichier override/controllers/front/CategoryController.php

tel que dans le code ci-dessous. (je pense qu'il existe un moyen d'optimiser la surcharge en n'ajoutant que les lignes ajoutées à la fonction mais je ne le connais pas).

 

Rappel: ma boutique est en version 1.5.1

 

public function initContent()
{
 parent::initContent();
 if (isset($this->context->cookie->id_compare))
  $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int)$this->context->cookie->id_compare));
 $this->productSort(); // Product sort must be called before assignProductList()

 $this->assignScenes();
 $this->assignSubcategories();
 if ($this->category->id != 1)
  $this->assignProductList();
 $this->context->smarty->assign(array(
  'category' => $this->category,
  'products' => (isset($this->cat_products) && $this->cat_products) ? $this->cat_products : null,
  'id_category' => (int)$this->category->id,
  'id_category_parent' => (int)$this->category->id_parent,
  'return_category_name' => Tools::safeOutput($this->category->name),
  'path' => Tools::getPath($this->category->id),
  'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
  'categorySize' => Image::getSize('category_default'),
  'mediumSize' => Image::getSize('medium_default'),
  'thumbSceneSize' => Image::getSize('m_scene_default'),
  'homeSize' => Image::getSize('home_default'),
  'allow_oosp' => (int)Configuration::get('PS_ORDER_OUT_OF_STOCK'),
  'comparator_max_item' => (int)Configuration::get('PS_COMPARATOR_MAX_ITEM'),
  'suppliers' => Supplier::getSuppliers(),

'souscatSize' => Image::getSize('souscat'), // a adapter en fonction du nom choisi ici: souscat

 ));

 $this->setTemplate(_PS_THEME_DIR_.'category.tpl');
}

 

j'espère que cela aidera ceux qui rencontrent ces problèmes.

Link to comment
Share on other sites

  • 4 months later...

bonsoir,

je suis sous prestashop 1.4.6 pour moi ça marche en créant un nouvelle format d'image dans l'admin et en faisant les modifications dans le fichier category.tpl du thème (ne pas oublier de régénérer les images catégories et de compiler le cache smarty) par contre les images des sous catégories sont collées l'une à l'autre et si je met un format aussi grand que je voudrais cela n'affiche qu'un partie de l'image (j'ai le thème bagstore) si quelqu'un connait la modif à faire merci de me le dire.

 

http://malignemimi.com

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

  • 2 weeks later...

Bonjour,

 

La manip fonctionne à peut près de mon coté, le à peut près me dérange car, une fois le changement des images effectué, lorsque je me dirige sur ma page de catégorie toute mes images de sous catégorie son coupées.

 

Il y a 5 sous catégories par ligne et une fois le changement effectué il y a toujours 5 sous catégories par ligne mais pour des images plus grande, donc les images sont coupé pour que tout rentre sur la ligne.

 

Comment puis je remédier à ce souscis.

 

Sachant que je voudrais des images de sous catégorie de 150 par 100 px.

Link to comment
Share on other sites

  • 3 weeks later...

Bonjour à tous,

Je sais que ce topic est marqué "résolu", mais j'ai exactement le même problème et je n'arrive pas à mettre la main sur le fichier "Category.tpl". Je suis sous prestashop 1.5.3.1.

Quelqu'un aurait-il l'immense gentillesse de m'indiquer précisément où se trouve ce fichier (quel dossier, quel sous-dossier?)...

D'avance merci, j'ai passé et repassé en revue les dossiers sur mon serveur depuis quatre jours, et je tourne complètement maboul...

 

EDIT : JE L'AI !!! Enfin !!!... snif...

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

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