Salut à toutes et à tous!
J'ai une table categories dynamique avec un CMS pour le gérer utilisant le tree behaviour comme dans le tuto de grafikart.
Maintenant ce que je voudrais c'est créer un menu vertical qui me liste tous mes produits avec sous catégories et sous sous catégories et ainsi de suite dans une liste UL-LI.
Donc dans mon controller j'ai fais la chose suivante:
public function index(){
$this->layout = 'products';
$this->loadModel('Category');
$d'categories'] = $this->Category->find('threaded');
$this->set($d);
}
Et dans ma vue index.ctp :
<?php debug($categories); ?>
Je me retrouve avec un tableau comme suit :
(int) 0 => array(
'Category' => array(
'id' => '53',
'parent_id' => null,
'lft' => '1',
'rght' => '14',
'name' => 'Decoration'
),
'ParentCategory' => array(
'id' => null,
'parent_id' => null,
'lft' => null,
'rght' => null,
'name' => null
),
'ChildCategory' => array(
(int) 0 => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo'
),
(int) 1 => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies'
)
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo'
),
'ParentCategory' => array(
'id' => '53',
'parent_id' => null,
'lft' => '1',
'rght' => '14',
'name' => 'Decoration'
),
'ChildCategory' => array(
(int) 0 => array(
'id' => '55',
'parent_id' => '54',
'lft' => '9',
'rght' => '10',
'name' => 'Bois'
),
(int) 1 => array(
'id' => '56',
'parent_id' => '54',
'lft' => '11',
'rght' => '12',
'name' => 'Metal'
)
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '55',
'parent_id' => '54',
'lft' => '9',
'rght' => '10',
'name' => 'Bois'
),
'ParentCategory' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo'
),
'ChildCategory' => array(),
'children' => array()
),
(int) 1 => array(
'Category' => array(
'id' => '56',
'parent_id' => '54',
'lft' => '11',
'rght' => '12',
'name' => 'Metal'
),
'ParentCategory' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo'
),
'ChildCategory' => array(),
'children' => array()
)
)
),
(int) 1 => array(
'Category' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies'
),
'ParentCategory' => array(
'id' => '53',
'parent_id' => null,
'lft' => '1',
'rght' => '14',
'name' => 'Decoration'
),
'ChildCategory' => array(
(int) 0 => array(
'id' => '58',
'parent_id' => '57',
'lft' => '3',
'rght' => '4',
'name' => 'Bougie Mariage'
),
(int) 1 => array(
'id' => '59',
'parent_id' => '57',
'lft' => '5',
'rght' => '6',
'name' => 'Bougie Deco'
)
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '58',
'parent_id' => '57',
'lft' => '3',
'rght' => '4',
'name' => 'Bougie Mariage'
),
'ParentCategory' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies'
),
'ChildCategory' => array(),
'children' => array()
),
(int) 1 => array(
'Category' => array(
'id' => '59',
'parent_id' => '57',
'lft' => '5',
'rght' => '6',
'name' => 'Bougie Deco'
),
'ParentCategory' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies'
),
'ChildCategory' => array(),
'children' => array()
)
)
)
)
)
)
Ce que je voudrais c'est pourvoir faire une imbrication de boucles foreach pour créer mon menu dynamique. Pourriez vous m'indiquer commet procéder pour ça, j'ai fais quelques tests et les résultats ne correspondent pas à ce que je recherche. Aussi si je veux par exemple boucler sur le nom d'une sous-catégorie par exemple "bougies" (voir l'array ci-dessus) dont le chemin du find('threaded') est le suivant :
'Category']'children'][1]'Category']'name'] => "bougies"
Comment fait-on pour boucler sur un (int) 0 => array()? L'idéal serait de pouvoir faire quelquechose comme [n] ou (vide)] ou ++] incrémentation.
Je ne vois absolument pas comment faire.
Merci pour votre aide, j'en ai vraiment besoin! :)
Si non il y a une solution plus simple (et plus claire):
tu crée un fonction :
<?php
function sous_menu($tableau){
?><ul><?php
foreach($tableau as $k => $v){
?><li><?php echo $v'Category']'name'];
if(is_array($v'children']) && !empty($v'children'])){
sous_menu($v'children']);
}
?></li><?php
}
?></ul><?php
}
?>
Puis quand tu construit ce menu :
<ul>
<?php
foreach($categories as $k => $v){
?><li><?php echo $v'Category']'name'];
if(is_array($v'children']) && !empty($v'children'])){
sous_menu($v'children']);
}
?></li><?php
}
?>
</ul>
Donc en gros tu crée un sous menu sans variable et dynamiquement. Avec n'impote quel niveau!
Voilà ce que donne le code que j'ai écrit par rapport à ton tableau que tu donne au début:
<ul>
<li>Decoration
<ul>
<li>Cadre photo
<ul>
<li>Bois</li>
<li>Metal</li>
</ul>
</li>
<li>Bougies
<ul>
<li>Bougie Mariage</li>
<li>Bougie Deco</li>
</ul>
</li>
</ul>
</li>
</ul>
Ca sera bien plus claire ^^. Un exemple ici: dev.escrichjimmy.fr/test
Mets nous comment tu appelle la catégorie "Decoration" et montre nous l'imbrication que tu souhaite avoir en html.
Tu en es où ? ;)
Salut Coloo! Comme on se retrouve! Merci pour ton intérêt ;)
J'ai pas compris ce que tu voulais dire par "Mets nous comment tu appelle la catégorie "Decoration"".
Pour l'imbrication voilà comment je le vois, c'est plutôt simple :
<div id='verticalMenu'>
<ul>
<li class='active'><a href='index.html'><span>Home</span></a></li>
<li class='has-sub'><a href='#'><span>Products</span></a>
<ul>
<li class='has-sub'><a href='#'><span>Product 1</span></a>
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
<li class='has-sub'><a href='#'><span>Product 2</span></a>
<ul>
<li><a href='#'><span>Sub Item</span></a></li>
<li class='last'><a href='#'><span>Sub Item</span></a></li>
</ul>
</li>
</ul>
</li>
<li><a href='#'><span>About</span></a></li>
<li class='last'><a href='#'><span>Contact</span></a></li>
</ul>
</div>
Voilà, j'espère que c'est bien ce que tu me demandais :)
Je sais pas comment tu fais pour récupérer le nom d'une catégorie :3. Donc j'ai fait au pif :p
<?php
// variable category
$n=0;
//variable sub cat
$sub=0;
?>
<div><ul>
<?php
while ( !empty $categories$n]) {
echo '<li>'.$categories$n][Category][name].'</li>';
echo '<ul>';
while ( !empty $categories$n][children]$sub] ){
echo '<li>'.$categories$n][children]$sub][name].'</li>';
$sub++;
}
echo '</ul>';
$n++;
}
?>
</ul></div>
Pouyr récupérer le nom de mes catégories je fais comme suit :
public function index(){
$this->layout = 'products';
$this->loadModel('Category');
$d'categories'] = $this->Category->find('threaded');
$this->set($d);
}
Ensuite dans ma vue je récupère les résultats en faisant un foreach >>> foreach ($categories as $k1 => $v1):
Le debug de $categories créé l'array que j'ai mis plus haut, donc après il faut récupérer les données de l'array
et les afficher. C'est ce que je n'arrive pas à faire de manière "propre". Je connais la méthode que tu m'a fais
passer, justement c'est exactement celle là que je cherche à remplacer en utilisant une table intervallaire (Tree Behaviour)
et en la parcourant avec un threaded, mais je vois pas comment faire.
T'as déjà tester ça?
Avec generateTreeList() ça marche parfaitement (voir tuto sur le tree behaviour de grafikart) mais ça affiche les données
"grossièrement", après pour les mettre en page avec du CSS pour faire un menu c'est une autre histoire :s
Mais tu veux un menu ? Le "generateTreeList" est plutôt pour remplir un champ select... je comprends pas trop :s
Non j'ai jamais réfléchi à cela. En fait j'y ai jamais pensé pour les menus :p
Salut Coloo
generateTreeList() comme son nom l'indique génère une liste d'un arbre, en d'autres termes il permet de lister les données d'une table intervallaire en tenant compte de ses enfants. Par contre il affiche les résultats sous une forme pré-formaté qu'il n'est pas possible de remodeler selon ses besoins, par exemple sous forme de liste non ordonnée ul>li. Pour arriver à construire ce menu find('threaded') est la solution. Il permet de retourner un tableau imbriqué, c'est exactement ce dont j'ai besoin ici pour mon menu. Le problème c'est que je n'arrive pas à l'utiliser. Peut être ai je mal compris son fonctionnement, je pensais qu'il permettait tout comme generateTreeList() de retourner un résultat pré-formaté où l'on puisse tout simplement spécifier la forme que l'on aimerait q'il retourne, en l'occurence une liste ul>li. Apparement ça n'est pas le cas. D'où ma question de comment avec threaded puis je exploiter ce tableau pour créer un menu ul>li?
Re Coloo
J'ai finalement repris ton système d'imbrication de boucle while().
Voilà ce que ça donne :
<?php debug($categories); ?>
<?php
$level1 = 0;
$level2 = 0;
$level3 = 0;
$level4 = 0;
echo '<ul>';
while(!empty($categories$level1])) {
echo '<li>'.$categories$level1]'Category']'name'];
echo '<ul>';
while(!empty($categories$level1]'children']$level2])) {
echo '<li>'.$categories$level1]'children']$level2]'Category']'name'];
echo '<ul>';
while(!empty($categories$level1]'children']$level2]'children']$level3])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'Category']'name'];
echo '<ul>';
while(!empty($categories$level1]'children']$level2]'children']$level3]'children']$level4])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'children']$level4]'Category']'name'].'</li>';
$level4++;
}
$level3++;
echo '</ul></li>';
}
$level2++;
echo '</ul></li>';
}
$level1++;
echo '</ul></li>';
}
echo '</ul>';
?>
Mais il y a un problème avec ce système. En effet, voici le debug de mon debug($categories) que tu peux voir en première ligne du code ci-dessus:
array(
(int) 0 => array(
'Category' => array(
'id' => '53',
'parent_id' => null,
'lft' => '1',
'rght' => '14',
'name' => ' Decoration'
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => ' Cadre Photo'
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '55',
'parent_id' => '54',
'lft' => '9',
'rght' => '10',
'name' => ' Bois'
),
(int) 1 => array(
'Category' => array(
'id' => '56',
'parent_id' => '54',
'lft' => '11',
'rght' => '12',
'name' => ' Metal'
),
)
)
),
(int) 1 => array(
'Category' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => ' Bougies'
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '58',
'parent_id' => '57',
'lft' => '3',
'rght' => '4',
'name' => ' Bougie Mariage'
),
),
(int) 1 => array(
'Category' => array(
'id' => '59',
'parent_id' => '57',
'lft' => '5',
'rght' => '6',
'name' => ' Bougie Deco'
),
)
)
)
)
)
)
Et voici ce que les boucles imbriqués donnent :
-Decoration
--Cadre Photo
---Bois
---Metal
--Bougies
Comme tu peux le voir, il oublie des données. en effet il manque les 2 sous catégories de "Bougies".
"Cadre Photo" possède 2 sous catégories "Bois" et "Metal" qu'il affiche très bien. "Bougies" est censé avoir 2 sous catégories également (voir array ci-dessus) "Bougie Mariage" et "Bougie Deco" mais là il ne les affiche pas.
J'ai du faire un truc qui allait pas dans mes boucles mais je vois pas où...
Avec generate tree list tu peut utiliser un helper :P
http://www.grafikart.fr/forum/topic/7698
http://bakery.cakephp.org/articles/filippi/2012/03/15/treelihelper
http://bakery.cakephp.org/articles/superkruger/2010/01/13/nested-tree-behaviour
Salut zkiller, merci pour ta réponse je vais tester ton premier lien.
Par contre les helpers j'en ai testé plusieurs et jamais j'ai réussi à les faire fonctionner correctement, donc j'ai laissé tomber l'idée.
Autant le comprendre et le faire manuellement, ça améliore la pratique ;)
J'ai oublié de remettre à zéro les variable quand leur boucle respective est terminé. Je te laisse le faire, je vais aussi zieuté les liens de zkiller ^^ pour apprendre un peu plus sur le gateau.
Bonne journée.
Salut Coloo, tu peux me dire comment tu remet les boucles à zéro, c'est ça que je cherchais!
Merci d'avance :)
exemple :p, attention, ça va être rapide et podigieux : $level4=0;
while(!empty($categories$level1]'children']$level2]'children']$level3]'children']$level4])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'children']$level4]'Category']'name'].'</li>';
$level4++;
}
$level4=0;
Y a aussi une variante de fifou :
$level4=0;
while(!empty($categories$level1]'children']$level2]'children']$level3]'children']$level4])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'children']$level4]'Category']'name'].'</li>';
$level4++;
}
Livin tu commence à me faire un peu peur ^^'
ton code :
<?php debug($categories); ?>
<?php
$level1 = 0;
echo '<ul>';
while(!empty($categories$level1])) {
echo '<li>'.$categories$level1]'Category']'name'];
echo '<ul>';
$level2 = 0;
while(!empty($categories$level1]'children']$level2])) {
echo '<li>'.$categories$level1]'children']$level2]'Category']'name'];
echo '<ul>';
$level3 = 0;
while(!empty($categories$level1]'children']$level2]'children']$level3])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'Category']'name'];
echo '<ul>';
$level4 = 0;
while(!empty($categories$level1]'children']$level2]'children']$level3]'children']$level4])) {
echo '<li>'.$categories$level1]'children']$level2]'children']$level3]'children']$level4]'Category']'name'].'</li>';
$level4++;
}
$level3++;
echo '</ul></li>';
}
$level2++;
echo '</ul></li>';
}
$level1++;
echo '</ul></li>';
}
echo '</ul>';
?>
Salut à tous!
Tout d'abord merci à tous pour votre aide et de votre implication.
Je suis désolé pour cette réponse très tardive, j'ai été très occupé ces derniers jours et je n'ai pas pu me pencher sur ce code.
@Coloo: merci pour ton idée qui, même si elle fonctionne, ne me semble pas être très "propre" dans ce cas. J'aurais voulu créer ce système avec des foreach que je préfère par habitude.
@Ciloe: Merci à toi, c'est exactement ce que je cherchais à faire et ça m'évite de créer un système d'incrémentation pour les boucles.
@zkiller : Bonne idée de créer l'actuce de Ciloe dans un helper, c'est ce que j'ai tenté de faire. Malheureusement ça n'a pas fonctionné et j'obtiens des erreurs (voir plus bas).
Voici ce que j'ai fais dans ProductsController.php :
public $uses = array('Product');
public $helpers = array('SousMenu');
public function index(){
$this->layout = 'products';
$this->loadModel('Category');
$d'categories'] = $this->Category->find('threaded');
$this->set($d);
// debug($d);
}
Puis dans ma vue index.ctp :
<ul>
<?php
foreach($categories as $k => $v){
?><li><?php echo $v'Category']'name'];
if(is_array($v'children']) && !empty($v'children'])){
$this->SousMenu->subMenu(array($v'children']));
}
?></li><?php
}
?>
</ul>
<?php
Et enfin SousMenuHelper.php :
<?php
App::uses('AppHelper', 'View/Helper');
class SousMenuHelper extends AppHelper {
function subMenu($tableau){
// debug($tableau);
?><ul><?php
foreach($tableau as $k => $v){
?><li><?php echo $v'Category']'name'];
if(is_array($v'children']) && !empty($v'children'])){
subMenu($v'children']);
}
?></li><?php
}
?></ul><?php
}
}
Pour terminé, l'erreur que j'obtiens et que je n'arrive pas à résoudre :
Decoration
Notice (8): Undefined index: Category [APP\Controller\ProductsController.php, line 13]
Notice (8): Undefined index: children [APP\Controller\ProductsController.php, line 14]
bricolage
Notice (8): Undefined index: Category [APP\Controller\ProductsController.php, line 13]
Notice (8): Undefined index: children [APP\Controller\ProductsController.php, line 14]
Par contre si au lieu de créer le helper je met la fonction subMenu($tableau) dans ma vue index.ctp tout fonctionne correctement.
Donc voilà, je sais pas pourquoi en mettant cette fonction dans le helper ça ne fonctionne plus.
Merci à vous en tout cas de m'avoir aidé juqu'ici, j'ai compris pas mal de choses!
avec un debug de $tableau dans ta function submenu sa donne quoi ?
Au passage tu appelle ta function subMenu récursivement mais la tes dans une classe donc tu doit utiliser $this ou self::
<?php
App::uses('AppHelper', 'View/Helper');
class SousMenuHelper extends AppHelper {
function subMenu($tableau){
// debug($tableau);
?><ul><?php
foreach($tableau as $k => $v){
?><li><?php echo $v'Category']'name'];
if(is_array($v'children']) && !empty($v'children'])){
self::subMenu($v'children']);
}
?></li><?php
}
?></ul><?php
}
}
Salut zkiller, merci pour ton aide.
J'ai remplacé mon code du helper par ton code ci-dessus puis j'ai décommenté la ligne 7 debug($tableau) dont les résultat est visible ci-après.
Comme tu pourra le constater, tout semble y être, est qu'il n'y a pas un problème avec lié aux tableaux qui sont des integer (int)?
Sinon comme je disais si je place cette fonction dans ma vue quasi tel quel, ça fonctionne parfaitement.
Merci d'avance
Résultat de debug($tableau) :
Decoration
\app\View\Helper\SousMenuHelper.php (line 7)
array(
(int) 0 => array(
(int) 0 => array(
'Category' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo',
'slug' => ''
),
'ParentCategory' => array(
'id' => '53',
'parent_id' => '0',
'lft' => '1',
'rght' => '14',
'name' => 'Decoration',
'slug' => ''
),
'ChildCategory' => array(
(int) 0 => array(
'id' => '55',
'parent_id' => '54',
'lft' => '9',
'rght' => '10',
'name' => 'Bois',
'slug' => ''
),
(int) 1 => array(
'id' => '56',
'parent_id' => '54',
'lft' => '11',
'rght' => '12',
'name' => 'Metal',
'slug' => ''
)
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '55',
'parent_id' => '54',
'lft' => '9',
'rght' => '10',
'name' => 'Bois',
'slug' => ''
),
'ParentCategory' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo',
'slug' => ''
),
'ChildCategory' => array(),
'children' => array()
),
(int) 1 => array(
'Category' => array(
'id' => '56',
'parent_id' => '54',
'lft' => '11',
'rght' => '12',
'name' => 'Metal',
'slug' => ''
),
'ParentCategory' => array(
'id' => '54',
'parent_id' => '53',
'lft' => '8',
'rght' => '13',
'name' => 'Cadre Photo',
'slug' => ''
),
'ChildCategory' => array(),
'children' => array()
)
)
),
(int) 1 => array(
'Category' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies',
'slug' => ''
),
'ParentCategory' => array(
'id' => '53',
'parent_id' => '0',
'lft' => '1',
'rght' => '14',
'name' => 'Decoration',
'slug' => ''
),
'ChildCategory' => array(
(int) 0 => array(
'id' => '58',
'parent_id' => '57',
'lft' => '3',
'rght' => '4',
'name' => 'Bougie Mariage',
'slug' => ''
),
(int) 1 => array(
'id' => '59',
'parent_id' => '57',
'lft' => '5',
'rght' => '6',
'name' => 'Bougie Deco',
'slug' => ''
)
),
'children' => array(
(int) 0 => array(
'Category' => array(
'id' => '58',
'parent_id' => '57',
'lft' => '3',
'rght' => '4',
'name' => 'Bougie Mariage',
'slug' => ''
),
'ParentCategory' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies',
'slug' => ''
),
'ChildCategory' => array(),
'children' => array()
),
(int) 1 => array(
'Category' => array(
'id' => '59',
'parent_id' => '57',
'lft' => '5',
'rght' => '6',
'name' => 'Bougie Deco',
'slug' => ''
),
'ParentCategory' => array(
'id' => '57',
'parent_id' => '53',
'lft' => '2',
'rght' => '7',
'name' => 'Bougies',
'slug' => ''
),
'ChildCategory' => array(),
'children' => array()
)
)
)
)
)
Notice (8): Undefined index: Category [APP\View\Helper\SousMenuHelper.php, line 10]
Notice (8): Undefined index: children [APP\View\Helper\SousMenuHelper.php, line 11]
bricolage
\app\View\Helper\SousMenuHelper.php (line 7)
array(
(int) 0 => array(
(int) 0 => array(
'Category' => array(
'id' => '63',
'parent_id' => '62',
'lft' => '16',
'rght' => '17',
'name' => 'électricité',
'slug' => ''
),
'ParentCategory' => array(
'id' => '62',
'parent_id' => '0',
'lft' => '15',
'rght' => '18',
'name' => 'bricolage',
'slug' => ''
),
'ChildCategory' => array(),
'children' => array()
)
)
)
Notice (8): Undefined index: Category [APP\View\Helper\SousMenuHelper.php, line 10]
Notice (8): Undefined index: children [APP\View\Helper\SousMenuHelper.php, line 11]
J'ai trouvé ton erreur....
Dans la fonction tu reçois un array de array.... Or tableau doit être un array().
Donc dans l'appel de la fonction (le premier appel) pour afficher le sous menu tu dois mettre $this->SousMenu->subMenu($v'children']);
Maintenant ça doit marcher!
Génial Ciloe! C'était bien ça, merci beaucoup tout fonctionne très bien maintenant!
Merci vraiment à tous pour votre aide, même si le book de cake est très bien fait,
il n'est pas toujours évident à saisir pour un débutant, alors encore merci à vous.
J'aurai une autre question liée si je dois ouvrir un autre sujet je le fais et je
valide ce sujet, donc dites moi. Ma qestion est la suivante : Mon menu de catégorie
qui est maintenant fonctionnel :) va me servir pour afficher des produits liés.
Je me demandais comment ma table devait être construite. Ma table catégorie a les
colonnes id, lft, rght, parent_id et dans ma table produits j'ai juste mis category_id.
Est-ce que c'est suffisant si je veux pouvoir faire un bread crumb ou récupérer la catégory
parente? Si non, comment dois je la construire?
Encore merci pour toute votre aide!
Ca sera suffisant. Tu récupère le parent tant que le parent_id est différent de 0.
Si c'est 0 c'est que tu as parcouru tous l'arbre ^^.
Ok merci Ciloe je vais me pencher là dessus et sur le bread crumb. J'ai du pain sur la planche!
Je marque le sujet résolu en vous remerciant une fois de plus de votre aide :)
Bonjour j ai un probléme je veux une méthode pour afficher tous les enregistrements tree behavior sans avoir de quel niveau il s'agit ce enregistrement "Threaded" j ai essayé les solutions qui j ai trouvé dans le forum mais ça marche pas ??????