babastutz Posted October 6, 2012 Share Posted October 6, 2012 Bonjour, Je suis nouveau sur prestashop et je trouve ce cms très complet !! J'essaie de modifier le module homefeatured pour qu'il affiche les catégorie sur la page d'accueil. Tout fonctionne mis à part l'affichage des images.... Voici le code que j'ai pondu : {foreach from=$blockCategTree.children item=child name=homeFeaturedProducts} <li> {if $child.link == "http://www.colorexpress.ch/prestashop/category.php?id_category=13"} <a class="product_image" href="http://www.colorexpress.ch/prestashop/cms.php?id_cms=15" title="{$child.name|escape:html:'UTF-8'}"> {else} <a class="product_image" href="{$child.link}" title="{$child.name|escape:html:'UTF-8'}"> {/if} {if $child.id_image} <!-- ne trouve pas d'image.....--> <img src="{$link->getCatImageLink($child->link_rewrite, $child->id_image, 'small')}" alt="{$child.name|escape:html:'UTF-8'}" /> {else} pas d'image {/if} </a> {if $child.link == "http://www.colorexpress.ch/prestashop/category.php?id_category=13"} <a class="button_small" href="http://www.colorexpress.ch/prestashop/cms.php?id_cms=15" title="{l s='View' mod='homefeatured'}">{$child.name|escape:html:'UTF-8'}</a> {else} <a class="button_small" href="{$child.link}" title="{l s='View' mod='homefeatured'}">{$child.name|escape:html:'UTF-8'}</a> {/if} </li> {/foreach} C'est comme s'il n y avait pas d'images dans mes catégories alors qu'il y en a bien. J'ai entendu dire que c'était un bug connu ? Ma version de prestashop est : PrestaShop™ 1.4.7.0 Le lien : http://www.colorexpress.ch/prestashop/ Link to comment Share on other sites More sharing options...
coeos.pro Posted October 6, 2012 Share Posted October 6, 2012 dans ton code tu as : <img src="{$link->getCatImageLink($child->link_rewrite, $child->id_image, essaye de changer 2 -> par un point <img src="{$link->getCatImageLink($child.link_rewrite, $child.id_image, Link to comment Share on other sites More sharing options...
babastutz Posted October 6, 2012 Author Share Posted October 6, 2012 Non ça ne fonctionne pas. C'est bizarre parce que déjà {if $child.id_image} ne fonctionne pas. Link to comment Share on other sites More sharing options...
franckm1000 Posted October 6, 2012 Share Posted October 6, 2012 Fais un {debug} pour lister tes variables Link to comment Share on other sites More sharing options...
seiyar26 Posted October 6, 2012 Share Posted October 6, 2012 Salut franck , qu'appelles tu par {debug} merci d'avance Link to comment Share on other sites More sharing options...
franckm1000 Posted October 7, 2012 Share Posted October 7, 2012 Dans le fichier où tu a mis le code (category.tpl ?) tu mets en début de fichier {debug} Quand tu chargeras ta page, ça t'affichera une pop-up listant l'ensemble de toutes les variables smarty chargées avec cette page. Tu pourras donc notamment voir ce que contient la variable $blockCategTree.children Link to comment Share on other sites More sharing options...
babastutz Posted October 8, 2012 Author Share Posted October 8, 2012 J'ai ajouté {debug} a mon fichier et apparemment les images ne font pas parti des variables. Par contre, j'ai remarqué que quand on ajoute une image à une catégorie, l'image prend comme nom le numéro de la catégorie (si celui-là est disponible). Du coup, j'ai modifié mon code comme cela et ça fonctionne : {foreach from=$blockCategTree.children item=child name=homeFeaturedProducts} <li> {if $child.link == "http://www.colorexpress.ch/prestashop/category.php?id_category=13"} <a class="product_image" href="http://www.colorexpress.ch/prestashop/cms.php?id_cms=15" title="{$child.name|escape:html:'UTF-8'}"> {else} <a class="product_image" href="{$child.link}" title="{$child.name|escape:html:'UTF-8'}"> {/if} [b]<img src="/prestashop/img/c/{$child.id}-medium.jpg" alt="{$child.name|escape:html:'UTF-8'}" />[/b] </a> {if $child.link == "http://www.colorexpress.ch/prestashop/category.php?id_category=13"} <a class="button_small" href="http://www.colorexpress.ch/prestashop/cms.php?id_cms=15" title="{l s='View' mod='homefeatured'}">{$child.name|escape:html:'UTF-8'}</a> {else} <a class="button_small" href="{$child.link}" title="{l s='View' mod='homefeatured'}">{$child.name|escape:html:'UTF-8'}</a> {/if} </li> {/foreach} Ceci est biensûr une solution temporaire. Elle fonctionne tant qu'on ne remplace pas les images. Si on veut modifier une image, il faut d'abord la supprimer du FTP pour que la nouvelle puisse prendre le nom de l'ancienne. Link to comment Share on other sites More sharing options...
franckm1000 Posted October 8, 2012 Share Posted October 8, 2012 (edited) Pourquoi tu mets : {$link->getCatImageLink($child.link_rewrite, $child.id_image, 'small')} La méthode getCatImageLink demande les attributs suivants: getCatImageLink($name, $id_category, $type = null) Donc pourquoi pas simplement: {$link->getCatImageLink($category->link_rewrite, $child.id, 'small')} Car la fonction demande l'id de la catégorie, pas l'id image. Le link_rewrite lui est dans la variable $category (à essayer avec un . si la -> ne marche pas). EDIT: la variable category ne se trouve pas dans la page d'accueil donc essaies peut être simplement avec $child.link mais je doute que ça marche. RE-EDIT: bon ben si ça marche ! Edited October 8, 2012 by franckm1000 (see edit history) 1 Link to comment Share on other sites More sharing options...
babastutz Posted October 8, 2012 Author Share Posted October 8, 2012 Pourquoi j'y ai pas pensé plus tôt!!! Ca fonctionne très bien merci !!! Donc la solution : {$link->getCatImageLink($category->link_rewrite, $child.id, 'small')} Merci franck 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