Autor Subiect: meniu pe 3 nivele -> ul,li  (Citit de 1872 ori)

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
meniu pe 3 nivele -> ul,li
« : Iulie 15, 2006, 10:39:19 am »
Folosim deseori meniuri drop-down, realizate prin ul,li + css
In typoscript, se realizeaza astfel (meniu pe 3 nivele):


temp.tmenu= HMENU
temp.tmenu{
    # first level
  1 = TMENU
  1.wrap = <ul class="meniu-nivel1">|</ul>
  1{      
    NO{
      wrapItemAndSub = <li>|</li>
    }    
    ACT=1
    ACT{
      wrapItemAndSub = <li class="meniu-nivel1-activ">|</li>
    }    
    CUR=1
    CUR{
      wrapItemAndSub = <li class="meniu-nivel1-curent-activ">|</li>
    }
     
    IFSUB=1
    IFSUB{
      wrapItemAndSub = <li class="meniu-nivel1-cu-subpagini">|</li>
    }
  }  
  2 = TMENU
  2.wrap = <ul class="meniu-nivel2">|</ul>
  2{
    NO{
      wrapItemAndSub = <li>|</li>
    }
    ACT=1
    ACT{
      wrapItemAndSub = <li class="meniu-nivel2-activ">|</li>
    }
    CUR=1
    CUR{
      wrapItemAndSub = <li class="meniu-nivel2-curent-activ">|</li>
    }
    IFSUB=1
    IFSUB{
      wrapItemAndSub = <li class="meniu-nivel2-cu-subpagini">|</li>
    }
  }  
  3 = TMENU
  3.wrap = <ul class="meniu-nivel3">|</ul>
  3{
    NO{
      wrapItemAndSub = <li>|</li>
    }
    ACT=1
    ACT{
      wrapItemAndSub = <li class="meniu-nivel3-activ">|</li>
    }
    CUR=1
    CUR{
      wrapItemAndSub = <li class="meniu-nivel3-curent-activ">|</li>
    }
    IFSUB=1
    IFSUB{
      wrapItemAndSub = <li class="meniu-nivel3-cu-subpagini">|</li>
    }
  }
}
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

tiberiu

  • Novice
  • *
  • Mesaje postate: 212
    • http://www.arobs.com
meniu 'dependent' de id-uri
« Răspuns #1 : Noiembrie 27, 2006, 09:46:43 am »
Remarcati "subst_elementUid = 1" si "{elementUid}" care se va ilocui cu id-ul paginii. Astfel se pot crea meniuri javascript.


    NO.subst_elementUid = 1
    NO.allWrap = <span class="ln-link-std" onmouseover="dropMenu.showMenu('lnstd{elementUid}',this);" onmouseout="dropMenu.hideMenu('lnstd{elementUid}')" id="lnstd{elementUid}" >|</span>
    NO.ATagParams = class="ln-link-std"
Tiberiu Contiu
PHP System Architect
AROBS Transilvania Software
str. Minerilor, nr. 63, Cluj-Napoca

www.arobs.ro , www.arobs.com

E-mail: tiberiu.contiu(at)arobs.com , tiberiu.contiu(at)yahoo.com
Skype:  tiberiu.contiu

radu

  • Novice
  • *
  • Mesaje postate: 42
    • http://www.pixelplant.ro
meniu pe 3 nivele -> ul,li
« Răspuns #2 : Noiembrie 27, 2006, 04:10:50 pm »
care este de fapt ideea cu "subst_elementUid" si "{elementUid}"...

este folositor pentru o groaza de situatii, inclusiv, cum a zis tiberiu, generarea de meniuri javascript (insa aici de obicei folositi obiecte TMENU_LAYERS)

in bucata de cod:

onmouseout="dropMenu.hideMenu('lnstd{elementUid}')" id="lnstd{elementUid}"
cand meniul nostru va fi generat, vom avea pe onmouseout
hideMenu('Instd1') id="Instd1", hideMenu('Instd2') id="Instd2", hideMenu('Instd3') pentru linkuri la paginile cu id1, 2 si 3.

daca avem insa de exemplu un meniu hover in care trebuie sa zicem, sa specificam ceva bullet in stanga textului care sa fie la fel pe toate linkurile, mai putin pe 2 sau 3 dintre ele, sa zicem, sa fie de alte culori, atunci elementUid se dovedeste foarte folositor.

pentru un link putem defini o clasa si un id.
dam tuturor linkurilor aceeasi clasa, insa la id le trecem ceva de genul: "menu_item{elementUid}".
astfel, pe clasa definim ca toate linkurile sa foloseasca acelasi bullet (cu background-image), insa pe id-urile respective doar, suprascriem ca sa foloseasca alt bullet. astfel facem modificarile respective doar din informatiile de style si fara sa scriem conditii typoscript gen:

#fa meniu normal
[PageInRootline = 1,2]
#fa acelasi meniu insa cu un anumit bullet
[end]
[PageInRootline = 3,4]
#fa acelasi meniu insa cu un al doilea bullet, etc.
[end]


daca nu ati inteles ideea, spuneti-mi si o sa scriu un tutorial pe tema asta.

cheers,
  radu mogos
- PixelPlant -
solutii TYPO3 CMS si Magento eCommerce

http://www.pixelplant.ro