Jump to content

Affichage des image de sous category seuleument si elles existent


Recommended Posts

Bonjour,

 

Je butte depuis 2 jours sur l'affichage des images dans les sous categories.

Je m'explique :

J'ai une arbo à 2 voir 3 niveaux, et je souhaite afficher les images de categorie pour le premier niveau mais pas pour le second.

Par défaut si il n'y a pas d'image prestashop affiche l'image par defaut "aucune image disponible"

mon idée étati de faire que quand il n'y pas d'image saisie en back office prestashop m'affiche une liste de lien texte pour la sous category mais sans le visuel " aucune image dispo"

 

j'ai donc fait des essai dans le fichier category.tpl mais impossible de lui faire disparaitre l'image "aucune image dispo" quand je n'ai pas uploader d'image pour la category, c'est tout ou rien

 

soit cela affiche image+texte soit texte seul mais je n'arrive pas a utiliser l'affichage conditonnel

 

 

cf la portion de code qui correspond :

 

{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, 'medium')}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />

 

{else}

 

<!-- <img src="{$img_cat_dir}default-medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> -->

 

{/if}

</a><br /><br />

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

</li>

{/foreach}

 

 

meme en supprimant le contenu du {else} il affiche quand meme l'image "aucune image disponible"

 

donc si quelqu'un a une solution je lui en serait très reconnaissant.

Share this post


Link to post
Share on other sites

Oui j'ai bien vidé le cache

mais toujours pas moyen de ne pas afficher l'image "aucune image disponible" lorsqu'il n'y a pas d'image uploadé pour une categorie.

Ca me parait bizarre que personne n'ai pas déjà essayé de faire ca.

Share this post


Link to post
Share on other sites

Je ne comprend pas pourquoi avec le code ci dessous je n'arrive pas à masquer les images "aucune image disponible" lorsqu'il n'y pas eu d'image uploadé pour les categories.

 

Personnes n'a une idée ?

 

 

<!-- Subcategories -->

<div id="subcategories">

 

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

 

<ul class="inline_list">

{foreach from=$subcategories item=subcategory}

 

<li style="margin-bottom:20px;height:200px;width:226px;">

 

{if $subcategory.id_image}

 

<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}"><img style="border:0px solid orange;" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'subcategory')}" alt="{$subcategory.name|escape:'htmlall':'UTF-8'}" width="{$subcategorySize.width}" height="{$subcategorySize.height}" /></a>

<div style="clear:both;margin-top:4px;">{$subcategory.description|escape:'htmlall':'UTF-8'}</div>

 

{/if}

 

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

 

 

</li>

{/foreach}

 

 

</ul>

<div class="clearblock"></div>

</div>

Share this post


Link to post
Share on other sites

bonjour,

 

comme te le dis lanayade :

salut

si tu supprime le else l'image ne peut pas s'afficher

penses tu à vider ton cache ? et as tu forcé la compilation de smarty?

 

as tu forcé la compilation de smarty dans preferences => performances ??

 

Cordialement,

Zen

Share this post


Link to post
Share on other sites

oui j'ai bien activé la compil de smarty , desactivé le cache et vider celui de mon navigateur.

une autre idée ?

à mon avis c'est plus au niveau du code ou prestashop genere une image par defaut du coup la valeur ne serait jamais vide...

Share this post


Link to post
Share on other sites

  • 3 months later...

Exact Jinox !

En fait, le test effectué [existe-t-il ou non une image pour la sous-cat ?] renvoie toujours oui.

Du coup le code du ELSE n'est jamais utilisé, et Prestashop essaie d'afficher une image qui n'existe pas... Le serveur passe alors au plan B en générant une image avec écrit "image non dispo" (sympa le serveur)

 

Bref, j'ai 4 mois + tard le même pb que toi, et ça m'étonne / m'inquiète que la question n'ait pas été résolue ! Je vais essayer de modifier le test.

 

( Edit, quelques heures + tard ...)

 

J'ai une solution, mais je ne garantis pas qu'elle marche partout.

Elle repose sur le fait que la valeur

{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')}

, pour les sous-catégories sans images contient la sous-chaine "default".

 

Du coup pour savoir si l'image existe, il faut simplement, dans category.tpl ligne 68, remplacer le test suivant

{if $subcategory.id_image}

par le test suivant :

{if ! $link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium')|strpos:"default"}

 

ça plane pour moi en version 1.4.8.2.

Edited by Rom Soul (see edit history)

Share this post


Link to post
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
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More