AW: [Typo3-UG Oesterreich] Dynamisches Menü mit dynamischen Class Tag?
Peter Luser
netdog at typoheads.com
Fri Jan 21 13:35:06 CET 2005
servus!
ich hab genau das gleiche gebraucht und bin noch am fertigbasteln, aber ich
hab einen weg gefunden:
du willst ein normales "HMENU" erzeugen, nur eben die positionierung usw. mit
CSS machen.
problem bei dem ganzen CSS ding ist ein horizontales menü in dem die
menü-bilder unterschiedliche breiten haben.
dadurch muss für jedes dieser bilder eine eigene css-klasse angelegt werden
mit der passenden breite drinnen.
ergo: du musst auf die breite des gerenderten bildes zugreifen können.
ich häng mich in die
temp.MENU_OBEN.10.1.IProcFunc
funktion rein - da hat man zugriff auf dateiname und grösse des gerenderten
bildes.
in dieser externen funktion bau ich mir die passenden <div> tags auf(siehe
weiter unten) und definiere auch die css klassen (für jeden menüpunkt eine).
kleine unschönheit: die klassen selber kann ich von der externen funktion
nicht direkt in den header ausgeben lassen.
darum der umweg über die
page.headerData.10 < user_css
funktion.
jetzt meine lösung: (beispiel)
#### setup #####
includeLibs.fakemenuitems = fileadmin/user_functions.php
# MENU OBEN #
temp.MENU_OBEN = COA
temp.MENU_OBEN.5 = TEXT
temp.MENU_OBEN.5.value=<div class="navigation"><span
class="detach-visual"><h1>HAUPTMENÜPUNKTE: </h1></span><ul>
temp.MENU_OBEN.10 = HMENU
temp.MENU_OBEN.10.special = directory
temp.MENU_OBEN.10.special.value = {$menueoben}
temp.MENU_OBEN.10.1 = GMENU
temp.MENU_OBEN.10.1.NO {
XY = [10.w]+30+[14.w],20
backColor = #FFFFFF
10 = TEXT
10.text.case = upper
10.text.field = title
10.fontFile = fileadmin/fonts/zurchn.TTF
10.fontSize = 12
10.fontColor = #3B6464
10.offset = 0,16
10.niceText = 0
10.align = left
}
temp.MENU_OBEN.10.1.RO < temp.MENU_OBEN.1.NO
temp.MENU_OBEN.10.1.RO = 1
temp.MENU_OBEN.10.1.ACT < temp.MENU_OBEN.1.RO
temp.MENU_OBEN.10.1.ACT.10.fontColor = #7DB8B6
temp.MENU_OBEN.10.1.IProcFunc = user_menuTest
temp.MENU_OBEN.20 = TEXT
temp.MENU_OBEN.20.value=</ul></div>
# die generierten css klassen im head ausgeben:
page.headerData.10 < user_css
###################
### jetzt noch mein user_functions.php
###################
function user_menuTest($menuArr,$conf) {
$menuArr['parts'] = array();
$menuArr['parts'][] = '<li class="menu_'.$menuArr['uid'].'">'.
$menuArr['A1'].'<span class="detach-visual"><h1>'.$menuArr['title'].
'</h1></span>'.$menuArr['A2'].'</li>';
$css = '.navigation .menu_'.$menuArr['uid'].' a {'.
'background-image: url('.$menuArr['val']['output_file'].');'."\n".
'width: '.$menuArr['val']['output_w'].'px;'.
'height:'.$menuArr['val']['output_h'].'px;'."\n".
# 'overflow:auto;'."\n".
# 'float:left;'."\n".
# 'display:inline;'."\n".
# 'position:relative;'."\n".
'}';
$conf[parentObj]->tmpl->setup['page.']['headerData.']['additionalCSS'] =
'TEXT';
$conf[parentObj]->tmpl->setup['page.']['headerData.']['additionalCSS.']
['value'] .= $css."\n";
return $menuArr;
}
function user_css($content,$conf) {
return "<style type='text/css'><!-- \n".$GLOBALS["TSFE"]
->tmpl->setup['page.']['headerData.']['additionalCSS.']['value']."\n
--></style>";
}
hoffe das war nicht zu kompliziert - aber gerade bei horizontalen menüs die
nicht gleich breit sind, bleibt einem nix anderes über.
lg, peter
On Fri, 21 Jan 2005 13:02:56 +0100, Hoelblinger Walter wrote
> Hy Michael,
>
> sollte normalerweise mittels ATagParams = id ="m1" laufen!
>
> NO {
> allWrap = <tr height="20"><td colspan="3"> | </td></tr>
> ATagParams = id ="m1"
> }
>
> Mit freundlichen Grüßen
>
> Walter Hölblinger
> Webmaster
>
> STEYR MANNLICHER GmbH. & Co KG
> W.Hoelblinger at steyr-mannlicher.com
> http://www.steyr-mannlicher.com
>
> Tel: +43 (0) 7252 896 - 412
> Fax: +43 (0) 7252 786 - 18
> Mobil: +43 (0) 676 83896 412
>
> -----Ursprüngliche Nachricht-----
> Von: Michael Inselsbacher [mailto:Peacekeeper118 at hotmail.com]
> Gesendet: Freitag, 21. Jänner 2005 12:34
> An: typo3-at at lists.netfielders.de
> Betreff: Re: [Typo3-UG Oesterreich] Dynamisches Menü mit dynamischen
> Class Tag?
>
> Kleiner Nachtrag
>
> das soll rauskommen, wobei die ID's aus dem alia-eintrag erstellt
> werden sollen <ul id="hm"> <li id="m1">Menu1</li> <li id="m2">Menu2</li>
> <li id="m3">Menu3</li>
> <li id="mx">MenuX</li>
> </ul>
>
> _______________________________________________
> Typo3-at mailing list
> Typo3-at at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-at
> _______________________________________________
> Typo3-at mailing list
> Typo3-at at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-at
--
Neue Projekte:
http://www.typoheads.com - Our Corporate Site
http://www.fidler-wein.at - Weinbau C.u.G. Fidler
http://www.strassberger.at - Uhren, Schmuck Straßberger Horn
http://www.acon-consulting.com - ACON Management Consulting
More information about the TYPO3-at
mailing list