Code source wiki de Top panel menu documentation

Modifié par Ricardo Julio Rodríguez Fernández le 2024/07/25 08:59

Afficher les derniers auteurs
1 {{box cssClass="floatinginfobox" title="**Sommaire**"}}
2 {{toc numbered="true" depth="3"/}}
3 {{/box}}
4
5 = Liste des pages du menu =
6 La racine des sous-pages à partir de laquelle il faut créer les sous-pages étant [[CustomExtension.TopPanelMenu.Content.WebHome]] (CustomExtension.TopPanelMenu.Content.WebHome)
7
8 Ci-dessous: Nom de la page (**Titre de la page**) et leur contenu: **Le nommage des pages est important**.
9 Apparaissent en jaune et gros caractères les pages qui sont mal nommées et qui doivent être renommée et/ou déplacée (redirection à décocher).
10
11 **Rappel: **Les préfixes des noms de pages à utiliser sont sont: **Tab-**xx //(Titre à modifier)//-> **Col-**xx -> **Listitem-**xx //(Titre à modifier)//. //xx étant un nombre pour trier les éléments du menu.//
12
13
14 {{velocity}}
15 #set($MyDoc=$xwiki.getDocument("CustomExtension.TopPanelMenu.Content.WebHome"))
16 #set ($depth = 3)
17 #set ($limit = 10)
18 #set($TabPrefx = 'Tab-')
19 #set($colPrefx = 'Col-')
20 #set($ListPrefx = 'Listitem-')
21 #macro (children $parentDoc $level)
22 #foreach ($child in $parentDoc.getChildren($limit, 0))
23 #set ($childDoc = $xwiki.getDocument($child))
24 #set($ParentName=$childDoc.documentReference.parent.name)
25 #if ($ParentName.startsWith("$ListPrefx")||$ParentName.startsWith("$TabPrefx")||$ParentName.startsWith("$colPrefx"))
26 #set ($ErrorColor = ' ')
27 #else
28 #set ($ErrorColor = ' style="background-color: yellow;font-size: large;" ')
29 #end
30 ## $stringtool.repeat('*', $level) {{html}}<a href="$childDoc.getURL()">$escapetool.xml($childDoc.plainTitle)</a>{{/html}}
31 $stringtool.repeat('*', $level) (%$ErrorColor%)[[$childDoc]](%%) (**$escapetool.xml($childDoc.plainTitle)**)
32 #if ($ParentName.startsWith("$ListPrefx"))
33 (% class="box infomessage" %)(((
34 {{include reference="$childDoc" /}}
35 )))
36 #end
37 #if ($level < $depth)
38 #children ($childDoc $mathtool.add($level, 1))
39 #end
40 #end
41 #end
42 ## Call children macro above
43 #children ($MyDoc 1)
44
45 {{/velocity}}
46
47 =Architecture du menu déployable=
48 Le menu déployable est composé
49 * d'onglets (Tab-xx)
50
51 Le menu déployé lorsqu’on clique sur un onglet affiche:
52 * une à 4 colonnes (Col-xx)
53 * et 1 à plusieurs groupes de raccourci: (Listitem-xx)
54
55 Tous le code se trouve dans [[CustomExtension.TopPanelMenu.Content.WebHome]] et les sous-pages contiennent les listes des raccourcis (Listitem-xx).
56
57 Pour rajouter un onglet (**Tab-xx**), il suffit de créer une sous page de [[CustomExtension.TopPanelMenu.Content.WebHome>>CustomExtension.TopPanelMenu.Content.WebHome]] ayant pour nom "Tab-xx" (xx étant le numéro pour le tri des onglets et pour titre, le libellé de l'onglet).
58
59 Pour rajouter une colonne (**Col-xx**) dans le menu déployé, il suffit de créer une sous page de "Personnalisation.Menu.Content.Tab-01.WebHome" ayant pour nom "Col-xx" (xx étant le numéro pour le tri des colonnes. //Le titre n'a pas d'importance ici//, par ex. [[CustomExtension.TopPanelMenu.Content.Tab-01.Col-01.WebHome>>CustomExtension.TopPanelMenu.Content.Tab-01.Col-01.WebHome]]
60
61 Pour rajouter un groupe de raccourci (**Listitem-xx**), il suffit de créer une sous page de "CustomExtension.TopPanelMenu.Content.Tab-xx.Col-xx.WebHome" ayant pour nom "Listitem-xx" (xx étant le numéro pour le tri des groupes et pour titre, le titre du groupe de raccourci, par ex.: [[CustomExtension.TopPanelMenu.Content.Tab-01.Col-01.Listitem-01.WebHome>>CustomExtension.TopPanelMenu.Content.Tab-01.Col-01.Listitem-01.WebHome]] . Les raccourci sont rajoutés dans cette page sous forme de liste à puces.
62
63 Il n'y a aucune page terminale.
64
65 Pour supprimer un groupe de raccourci, une colonne ou encore un onglet, il suffit de supprimer la page concernée ainsi que ses pages filles.
66 Il est possible de déplacer un groupe de raccourci, une colonne ou encore un onglet, il suffit de déplacer la page et ses pages enfants (décocher redirection) en prenant soin de la déplacer au bon emplacement (**arborescence: Content->Tab-xx->Col-xx->Listitem-xx**) et de nommer la page correctement : Tab-xx,Col-xx,Listitem-xx
67
68 Pour naviguer dans les différentes pages pour créer/modifier le menu, il est opportun d'utiliser le fil d'arianne.