THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


salut à tous,

je débarque sur la planète thélia et j'éprouve encore quelques difficultés avec la rédaction des boucles. Concrètement, j'essaie de faire un menu sur les contenus en imbriquant les boucles DOSSIER et CONTENU.

L'arborescence de mon site donne cela :

Titre de dossier niveau 1 : xxx
|-- dossier Niveau 2
|     |--Titre Contenu 1
|     |--Titre Contenu 2
|-- dossier Niveau 2
|     |--Titre Contenu 3
|     |--Titre Contenu 4
Titre de dossier niveau 1 : yyy
|-- dossier Niveau 2
|     |--Titre Contenu 5
|     |--Titre Contenu 6
|--  dossier Niveau 2
      |--Titre Contenu 7
      |--Titre Contenu 8

Je voudrais dans mon menu afficher Les titres de dossier niveau 1 et les titres de Contenu sans montrer les niveaux intermédiaires. Donc j'ai posé ce code suivant prenant comme modèle la boucle pour le catalogue.

 			<THELIA_MENU_DOSSIERS type="CONTENU" courante="1" parent="0" profondeur="1" classement="manuel">
				<li class="rubrique">#TITRE</li>
					<ul>
					<THELIA_BLOC_SOUS_MENU type="CONTENU" parent="#ID">
					<THELIA_SOUS_MENU_CONTENU type="CONTENU" id="#ID" courante="0">
						<li><a href="#URL">#TITRE</a></li>
					</THELIA_SOUS_MENU_CONTENU>	
					</THELIA_BLOC_SOUS_MENU>
						<li class="invisibleW3C"> </li>	
					</ul>
			</THELIA_MENU_DOSSIERS>

Ce code me permet bien d'afficher mes titres de niveau 1 mais reprend pour chacun de ces titres chaque titre de contenu et cela donne :

xxx
   Titre Contenu 1
   Titre Contenu 2
   Titre Contenu 3
   Titre Contenu 4
   Titre Contenu 5
   Titre Contenu 6
   Titre Contenu 7
   Titre Contenu 8
yyy
   Titre Contenu 1
   Titre Contenu 2
   Titre Contenu 3
   Titre Contenu 4
   Titre Contenu 5
   Titre Contenu 6
   Titre Contenu 7
   Titre Contenu 8

Mon erreur se situe sans doute au niveau de la récupération de l'id du dossier. Le problème, c'est que je n'arrive pas à débugger. Si quelqu'un pouvait me mettre sur la bonne piste....

cordialement,
hairvay

Offline


Pas évident de débugger une boucle sans la tester, j'essaye quand même

A priori, j'aurai plutôt fait ça :

<THELIA_MENU_DOSSIERS type="DOSSIER" courante="1" parent="0" profondeur="1" classement="manuel">
                <li class="rubrique">#TITRE</li>
                    <ul>
                    <THELIA_BLOC_SOUS_MENU type="DOSSIER" parent="#ID">
                    <THELIA_SOUS_MENU_CONTENU type="CONTENU" id="#ID" courante="0">
                        <li><a href="#URL">#TITRE</a></li>
                    </THELIA_SOUS_MENU_CONTENU>    
                    </THELIA_BLOC_SOUS_MENU>
                        <li class="invisibleW3C"> </li>    
                    </ul>
            </THELIA_MENU_DOSSIERS>

question indiscrète : à quoi peut bien servir ce li class="invisibleW3C" qui figure dans le menu ?

Last edited by jhr (13-08-2007 22:32:17)

Offline


suite au post précédent, il est possible qu'il y ait un problème au niveau dela doc sur cette boucle car nous avons comme paramètres d'entrée :
dossier : dossier du contenu
id : id du dossier

qelqu'un aurait'il une info ?

Offline


salut jhr et merci pour ton coup de main,

j'avais déjà testé ta soluce mais ce n'est malheureusement pas cela. Niveau affichage, cela donne, quel que soit le titre de niveau 1 choisi :


xxx
yyy
      Titre Contenu 6
      Titre Contenu 8

Concernant ta question sur la class "invisibleW3C", ce n'est qu'un copier-coller du code de la version 1.3 et que j'ai oublié de zapper.

++

Offline


Avec le code suivant les boucles fonctionnent :

<THELIA_MENU_DOSSIERS type="DOSSIER" courante="1" parent="0" profondeur="1" classement="manuel">
 <li class="rubrique">Dossier : #TITRE</li>
    <ul>
      <THELIA_BLOC_SOUS_MENU type="DOSSIER" parent="#ID">
		<li>Sous dossier : #TITRE</li>
           <THELIA_SOUS_MENU_CONTENU type="CONTENU" dossier="#ID" courante="0">
              <li><a href="#URL">contenu : #TITRE</a></li>
           </THELIA_SOUS_MENU_CONTENU>    
       </THELIA_BLOC_SOUS_MENU>
<li class="invisibleW3C"> </li>    
    </ul>
</THELIA_MENU_DOSSIERS>

J'ai ajouté du texte pour visualiser plus facilement la hiérarchie des boucles.

Je confirme les remarques de mon deuxième post :
dans une boucle CONTENU
dossier="#ID" fait référence au dossier propriétaire du contenu
id="#ID" fait référence à l'ID du contenu et non à celle du dossier !

Dans l'extrait de code cité dans les posts, la séquence des balises ul/id n'est pas correcte, on doit toujours avoir, par exemple :

<ul>
  <li>
       <ul>
            <li></li>
             ......
       </ul>
   </li>
</ul>

un <ul> ne peut pas être parent d'un <li> ou vide
un <li> ne peut pas être parent d'un <li> et doit être enfant d'un <ul>

Last edited by jhr (14-08-2007 10:14:48)

Offline


ok, merci jhr. Le problème était effectivement sur la confusion id / dossier dans les paramètres d'entrée de la boucle DOSSIER. Tout roule désormais.

@ bientôt,
hairvay