CMS Automne

Forum de la communauté du CMS Automne
Nous sommes actuellement le Mer Nov 27, 2024 2:13 pm

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 8 messages ] 
Auteur Message
MessagePublié: Mar Sep 27, 2011 8:27 am 
Hors-ligne

Inscrit(e) le : Ven Août 12, 2011 11:07 am
Message(s) : 18
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 ?


Haut
 Profil  
 
MessagePublié: Mar Sep 27, 2011 8:50 am 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
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


Haut
 Profil  
 
MessagePublié: Mar Sep 27, 2011 10:01 am 
Hors-ligne

Inscrit(e) le : Ven Août 12, 2011 11:07 am
Message(s) : 18
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


Haut
 Profil  
 
MessagePublié: Mar Sep 27, 2011 10:57 am 
Hors-ligne
Avatar de l’utilisateur

Inscrit(e) le : Mar Août 24, 2010 3:48 pm
Message(s) : 109
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)


Haut
 Profil  
 
MessagePublié: Mar Sep 27, 2011 11:02 am 
Hors-ligne

Inscrit(e) le : Ven Août 12, 2011 11:07 am
Message(s) : 18
Pourquoi pas, ça peu être la solution, je vais tester tout ça :mrgreen:


Haut
 Profil  
 
MessagePublié: Mer Sep 28, 2011 6:29 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
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}

_________________
Frank
http://www.automne-cms.org


Haut
 Profil  
 
MessagePublié: Mer Sep 28, 2011 11:52 pm 
Hors-ligne

Inscrit(e) le : Ven Août 12, 2011 11:07 am
Message(s) : 18
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 ^^


Haut
 Profil  
 
MessagePublié: Jeu Sep 29, 2011 8:26 am 
Hors-ligne
Administrateur
Avatar de l’utilisateur

Inscrit(e) le : Jeu Juin 16, 2005 8:05 am
Message(s) : 628
Localisation : Toulouse, France
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 { }

_________________
Frank
http://www.automne-cms.org


Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 8 messages ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 99 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de:
Aller vers :  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduit par Maël Soucaze et Elglobo © phpBB.fr