Sites


Lutece : guide intégrateur

L'apparence des menus du site

Lutece offre deux possibilités pour le choix du menu : utiliser le menu issu du coeur (géré par une feuille de style XSL : menu_main.xsl) ou le plugin Menus pour une personnalisation plus avancée.

Le menu par défaut

Nativement, le menu d'origine du site est constitué par la feuille de style XSL qui se trouve dans Charte > Gestion des feuilles de style XSL sous le nom de "Menu principal". 

Il permet d'intégrer un menu simple qui affichera les pages de premier niveau.

Exemple d'insertion dans le fichier page_frameset.html :

div class="container">
<!-- container -->
${page_main_menu}
${page_path}
${page_content}
<!-- container -->
</div>

Il existe deux autres feuilles de style qui permettent d'afficher les pages sous forme de liste et de sous-liste : menu_init.xsl ou sous forme d'arborescence : menu_tree.xsl

 

Pour obtenir le rendu de ce menu, il faut insérer dans le fichier conteneur page_frameset.html la balise :

${page_init_menu}

Utiliser le plugin Menus

Le plugin Menus permet de concevoir des menus particuliers qui vont s'insérer dans le site par des bookmarks. La personnalisation de ces menus se fait dans les templates html se trouvant dans WEB-INF/templates/skin/plugins/menus.

Menu à un niveau du site du Budget Participatif

Menu classique un niveau

Le fichier main_tree_pages_list.html affiche le premier niveau d'arborescence du menu :

<#if menu.childs?has_content>
    <div id="content">
        <ul>
            <#list menu.childs as submenu>
                <li><a href="${site_path}?page_id=${submenu.page.id}" target="_top">${submenu.page.name} - ${submenu.page.description}</a></li>
            </#list>
        </ul>
    </div>
</#if>

Ce template de menu peut être inclus dans page_frameset.html via la balise Freemarker suivante :

${page_tree_menu_main_all_pages}

Menu classique 2 niveaux

Le fichier main_tree_pages_list_tree.html affiche quant à lui le premier niveau d'arborescence ainsi que le niveau inférieur :

<#if menu.childs?has_content>
    <div id="content">
        <ul>
            <#list menu.childs as submenu >
                <a href="${site_path}?page_id=${submenu.page.id}" target="_top">${submenu.page.name} - ${submenu.page.description}</a></li>
                    <#if submenu.childs?has_content>
                        <ul>
                            <#list submenu.childs as subsubmenu >
                                <li><a href="${site_path}?page_id=${subsubmenu.page.id}" target="_top">${subsubmenu.page.name} - ${subsubmenu.page.description}</a></li>         
                            </#list>
                        </ul>
                    </#if>
            </#list>
        </ul>
    </div>    
</#if>

Ce template de menu peut être inclus dans page_frameset.html via la balise Freemarker suivante :

${page_tree_menu_tree_all_pages}

Menu XPages

Dans le cadre de développements spécifiques, les contenus sont affichés via des pages dites "XPages", pour lesquelles il existe également un type de menu qui affiche exclusivement les XPages, et dont le template est le fichier xpages_list.html :

<ul>
    <#list xpages_list as xpage>
        <li><a href="${site_path}?page=${xpage.name}">${xpage.name}</a></li>
    </#list>
</ul>

Ce template de menu peut être inclus dans page_frameset.html via la balise Freemarker suivante :

${xpage_menu}

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.