Menu

Voici déjà quelques sites que je fais où je décide de couper le menu en deux parties :

  1. Les entrées de premier niveau
  2. Les entrées des niveaux et sous-niveaux suivants

Le principe est le suivant pour ce site qui a la structure suivante :

racine
|-- Tutoriels
| |-- TYPO3
| | |-- Site complet
| | `-- …
| `-- LaTeX
| |-- Articles
| `-- …
|-- Programmation
| `-- …
|-- Multimédia
`-- Internet

Entrées de premier niveau

Le but est d’obtenir une liste avec les sujets principaux :

  • Tutoriels
  • Programmation
  • Multimédia
  • Internet

ce qui est très facile puisqu’il suffit de ne définir qu’un seul niveau d’entrées de menu :

lib.menu = HMENU
lib.menu.1 = TMENU
lib.menu.1 {
	noBlur = 1
	wrap = <ul>|</ul>
	NO {
		wrapItemAndSub = <li>|</li>
		ATagTitle.field = description // subtitle // title
	}
	ACT = 1
	ACT {
		wrapItemAndSub = <li class="active">|</li>
		ATagTitle.field = description // subtitle // title
	}  
}

Entrées des niveaux suivants

Le but est d’obtenir la liste des pages de la rubrique sélectionnée. Donc en prenant l’exemple de la rubrique « Tutoriels », nous aurions :

  • TYPO3
    • Site complet
  • LaTeX
    • Articles

ce qui est très facile grâce au paramètre entryLevel :

lib.submenu = HMENU
lib.submenu.entryLevel = 1
lib.submenu.1 = TMENU lib.submenu.1 { # Expand next sublevel expAll = 1 noBlur = 1 wrap = <ul>|</ul> NO { wrapItemAndSub = <li>|</li> ATagTitle.field = description // subtitle // title } ACT = 1 ACT { wrapItemAndSub = <li class="active">|</li> ATagTitle.field = description // subtitle // title } }   lib.submenu.2 < lib.submenu.1 lib.submenu.2 { # Do not expand further expAll = 0 }   lib.submenu.3 < lib.submenu.2 lib.submenu.4 < lib.submenu.3

Je me suis arrêté à 4 sous-niveaux, mais vous avez compris le principe je suppose. Il faut également remarquer que j’ai défini lib.menu et lib.submenu. Ce sont 2 objets que je peux inclure dans mon modèle TemplaVoilà!

Flattr