Utiliser le "active" d'un CSS

bonjour,

je voudrais utiliser ce joli menu :
http://css.maxdesign.com.au/listamatic/horizontal05.htm

le pb c’est que j’arrive pas à le faire marcher avec RoR. en effet, il
utilise “active” dans les CSS qui doivent désigner la page courante.
j’ai l’impression que vu qu’il y a renommage des URL, ca marche pas.

si qqu’un sait comment faire…

merci !

gUI

en effet, il utilise “active” dans les CSS qui doivent désigner la
page courante.

pardon, je me suis trompé. je voulais parler de “current”.

gUI

Salut gUI,

Je n’ai pas été plus loin que la page que tu as donné mais je pense
que tu confonds un simple id current avec une forme de “variable css”
qui aurait le nom de current et qui prendrais la valeur de la page en
cours. Malheureusement, à moins que j’ai tout loupé au css, cela
n’existe pas.

C’est à toi de mettre, selon ton contrôleur ton #current (# veut dire
id) sur le bon item de ton menu. (on a le nom du contrôleur en cours
dans une vue par controller.controller_name et l’action par
controller.action_name).

Bonne chance,
NP

Le 11 oct. 06 à 23:03, Guillaume B. a écrit :

C’est à toi de mettre, selon ton contrôleur ton #current (# veut dire
id) sur le bon item de ton menu.
ok, je crois que j’ai compris l’idée… mais j’arrive pas à le faire
marcher )-:

dans le layout de l’application, j’ai mis :

<% if controller.action_name==“action1” %>

  • menu1 <% else %>
  • menu1 <% end %>

    <% if controller.action_name==“action2” %>

  • menu2 <% else %>
  • menu2 <% end %>

    etc.

    ca ne marche toujours pas, c’est à dire que je ne retrouve pas un
    affichage différent pour l’action courante. pourtant :

    • le css est bien pris parce que la police, la forme les couleurs sont
      bonnes
    • j’ai fait un bete affichage <%= controller.action_name %> dans ce meme
      layout et j’ai bien la bonne action qui s’affiche au bon moment
    • j’ai jeté un oeil sur le code source, et la bonne action possède bien
      le ’ id=“current” ’ de
      positionné.

    j’ai donc l’impression que c’est un pb pur CSS, je vais donc voir ça de
    plus près !

    en tous cas merci bcp !!!

    gUI

  • tu met ça dans ta “vue” :
    c’est a dire que je dois mettre ca dans chaque vue, avec le “active”
    bien placé ? c’est à dire qu’il faut que le jour ou je rajoute une
    option du menu je dois refaire le tour de toutes mes vues pour rajouter
    la nouvelle option ? c’est pas très “RoR” ça (-;

    … c’est pourquoi je préfère le mettre dans le layout, global à toute
    l’application…

    mais j’ai peut-etre mal compris ce que tu voulais dire (je suis débutant
    en RoR, et pas très fort en général en dev Web)

    gUI

    je voudrais utiliser ce joli menu :
    Listamatic: Eric Meyer's tabbed navbar

    Salut je viens de tester ce menu que j’avais déja employé dans d’ancien site
    et il fonctionne très bien, je crois que tu te complique la vie, alors si
    j’ai bien compris ce que tu veux, contente toi de recopier le source :

    tu met ça dans ta “vue” :

    et ça, dans ton fichier css :

    #navlist
    {
    padding: 3px 0;
    margin-left: 0;
    border-bottom: 1px solid #778;
    font: bold 12px Verdana, sans-serif;
    }

    #navlist li
    {
    list-style: none;
    margin: 0;
    display: inline;
    }

    #navlist li a
    {
    padding: 3px 0.5em;
    margin-left: 3px;
    border: 1px solid #778;
    border-bottom: none;
    background: #DDE;
    text-decoration: none;
    }

    #navlist li a:link { color: #448; }
    #navlist li a:visited { color: #667; }

    #navlist li a:hover
    {
    color: #000;
    background: #AAE;
    border-color: #227;
    }

    #navlist li a#current
    {
    background: white;
    border-bottom: 1px solid white;
    }

    le pb c’est que j’arrive pas à le faire marcher avec RoR. en effet, il
    utilise “active” dans les CSS qui doivent désigner la page courante. j’ai
    l’impression que vu qu’il y a renommage des URL, ca marche pas.

    “active” sert simplement à laisser l’item1 en blanc dans l’exemple de menu
    que tu a choisi

    voila c’est tout.


    Découvrez un moyen pour éliminez tous les virus de votre PC !
    http://safety.live.com/site/fr-FR

    C’est à toi de mettre, selon ton contrôleur ton #current (# veut dire
    id) sur le bon item de ton menu.

    ca y est ! ca marche !!!

    c’était bien ça, il fallait passer un ‘id=’ à un href. le piège dans
    lequel je suis tombé c’est que en faisant un simple :id=>“current” ca ne
    marchait pas !!! il faut indiquer au link_to que c’est un id pour le
    href, et non un id dans le sens /“controller/action/id”

    la ligne magique :

    <% if controller.action_name == ‘action1’%>

  • <%= link_to "Action1", {:action=>"action1"}, :id=>"current"%>
  • <% else %>
  • <%= link_to "Action1", :action=>"action1"%>
  • <% end %>

    bien noter les {} pour délimiter les paramètres qui servent au helper,
    et les paramètres qui seront ajoutés à la fin de la balise créée (je
    sais pas si je suis super clair là…)

    merci à tous (-:

    gUI