par
Ryle » 12 mars 2009, 11:50
Le problème est donc ce </ul></li> qui se met après chaque item alors qu'il faudrait qu'il arrive après tous les items d'une liste.
Tu as déjà fait la moitié du travail en identifiant le problème
La solution est donc de mettre ce "</ul></li>" sous une condition, condition correspondant au changement de catégorie. Ton problème c'est que tu ne sais pas à l'avance s'il y aura une nouvelle catégorie dans ta prochaine itération...
L'idée serait donc en début d'itération, déterminer si tu vas changer de catégorie (comme tu le fais actuellement) et, si tu n'es pas sur la première catégorie (donc si ton $last_cat n'est pas vide), commencer par fermer la précédente avant d'ouvrir la nouvelle.
Il ne te restera plus ensuite, une fois sortit de la boucle, à fermer la dernière catégorie ouverte

[quote="Toons43"]Le problème est donc ce </ul></li> qui se met après chaque item alors qu'il faudrait qu'il arrive après tous les items d'une liste.[/quote]
Tu as déjà fait la moitié du travail en identifiant le problème :)
La solution est donc de mettre ce "</ul></li>" sous une condition, condition correspondant au changement de catégorie. Ton problème c'est que tu ne sais pas à l'avance s'il y aura une nouvelle catégorie dans ta prochaine itération...
L'idée serait donc en début d'itération, déterminer si tu vas changer de catégorie (comme tu le fais actuellement) et, si tu n'es pas sur la première catégorie (donc si ton $last_cat n'est pas vide), commencer par fermer la précédente avant d'ouvrir la nouvelle.
Il ne te restera plus ensuite, une fois sortit de la boucle, à fermer la dernière catégorie ouverte :)