CMS Automne
http://www.automne-cms.org/forum/

[atm-linx] Menu sans afficher l'arborescence ?
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=1018
Page 1 sur 1

Auteur:  zhym [ Mar Sep 27, 2011 8:27 am ]
Sujet du message:  [atm-linx] Menu sans afficher l'arborescence ?

Bonjour,

J'ai un petit soucis avec l'affichage de mon menu.
Mon site a l'arborescence ci dessous.
Code :
root (redirection vers accueil)
    accueil
        page1
        page2
        page3
        page4


Je voudrais afficher le menu suivant :
  • accueil
  • page1
  • page2
  • page3
  • page4

Pour cela je suis partie sur la base ci dessous.
Code :
        <atm-linx type="recursivelinks">
          <selection>
            <start><nodespec type="relative" value="root" /></start>
          </selection>
          <display mode="close" root="false">
            <htmltemplate><li><a href="{{href}}">{{title}}</a>{{sublevel}}</li></htmltemplate>
            <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate>
          </display>
        </atm-linx>


Si j’enlève l'option "root=false" dans le display, j'ai mon arborescence qui s'affiche avec la sous arborescence de mes pages. Si je met toutes mes pages au même niveau, mon menu ne s'affiche pas.

Existe t'il un moyen simple de ne pas afficher l'arborescence de mes pages dans mon menu ?

Auteur:  Cguillaume [ Mar Sep 27, 2011 8:50 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Tu dois utiliser une condition pour n'afficher que le premier niveau de recursivité dans ton menu en utilisant dans ton <atm-linx> le tag <condition>.

voir l'aide http://doc.automne-cms.org/web/Documentation/276-gestion-des-liens-de-navigation-les-tags-atm-linx.php

Auteur:  zhym [ Mar Sep 27, 2011 10:01 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Je peu me tromper, mais je ne pense pas que ça va résoudre mon problème. Car je veux quand même faire apparaître ma page d'accueil dans mon menu.

En fait si j'utilise ma méthode, cela affiche le menu comme ci dessous.
  • accueil
    • page1
    • page2
    • page3
    • page4

Et moi je souhaite avoir
  • accueil
  • page1
  • page2
  • page3
  • page4

Si je restreins avec le premier niveau de recursivité, je pense que j'aurais la même chose qu'avec le paramètre "root=false" dans la balise display
  • page1
  • page2
  • page3
  • page4

Auteur:  Cguillaume [ Mar Sep 27, 2011 10:57 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

ok j'avais pas compris la question initiale.

Le plus est alors de créer une arborescence :
- ACCUEIL (page 1)
- accueil (page 2)
- pageA (page 3)
- pageB (page 4)
- pageC (page 5)
- pageD (page 6)

Et de créer ton arborescence de menu à partir de la page 1, ton accueil étant en page 2.
(Tu peux créer des pages de redirection pour simplifier la création de menu)

Auteur:  zhym [ Mar Sep 27, 2011 11:02 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Pourquoi pas, ça peu être la solution, je vais tester tout ça :mrgreen:

Auteur:  Frank [ Mer Sep 28, 2011 6:29 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Citer:
Existe t'il un moyen simple de ne pas afficher l'arborescence de mes pages dans mon menu ?


Guillaume a déjà répondu en ce qui concerne la limitation du niveau de récursivité affiché qui dépend de la condition employée.

Le code qui correspond à ton exemple serait :

Code :
<atm-linx type="recursivelinks">
        <selection>
            <!-- On démarre à la racine du site -->
            <start><nodespec type="relative" value="root"/></start> 
            <!-- On ne veut afficher que 2 niveaux de l'arborescence -->
            <condition property="lvl" operator="&lt;=">
                <value type="data">2</value>
            </condition>
        </selection>
         ........
</atm-linx


Le deuxième point que tu évoques à savoir avoir un affichage qui donne l'impression que tout est au même niveau dépend entièrement de CSS.

Exemple pour supprimer les marges des listes de second niveau :
Code :
.CMS_lvl1,.CMS_lvl2{margin:0}

Auteur:  zhym [ Mer Sep 28, 2011 11:52 pm ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Mettre le style ci dessous ne suffit pas.
Code :
.CMS_lvl2 {margin:0}


En modifiant légèrement le style comme ci dessous, j'arrive bien a afficher mon menu sur une seule colonne
Code :
#menu ul.CMS_lvl2 {
  position:relative;
  left : -35px;
}


Le problème c'est que j'ai un style précis sur la balise <li>, et que le code source généré ne m'arrange pas vu que j'ai toujours mon arborescence dans mon source html.
Code :
<div id="menu">
   <ul class="CMS_lvl1">
      <li class="CMS_lvl1 CMS_open CMS_current">
         <a class="CMS_lvl1" href="http://####/2-accueil.php">Accueil</a>
         <ul class="CMS_lvl2"
            <li class="CMS_lvl2 CMS_nosub ">
               <a class="CMS_lvl2" href="http://####/3-cour-d-art-floral.php">Cour d'art floral</a>
            </li>
            <li class="CMS_lvl2 CMS_nosub ">
               <a class="CMS_lvl2" href="http://####/4-mariage.php">Mariage</a>
            </li>
            <li class="CMS_lvl2 CMS_nosub ">
               <a class="CMS_lvl2" href="http://####/5-livraisons.php">Livraisons</a>
            </li>
            <li class="CMS_lvl2 CMS_nosub ">
               <a class="CMS_lvl2" href="http://####/6-contact.php">Contact</a>
            </li>
         </ul>
      </li>
   </ul>   
</div>


Je vais retester la page tampon comme me l'a indiqué Cguillaume, je vais bien réussir à générer un menu propre quand même ^^

Auteur:  Frank [ Jeu Sep 29, 2011 8:26 am ]
Sujet du message:  Re: [atm-linx] Menu sans afficher l'arborescence ?

Encore une fois c'est juste une question de CSS, justement les différentes classes à ta disposition te permettent de styler ton menu comme bon te semble.

Je te conseille d'utiliser un reset.css (cf . http://yuilibrary.com/yui/docs/cssreset/ par exemple) puis de styler de la même manière tes différents niveaux de menu.

Code :
/* Listes */
ul.CMS_lvl1, ul.CMS_.lvl2 { }
/* Eléménts des listes */
.CMS_lvl1 li { }
/* Liens des listes */
.CMS_lvl1 a { }

Page 1 sur 1 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/