JohanBek Posted December 15, 2012 Share Posted December 15, 2012 (edited) Bonjour à tous, Je suis débutant en prestashop, je fais mon premier site et je rencontre un petit soucis en voulant afficher mes catégories en fiche produit. En page liste, j'ai un bloc qui liste mes catégories produits sur la gauche. Je souhaiterais que ce bloc s'affiche également en fiche produit. Voici le code que j’utilise pour le CategoryController : <?php class CategoryController extends CategoryControllerCore { public function process() { echo "ici"; global $cookie; $parent = new Category(Tools::getValue('id_category'), intval($cookie->id_lang)); //self::$smarty->assign('idCategorieCourante',Tools::getValue('id_category')); $listing=$parent->getParentsCategories($cookie->id_lang); foreach ($listing as $list) { if($list['level_depth']==2) { self::$smarty->assign('idNosProduits',$list['id_category']); self::$smarty->assign('nameNosProduits',$list['name']); self::$smarty->assign('lienNosProduits',$list['link_rewrite']); break; } if($list['level_depth']==3) { //$idParent = $list['id_category']; //$fils = new Category(Tools::getValue($idParent), intval($cookie->id_lang)); $curentCategory = $this->category; $parentCategory = $list['id_category']; $child = new Category((int)($parentCategory), (int)self::$cookie->id_lang); $children = $child->getSubCategories((int)self::$cookie->id_lang); self::$smarty->assign('subcategories',$children); } } } } et le code dans mon category.tpl : <div class="leftColumn grid_2"> {if isset($subcategories)} <!-- Subcategories --> <div id="subcategories"> <h1>{$category->name}</h1> <ul class="inline_list"> {foreach from=$subcategories item=subcategory} {if $subcategory.id_category != $category->id} <li class="clearfix"> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" class="cat_name"> <span class="categoryName">{$subcategory.name|escape:'htmlall':'UTF-8'}</span> </a> {if $subcategory.description} <p class="cat_desc">{$subcategory.description}</p> {/if} </li> {/if} {/foreach} {if $category->name != $nameNosProduits} <li class="clearfix allProduits"> <a href="{$link->getCategoryLink($idNosProduits, $lienNosProduits)|escape:'htmlall':'UTF-8'}" class="cat_name cat_name_all">{l s="Tous les produits"}</a> </li> {/if} </ul> <br class="clear"/> </div> {/if} {include file="$tpl_dir./bloc-garanties.tpl"} </div> Lorsque je reporte ces codes dans le controller produit et dans le tpl produit plus rien ne fonctionne. Je suppose que c'est parce que le categorycontroller est manquant dans la page produit, j'ai alors tenté des includes des fichiers php dans le controller produit mais rien n'y fait. Quelqu'un aurait-il une solution pour moi? Merci d'avance! Edited December 15, 2012 by JohanBek (see edit history) Link to comment Share on other sites More sharing options...
JohanBek Posted December 15, 2012 Author Share Posted December 15, 2012 J'ai trouvé la solution Comme quoi, parfois, ca a du bon de réfléchir un peu! Pour info le problème venait du fait que l'ID de la catégorie n'est pas dispo en fiche produit. Résolu avec : $idProduit = Tools::getValue('id_product'); $requette = Db::getInstance()->ExecuteS('select id_category_default from '._DB_PREFIX_.'product where id_product='.$idProduit); $idCategorie = intval($requette[0]['id_category_default']); 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