[Prestashop] Lister les (sous) catégories
Lister les (sous) catégories sous Prestashop (v1.x)
Lister les catégories:
<?php include(dirname(__FILE__).'/config/config.inc.php'); require_once(dirname(__FILE__).'/init.php'); $categories = Category::getHomeCategories(intval($cookie->id_lang), true); foreach($categories as $categorie) echo '<a href="'.__PS_BASE_URI__.((intval(Configuration::get('PS_REWRITING_SETTINGS')) === 1) ? $categorie['link_rewrite'] : 'category.php?id_category='.$categorie['id_category']).'">'.$categorie['name'].'</a><br />'; ?>
Lister les sous catégories de façon hiérarchique:
<?php include(dirname(__FILE__).'/config/config.inc.php'); require_once(dirname(__FILE__).'/init.php'); $categTree = Category::getRootCategory()->recurseLiteCategTree(0); function constructTreeNode($node){ $ret = '<li>'."n"; $ret .= '<a href="'.$node['link'].'" title="'.strip_tags($node['desc']).'">'.$node['name'].'</a>'."n"; if(!empty($node['children'])) { $ret .= '<ul>'."n"; foreach ($node['children'] AS $child) $ret .= constructTreeNode($child); $ret .= '</ul>'."n"; } $ret .= '</li>'."n"; return $ret; } $ulTree = '<div class="tree-top">' . $categTree['name'] . '</div>'."n"; $ulTree .= '<ul class="tree">'."n"; foreach ($categTree['children'] AS $child) $ulTree .= constructTreeNode($child); $ulTree .= '</ul>'."n"; echo $ulTree; ?>
Lister les sous catégories de façon linéaire
<?php include(dirname(__FILE__).'/config/config.inc.php'); require_once(dirname(__FILE__).'/init.php'); $separator = '|'; $categTree = Category::getRootCategory()->recurseLiteCategTree(0); function constructTreeNode($node, $separator) { $return = ' <a href="'.$node['link'].'" title="'.strip_tags($node['desc']).'">'.$node['name'].'</a>'."n"; if(!empty($node['children'])) foreach ($node['children'] AS $child) $return .= constructTreeNode($child, $separator); $return .= $separator; return $return; } $tree = ''; foreach ($categTree['children'] AS $child) $tree .= constructTreeNode($child, $separator); echo substr($tree, 0, strlen($tree) - strlen($separator)); ?>
Commentaires récents