12/09/2010, 09:32:15
ninoaderri a écrit :Je ne comprends pas très bien... Qu'est-ce que je devrais comparer ? Le nombre d'enfants avec la position de la page actuelle dans la hiérarchie ? Mais dans ce cas-là, il faut trouver ladite position, ce qui n'est pas chose aisée puisque l'on a accès qu'à la hiérarchie (une chaîne de caractères du style "1.7.3"), si je ne m'abuse...Il me semblait avoir lu un post avec le last_child mais je n'ai pas pu remettre la main dessus.
Si tu sais où ce trouve l'udt qui renvoie l'id (ou l'alias, peut importe) du dernier enfant, je suis preneur !
Sinon CGSimpleSmarty avec has_children() me permet également de savoir si la page a des enfants.
Je pense qu'il faudrait tester la page root (get_root_alias('',$pageRoot) ) avec get_children($pageRoot), et vérifier si la page actuelle est le dernier élément de l'array.
Si ces solutions ne te conviennent pas, tu pourrais passer par le menumanager (car il lit tous les nodes, par besoin de recommencer l'opération).
Assigner le node du foreach précédant un node->depth==0 (+conditions) à une variable (dont le nom devra être incrémenté pour ne pas l'écraser).