Jump to content

Problème avec getCategories


Recommended Posts

Bonjour,

 

J'ai besoin de lister des categories dans un block.

Pour cela j'ai développé un petit module qui récupère les categorie : 

global $cookie; global $smarty;
$categories= CategoryCore::getCategories($cookie->id_lang);
$this->smarty->assign('categories',$categories);
return $this->display(__FILE__, 'listcat.tpl');

Le problème c'est comment traiter ces informations.

Dans mon tpl je fais un foreach de $categories mais j'obtiens mal grès tout un tableau à 3 niveaux.

 

 

Array (

 

[1] => Array (

 

[infos] => Array (

 

[id_category] => 1 [id_parent] => 0 [id_shop_default] => 1 [level_depth] => 0 [nleft] => 1 [nright] => 38 [active] => 1 [date_add] => 2014-05-15 19:13:12 [date_upd] => 2014-05-15 19:13:12 [position] => 1 [is_root_category] => 0 [id_shop] => 1 [id_lang] => 1 [name] => Root [description] => [link_rewrite] => root [meta_title] => [meta_keywords] => [meta_description] => ) ) ) 1

 

Je suis donc obligé de faire trois foreach à la suite pour arriver jusqu'aux infos des catégories. C'est moche et pas du tout optimiser.

 

J'aimerai savoir s'il n'existe pas un moyen plus propre d'obtenir sous un tableau à 1 niveau unique toutes les catégories. En fait le même tableau que l'on a quand on se trouve dans une catégorie et qu'on fait un print_r de la variable smarty $category

 

Merci pour vos suggestions.

Link to comment
Share on other sites

Bonjour,

déjà il ne faut pas appeler CategoryCore mais Category.

 

Ensuite si tu veux récupérer un tableau plus simple créé ta propre fonction dans un override de la class Category.

Tu pourra y récupérer les informations que tu veux ordonné comme tu le veux et se sera plus imple à utiliser dans ton tpl.

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