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

Menu composé de liens "personnalisés" à partir de <li>
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=602
Page 1 sur 1

Auteur:  Thalyn [ Ven Jan 22, 2010 5:09 am ]
Sujet du message:  Menu composé de liens "personnalisés" à partir de <li>

Bonjour, :)


Je tente de faire un menu où chaque liens du menu à sa propre "apparence"

Comme par exemple, un menu qui pourrait ressembler à :
Lien1 | Lien 2 | Lien3 | Lien 4

J'ai déjà mon petit menu hroizontale qui est codé de cette façon :
Code :
<atm-linx type="sublinks">
      <selection>
         <start><nodespec type="relative" value="self" /></start>
      </selection>
      <display>
         <htmltemplate><li><a href="{{href}}">{{title}}</a></li></htmltemplate>
         <subleveltemplate><ul>{{sublevel}}</ul></subleveltemplate>
      </display>
</atm-linx>


J'ai eu donc l'idée de fixer un identifiant qui serait automatiquement incrémenté à la balise <li>. L'identifiant est tout simplement le titre du lien, de cette manière :
Code :
...
         <htmltemplate><li class="{{title}}"><a href="{{href}}">{{title}}</a></li></htmltemplate>
...


Ce qui donne donc à l'affichage (source de la page web affichée) :
Code :
   <ul>
      <li class="Lien1"><a href="http://www.siteweb.fr/web/fr/3-Lien1.php">Lien1</a></li>
      <li class="Lien2"><a href="http://www.siteweb.fr/web/fr/43-Lien2.php">Lien2</a></li>
      <li class="Lien3"><a href="http://www.siteweb.fr/web/fr/39-Lien3.php">Lien3</a></li>
      <li class="Lien4"><a href="http://www.siteweb.fr/web/fr/40-Lien4.php">Lien4</a></li>
   </ul>


Il me reste donc plus qu'à renseigner les "class" Lien1, Lien2 etc... dans mon fichier CSS
Comme par exemple (je me permet d'en mettre un, au cas où un utilisateur souhaiterai faire un menu de ce type) :
Code :
.Lien1 a
{ font-size:    8px; color: #0000FF; }
.Lien1 a:hover
{ font-size:    8px;    font-weight: bold; text-transform: uppercase; color: #00BFFF; }

.Lien2 a
{ font-size:    8px; color: #408080; }
.Lien2 a:hover
{ font-size:    8px;    font-weight: bold; text-transform: uppercase; color: #BFFF80; }
etc...


Pas de soucis ça fonctionne... je pourrai donc me contenter de ça finalement (surtout que mon menu ne devrait pas changer souvent)

Mais l'idéal en fait, serait qu'a chaque fois que je crée une nouvelle entrée dans le menu, ou que je change tout simplement le "Lien1" par le "Lien43", que je n'ai pas besoin de retoucher à mon fichier css.

Donc dans le même genre, serait-il possible plutôt d'inclure un identifiant (numérique par exemple) au lieu du {{title}} ?

Je sais pas si je suis clair, je vais tenter une explication :
Si mon menu à 4 entrées, l'idéal serait que le code s'écrive :
Code :
   <ul>
      <li class="1"><a href="http://www.siteweb.fr/web/fr/3-Lien1.php">Lien1</a></li>
      <li class="2"><a href="http://www.siteweb.fr/web/fr/43-Lien2.php">Lien2</a></li>
      <li class="3"><a href="http://www.siteweb.fr/web/fr/39-Lien3.php">Lien3</a></li>
      <li class="4"><a href="http://www.siteweb.fr/web/fr/40-Lien4.php">Lien4</a></li>
   </ul>


Et que dans le cas où je devais changer le 4eme lien de mon menu par exemple, l'id "4" ne changerait pas. Ce nouveau lien conserverait donc la même apparence que le lien qu'il a remplacé.
Existe t'il aujourd'hui une variable/tag/fonction déjà implanté dans Automne qui pourrait faire cela ?

Pas certain d'avoir été plus clair lol
@+

Auteur:  Sébastien [ Ven Jan 22, 2010 9:18 am ]
Sujet du message:  Re: Menu composé de liens "personnalisés" à partir de <li>

C'est très clair.

Habituellement, on emploie l'ID de la page plutôt que son titre ce qui donne class="{{id}}" mais tu peux aussi employer le numéro du lien de cette façon class="{{number}}". Ceci dit, utiliser un simple numéro comme nom de classe c'est pas très pratique, il vaux mieux le préfixer comme ça : class="menu{{number}}".

ça te donnera ça :
Code :
 <ul>
      <li class="menu1"><a href="http://www.siteweb.fr/web/fr/3-Lien1.php">Lien1</a></li>
      <li class="menu2"><a href="http://www.siteweb.fr/web/fr/43-Lien2.php">Lien2</a></li>
      <li class="menu3"><a href="http://www.siteweb.fr/web/fr/39-Lien3.php">Lien3</a></li>
      <li class="menu4"><a href="http://www.siteweb.fr/web/fr/40-Lien4.php">Lien4</a></li>
   </ul>


Hésites pas si tu as d'autres questions.

Seb

Auteur:  Thalyn [ Ven Jan 22, 2010 10:15 pm ]
Sujet du message:  Re: Menu composé de liens "personnalisés" à partir de <li>

Salut,

Woow impeccable ça, C'est super merci !
Oui en effet, je n'y ai pensé qu'après, mais c'est vrai qu'utiliser le tag {{title}} pouvait causer quelques soucis, dans mon cas où par exemple le titre aurait des espaces et/ou des caractères (un peu trop) spéciaux...

Mais là, en utilisant la : class="menu{{number}}" c'est parfait, merci bien :mrgreen:

@+
:)

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