Aggiungere JQuery al menù

5 contenuti / 0 new
Ultimo contenuto
Aggiungere JQuery al menù

Salve!
Sto creando un tema per un sito in Drupal 6.20. Ho un menù nella colonna sinistra creato attraverso l'uso del modulo "Menu" del Core. Ora, il mio problema è presto detto. Il menu contiene voci principali e, per alcune di esse, voci secondarie. Quello che io voglio è che, ogni volta che clicco su una voce principale, mi si apra il sottomenù. Il jquery che mi permetta questo effetto l'ho trovato, ma necessito di modificare il codice html prodotto dal modulo Menu. Mi spiego meglio. Il modulo mi produce un blocco che contiene i tag

    ed
  • del menù con delle classi definite. A seconda della posizione della voce, avremo le classi "leaf first", "leaf second", e così via per tutte le voci e sottovoci. Quello che io vorrei fare è modificare il nome di queste classi o, ancor meglio, trasformarle da classi in id, in modo da aver un controllo totale. Non sò se questo è possibile, nè eventualmente quali file tpl dovrei andar a modificare.
    Chi può aiutarmi???

non vedo il codice nel tuo post (aggiungi le tag <code> </code>)
Questo comunque dovrebbe esserti di aiuto (d6): http://drupal.org/node/327252

Innanzitutto grazie per la risposta, ma purtroppo non mi è molto di aiuto. Mi spiego. Io voglio poter usare il seguente codice jquery:

<script>
$().ready(
  function() {
    // nascondo tutti i sottomenu
    $("#s1").hide();
    $("#s2").hide();
    $("#s3").hide();
    // mostro i sottomenu del blocco principale 1
    $("#p1").click(
      function() {
        if ($("#s1").is(":hidden")) $("#s1").slideDown(); else $("#s1").slideUp();
        if ($("#s2").is(":visible")) $("#s2").slideUp();
        if ($("#s3").is(":visible")) $("#s3").slideUp();
      }
    );
    // mostro i sottomenu del blocco principale 2
    $("#p2").click(
      function() {
        if ($("#s1").is(":visible")) $("#s1").slideUp();
        if ($("#s2").is(":hidden")) $("#s2").slideDown(); else $("#s2").slideUp();
        if ($("#s3").is(":visible")) $("#s3").slideUp();
      }
    );
    // mostro i sottomenu del blocco principale 3
    $("#p3").click(
      function() {
        if ($("#s1").is(":visible")) $("#s1").slideUp();
        if ($("#s2").is(":visible")) $("#s2").slideUp();
        if ($("#s3").is(":hidden")) $("#s3").slideDown(); else $("#s3").slideUp();
      }
    );
  }
);
</script>

Praticamente, questo codice fa sì che nel momento in cui l'utente clicca su una voce del menù, si apra il sottomenu, spostando le altre voci primarie verso sotto.
Il problema è che per crearlo, ho utilizzato il modulo menù che mi produce il seguente codice:

<li class="expanded first">
  <a title="" href="percorso">Zona Giorno</a>
     <ul class="menu">
          <li class="leaf first">
             <a title="" href="percorso">Soggiorni</a>
           </li>
           <li class="expanded">
              <a title="voce del menù Zona Giorno" href="percorso">Classico</a>
                 <ul class="menu">
                    <li class="leaf first"><a title="" href="percorso">Librerie</a></li>
                     <li class="leaf last"><a title="" href="percorso">Tavoli e Sedie</a></li>
                 </ul>
           </li>
           <li class="expanded last">
                 <a title="" href="percorso">Moderno</a>
                 <ul class="menu">
                 <li class="leaf first"><a title="" href="percorso">Librerie</a></li>
                 <li class="leaf last"><a title="" href="percorso">Tavoli e Sedie</a></li>
                 </ul>
           </li>
     </ul>
</li>

Ora, il modulo mi produce una lista dove ogni elemento è contrassegnato da una classe, mentre il jquery lavora solo su ID.
Cercando sono riuscita a trovare questo http://drupal.org/node/87902 che però è per il 5. C'è la possibilità di fare la stessa cosa nella versione 6??? Vi prego, aiutatemi è davvero urgente!!!

la pagina che ti ho segnalato fornisce proprio le istruzioni per ricostruire l'albero del menu con il markup che si desidera. non devi usare il markup che fornisce drupal, devi riscriverlo. Quello che ti ho segnalato è uno dei metodi per farlo.
se si tratta solo di inserire id forse puoi provare con il modulo menu_attributes

Grazieee!!!! Con il modulo menu_attributes ho risolto!! Ho inserito un id differente per ogni voce del menù e modificando un po' il jquery affinchè funzionasse anche con il terzo livello dell'albero va benissimo!! Grazie ancora!