Menu
Le fichier menu.xml
Les différents onglets et sous-onglets d’une édition se configurent dans le fichier menu.xml qui est généré, dès la création d’une édition avec l’outil max.sh, dans le dossier [projet]-max/editions/[mon-edition] (cf. Déploiement d’une nouvelle édition).
Ce fichier menu.xml permet d’ajouter autant d’onglets et sous-onglets qu’il est nécessaire.
Ce fichier, dont l’élément-racine est <menu>, contient un ou plusieurs éléments <entry>, correspondant à autant d’onglets ou de sous-onglets.
L’élément <entry> contient un élément <id> pour indiquer l’identifiant et un élément <target> pour mentionner la cible, à savoir la fin de l’URL nom.html. Il peut contenir l’attribut @type avec la valeur main, pour désigner chaque entrée principale.
L’élément <id> peut être associé à une chaîne de caractères à afficher dans telle ou telle langue grâce au fichier i18n.
L’élément <target> permet tout aussi bien de pointer vers :
- une page HTML statique (voir Pages statiques),
- une URL de consultation spécifique, appelée également route*, qui déclenche une fonction Xquery (voir Fonctionnement),
- un lien externe.
Dans l’exemple ci-dessous, le menu contient deux entrées principales (attribut @type="main") : accueil et sommaire.
<menu>
<entry type="main">
<id>accueil</id>
<target>accueil.html</target>
</entry>
<entry type="main">
<id>sommaire</id>
<target>sommaire.html</target>
</entry>
</menu>
- accueil.html pointe (généralement) vers le fragment HTML statique accueil.frag.html (cf. supra) ;
- sommaire.html pointe vers la route qui permet de générer le sommaire d’un document (cf. infra).
Pour créer des sous-entrées (sous-menus) au sein de l’élément <entry type="main">, il faut ajouter un ou plusieurs éléments <entry> : chacun possède un identifiant – élément <id> – ainsi qu’une cible – élément <target>.
Dans l’exemple ci-dessous, le menu contient deux entrées principales accueil et sommaire.
<menu>
<entry type="main" default="true">
<id>home</id>
<target>accueil.html</target>
<!--Sous-entrées pour accueil-->
<entry>
<id>introduction_oeuvre</id>
<target>introduction_oeuvre.html</target>
</entry>
<entry>
<id>presentation_oeuvre</id>
<target>presentation_oeuvre.html</target>
</entry>
<!--Fin Sous-entrées pour accueil-->
</entry>
<entry type="main">
<id>sommaire</id>
<target>sommaire.html</target>
</entry>
</menu>
L’entrée accueil pointe vers l’URL http://[host]:[port]/[edition]/accueil.html et contient deux sous-entrées introduction_oeuvre et presentation_oeuvre dont les URL sont respectivement :
http://[host]:[port]/[edition]/introduction_oeuvre.html,http://[host]:[port]/[edition]/presentation_oeuvre.html.
Ces pages HTML (introduction_oeuvre.html et presentation_oeuvre.html) pourront être créées en suivant la documentation Pages statiques.
L’entrée sommaire pointe vers l’URL http://[host]:[port]/[edition]/sommaire.html.
L’affichage du texte du menu est géré par les fichiers de ressources d’internationalisation (appelés i18n*), qui permettent d'adapter l’interface à des langues différentes. Voir le fichier i18n. Par défaut, ce fichier se trouve dans [projet]-max/ui/i18n/i18n.xml. Il peut être surchargé (cf. infra).
Nota bene :
Le fichier i18n-[langue_courante].xml peut être absent de la version packagée de MaX. Auquel cas, vous devrez le créer en remplaçant[langue_courante]par l'abréviation de la langue en deux caractères, comme : i18n-fr.xml ou i18n-en.xml
Modification de la mise en forme du menu
Le menu HTML est le résultat de la transformation du fichier [projet]-max/editions/[mon-edition]/menu.xml par la feuille XSL par défaut placée dans [projet]-max/ui/xsl/core/menu.xsl.
Cette feuille de transformation par défaut peut être remplacée par une feuille personnalisée menu.xsl, qu'il faut alors placer dans le dossier [mon-edition]/ui/xsl/core/.
Trois paramètres sont disponibles dans cette XSL :
- baseURI : baseURI* du projet,
- selectedTarget : entrée de menu courante (valeur d’un des attributs @target).
- projectId : identifiant de l’édition,
Menu à gauche
Pour configurer un menu à gauche dans la version de démonstration max_tei_demo, il est nécessaire d’activer la surcharge de transformation du menu en renommant le fichier menu_left.xsl du dossier [projet]-max/editions/max_tei_demo/ui/xsl/core en menu.xsl.
Faire de même avec le template HTML, en renommant le fichier template_left.html du dossier [projet]-max/editions/max_tei_demo/ui/templates en template.html.
Cette manipulation permet à MaX de lire ces fichiers au lieu des fichiers par défaut. Pour ce faire, il faut que les fichiers présents dans le dossier edition ait le même nom que les fichiers lus par défaut. Avant d'être renommés, les fichiers menu_left.xsl et template_left.html n'étaient en effet pas lus.
Voir la section surcharges.