Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
« Pleade Menus » : différence entre les versions
m →Élément {{tag|menu}} : typo |
m →Élément {{tag|item}} : typo |
||
| Ligne 108 : | Ligne 108 : | ||
Le texte affiché pour l'item est celui que l'on trouve à l'intérieur de l'élément {{tag|item}}. Dans le fichier par défaut de Pleade, ce texte utilise le mécanisme [[i18n]] de Cocoon, mais cela n'est pas obligatoire et n'est pas documenté ici. On peut également y insérer du simple texte. | Le texte affiché pour l'item est celui que l'on trouve à l'intérieur de l'élément {{tag|item}}. Dans le fichier par défaut de Pleade, ce texte utilise le mécanisme [[i18n]] de Cocoon, mais cela n'est pas obligatoire et n'est pas documenté ici. On peut également y insérer du simple texte. | ||
==== Attributs de l'élément {{tag|item}} ==== | |||
Ensuite, les informations qui définissent le comportement de l'item sont renseignées en attribut de l'élément item. Nous les définissons de la façon suivante : | Ensuite, les informations qui définissent le comportement de l'item sont renseignées en attribut de l'élément item. Nous les définissons de la façon suivante : | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
| Ligne 160 : | Ligne 161 : | ||
| {{attr|onclick}} || ''Optionnel''. Cet attribut et son contenu sont reportés dans le HTML généré. | | {{attr|onclick}} || ''Optionnel''. Cet attribut et son contenu sont reportés dans le HTML généré. | ||
|- | |- | ||
| {{attr|context}} || ''Optionnel''. Le contexte où cet item est « actif », c'est-à-dire le patron d'URL qui, s'il est respecté par la page en cours d'affichage, rend l'item actif. Le patron est une expression régulière valide selon la norme XSLT<ref>[http://www.w3.org/TR/xpath-functions/#regex-syntax Regular Expression Syntax] XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)</ref><ref>[http://www.datypic.com/books/defxmlschema/chapter10.html Definitive XML Schema, Chapter 10: Regular expressions]</ref><ref>[http://www.xml.com/pub/a/2003/06/04/tr.html Regular Expression Matching in XSLT 2]</ref>. Le contexte peut aussi être donné par l'attribut {{attr|href}}, dans ce cas, il faut indiquer {{value|@href}} | | {{attr|context}} || ''Optionnel''. Le contexte où cet item est « actif », c'est-à-dire le patron d'URL qui, s'il est respecté par la page en cours d'affichage, rend l'item actif. Le patron est une expression régulière valide selon la norme XSLT<ref>[http://www.w3.org/TR/xpath-functions/#regex-syntax Regular Expression Syntax] XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)</ref><ref>[http://www.datypic.com/books/defxmlschema/chapter10.html Definitive XML Schema, Chapter 10: Regular expressions]</ref><ref>[http://www.xml.com/pub/a/2003/06/04/tr.html Regular Expression Matching in XSLT 2]</ref>. | ||
Le contexte peut aussi être donné par l'attribut {{attr|href}}, dans ce cas, il faut indiquer {{value|@href}} | |||
comme contexte. | comme contexte. | ||
Par exemple, si le contexte est {{path|edit/.*}}, cela signifie que l'item sera actif lorsque la page affiché a une URL qui comme par {{path|edit/}}. | Par exemple, si le contexte est {{path|edit/.*}}, cela signifie que l'item sera actif lorsque la page affiché a une URL qui comme par {{path|edit/}}. | ||
|- | |- | ||
| Ligne 168 : | Ligne 171 : | ||
|- | |- | ||
| {{attr|title}} || ''Optionnel'', mais recommandé pour des raisons d'accessibilité et de facilité d'utilisation. | | {{attr|title}} || ''Optionnel'', mais recommandé pour des raisons d'accessibilité et de facilité d'utilisation. | ||
Le texte qui sera affiché en bulle d'aide lorsque l'utilisateur passe la souris au-dessus du lien. Par défaut, le | Le texte qui sera affiché en bulle d'aide lorsque l'utilisateur passe la souris au-dessus du lien. Par défaut, le contenu de cet attribut est une clé [[i18n]] dont la valeur est définie dans un fichier de message. | ||
contenu de cet attribut est une clé [[i18n]] dont la valeur est définie dans un fichier de message. | |||
Cette méthode simplifie l'internationalisation de l'application. Mais ce n'est pas obligatoire, on peut y mettre le texte directement. | Cette méthode simplifie l'internationalisation de l'application. Mais ce n'est pas obligatoire, on peut y mettre le texte directement. | ||
|- | |- | ||
| {{attr|reserve}} || ''Optionnel''. Cet attribut peut contenir un ou plusieurs rôles (séparés par une {{var|espace}}), et si c'est le cas | | {{attr|reserve}} || ''Optionnel''. Cet attribut peut contenir un ou plusieurs rôles (séparés par une {{var|espace}}), et si c'est le cas l'item ne sera visible que si l'utilisateur est identifié et joue l'un de ces rôles. | ||
l'item ne sera visible que si l'utilisateur est identifié et joue l'un de ces rôles. | |||
{{important|Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible par tous}} | {{important|Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible par tous}} | ||
|- | |- | ||
| {{attr|reserve-uri}} || ''Optionnel''. Cet attribut peut contenir un ou plusieurs patrons d'URL (séparés par une {{var|espace}}), et si | | {{attr|reserve-uri}} || ''Optionnel''. Cet attribut peut contenir un ou plusieurs patrons d'URL (séparés par une {{var|espace}}), et si c'est le cas l'item ne sera visible que si l'URL demandée correspond à l'un des patrons. | ||
c'est le cas l'item ne sera visible que si l'URL demandée correspond à l'un des patrons. | |||
{{important|Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible pour toutes les URL}} | {{important|Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible pour toutes les URL}} | ||
|} | |} | ||
== Références == | == Références == | ||
Version du 28 mai 2012 à 14:19
Menus
Pleade propose des menus de navigation qui sont construits dynamiquement à partir du fichier de configuration module-eadeac/conf/menus.xconf (voir en [[Annexe/Fichier de configuration des menus]]). Chaque menu et chaque item y est défini de manière déclarative, sans programmation. La structure XML de ce fichier est très simple. Nous allons l'aborder par étape.
Structure générale
La structure générale du fichier est la suivante :
<menus>
<menu id="" type="">
<item id="" type="" … />
<item id="" type="" … />
<item id="" type="" … >
<item id="" type="" … />
<item id="" type="" … />
⋮
</item>
⋮
</menu>
<menu>
⋮
</menu>
</menus>
Ainsi, au premier niveau, le fichier contient un élément <menus> qui contient un ou plusieurs élément(s) <menu>. Ces derniers contiennent des éléments <item>, qui peuvent eux-mêmes contenir d'autres éléments <item>, ce qui constitue un sous-menu en quelque sorte.
Nous allons documenter d'abord la définition d'un <menu>, ensuite des <item>.
Élément <menu>
La définition d'un menu est fait à l'aide de la structure XML suivante :
<menu
id=""
type=""
depends=""
reserve=""
class="pl-accordion"
>
<item … />
<menu … />
⋮
</menu>
Un élément <menu> peut contenir un sous-élément <menu>, <item> ou les deux types.
Les informations importantes sont donc définies dans les quatre attributs, définis ci-dessous :
| Paramètre | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| id | Obligatoire. L'identifiant du menu.
Il doit être unique parmi tous les identifiants du fichier, menus ou items. Il sert notamment à déclarer les dépendances entre menus. | ||||||||
| type | Obligatoire. Le type de menu, qui détermine notamment son emplacement dans la page. Les valeurs possibles sont :
| ||||||||
| depends | Optionnel. La dépendance du menu par rapport à un autre.
Si un menu est dépendant d'un autre, il ne sera affiché que si le menu dont il est dépendant est lui-même actif. Le contenu de l'attribut est l'identifiant du menu dont il dépend. Si l'attribut n'est pas présent, il n'y a aucune dépendance (le menu est toujours affiché). | ||||||||
| class | Optionnel. Permet de donner une classe particulière pour ajuster la mise en forme dans une feuille de style CSS.
Dans le cas, d'un menu vertical (type vleft), si on donne la classe pl-accordion à un menu, celui-ci s'affichera sous la forme d'un accordéon, c'est-à-dire que l'on peut plier ou déplier ses sous-entrées. Fichier:Exemple/menu-accordéon.png | ||||||||
| default | Optionnel. Avec la valeur true permet de préciser le menu à afficher par défaut.
Remarques : Il ne doit être présent que sur un seul menu par type. Il est surtout utile pour les menus verticaux ; il peut y en avoir plusieurs car on peut associer à menu vertical à un onglet. |
Élément <item>
La définition des attributs des items permet d'automatiser la création de plusieurs types de liens.
Pour ce qui est de son contenu, un item doit fournir une indication à l'utilisateur (un « texte ») et, dans la plupart des cas, un lien hypertexte.
La structure générale d'un item de menu est la suivante :
<item
id=""
type=""
href=""
context=""
title=""
field=""
reserve=""
reserve-uri=""
>
Texte affiché du menu
<item … />
⋮
</item>
Un <item> peut contenir d'autres items, qui définissent ainsi des sous-menus, ou encore des items de niveau inférieur. La structure des éléments <item> est la même peu importe le niveau.
Le texte affiché pour l'item est celui que l'on trouve à l'intérieur de l'élément <item>. Dans le fichier par défaut de Pleade, ce texte utilise le mécanisme i18n de Cocoon, mais cela n'est pas obligatoire et n'est pas documenté ici. On peut également y insérer du simple texte.
Attributs de l'élément <item>
Ensuite, les informations qui définissent le comportement de l'item sont renseignées en attribut de l'élément item. Nous les définissons de la façon suivante :
| Paramètre | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| id | Obligatoire. L'identifiant de l'item.
Il doit être unique parmi tous les identifiants du fichier, menus ou items. | ||||||||||||||||||||||||
| type | Obligatoire. Le type d'item.
Plusieurs valeurs sont possibles, et le contenu de l'attribut href sera interprété différemment selon le type d'item :
| ||||||||||||||||||||||||
| href | Obligatoire, sauf pour les liens de type=txt ou type=simple-search.
Indique l'adresse de la cible du lien représenté par cet item. Pour les items de type=link-window ou link-normal, href doit contenir l'adresse URL, qui peut être relative ou absolue (les protocoles supportés sont : http et mailto). Dans le cas d'adresse relative, on doit la renseigner par rapport à l'URL racine de l'application Pleade. Pour les items de type=link-ead, c'est l'identifiant du document EAD uniquement qui doit être renseigné dans cet attribut. | ||||||||||||||||||||||||
| onclick | Optionnel. Cet attribut et son contenu sont reportés dans le HTML généré. | ||||||||||||||||||||||||
| context | Optionnel. Le contexte où cet item est « actif », c'est-à-dire le patron d'URL qui, s'il est respecté par la page en cours d'affichage, rend l'item actif. Le patron est une expression régulière valide selon la norme XSLT<ref>Regular Expression Syntax XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)</ref><ref>Definitive XML Schema, Chapter 10: Regular expressions</ref><ref>Regular Expression Matching in XSLT 2</ref>.
Le contexte peut aussi être donné par l'attribut href, dans ce cas, il faut indiquer @href comme contexte. Par exemple, si le contexte est edit/.*, cela signifie que l'item sera actif lorsque la page affiché a une URL qui comme par edit/. | ||||||||||||||||||||||||
| field | Optionnel et uniquement pour un item de type=simple-search.
Précise le nom du champ de recherche pour la recherche simple, par défaut celui-ci est fulltext. | ||||||||||||||||||||||||
| title | Optionnel, mais recommandé pour des raisons d'accessibilité et de facilité d'utilisation.
Le texte qui sera affiché en bulle d'aide lorsque l'utilisateur passe la souris au-dessus du lien. Par défaut, le contenu de cet attribut est une clé i18n dont la valeur est définie dans un fichier de message. Cette méthode simplifie l'internationalisation de l'application. Mais ce n'est pas obligatoire, on peut y mettre le texte directement. | ||||||||||||||||||||||||
| reserve | Optionnel. Cet attribut peut contenir un ou plusieurs rôles (séparés par une espace), et si c'est le cas l'item ne sera visible que si l'utilisateur est identifié et joue l'un de ces rôles.
Important :
Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible par tous. | ||||||||||||||||||||||||
| reserve-uri | Optionnel. Cet attribut peut contenir un ou plusieurs patrons d'URL (séparés par une espace), et si c'est le cas l'item ne sera visible que si l'URL demandée correspond à l'un des patrons.
Important :
Par défaut, c'est-à-dire si l'attribut n'est pas renseigné, l'item est visible pour toutes les URL. |
Références
<references/>