Ich habe mal das ypmenu von meade.de (
#15065) umgeschrieben, damit es anstatt horizontal nun vertikal dargestellt wird.
Achtung: Dieses Menü ist nicht für Anfänger geeignet. Arbeitet euch erstmal mit Typo3 ein, bevor ihr es einsetzt.
Nebenbei ist das Menü XHTML 1.0 Transitional valide.
Unter http://213.239.197.144/ypmenu/ypmenu.zip könnt ihr euch das komplette Paket runterladen.
Folgendes ist zu tun:
1. Die ganzen Datein innerhalb fileadmin ablegen. Wenn ihr die Verzeichnistruktur im zip verwendet, braucht ihr weniger anzupassen.
2. In der Inhalt der Datei TS.txt kommt ins Setup des Root-Templates.
Ich poste hier nur einen Ausschnitt.
Angepaßt werden muß:
Zeile 17: hier der Pfad zu der menu.css (wenn ihr nicht meinen Pfad verwendet)
Zeile 24: auch hier die Pfade anpassen, wenn ihr andere habt
Zeile 28: hier kommt die ID eurer Root-Seite hin.
page = PAGE
page.typeNum = 0
page {
config.doctype = xhtml_trans
config.xhtml_cleaning = all
config.xmlprologue=none
config.prefixLocalAnchors = 1
config.locale_all = de_DE.ISO8859-1
config.language = de
}
page.includeCSS {
file1 = fileadmin/menu.css
}
page.includeLibs.ypMenu = fileadmin/ypmenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/res/ypSlideOutMenus.js" language="JavaScript"></script><script type="text/javascript" src="fileadmin/res/jslib.js" language="JavaScript"></script>
temp.ypMenu.special = directory
temp.ypMenu = HMENU
temp.ypMenu.special.value = 1 # hier die ID der root-page eintragen
temp.entryLevel=1
page.10 < temp.ypMenu
page.80 < temp.user_menu
3. Habt ihr die Pfade verändert, solltet ihr noch in die menu.css schaun, damit der Pfad zu den Bildern stimmt.
4. Um die Position der ypmenus zu verändert, schaut in die ypmenu.php.
Hier wieder nur ein Ausschnitt:
class user_menu {
var $offsetY = 1; // inital offset values for the first level elements
var $offsetX = 120;
var $sublevelWidth = 177; // width and height values for sublevel items
var $sublevelHeight = 22;
var $padding = 5;
var $fontSize = 12;
var $breakpoint = 28; // recalculate width of text after x characters
var $secPadding = 12; // 12 padding inc. border
var $fontFile = '/home/typo38/dummy/fileadmin/fonts/verdana.ttf'; // font file needed to calculate linebreaks
In Zeile 4 und 5 wird die Position des Menüs verändert.
Zeile 12 gibt den Pfad zu TTF-Datei an. Hier muß übrigends der vollständige Pfad stehen!
So nun viel Spaß damit und Danke an die Macher von meade.de für das tolle Skript!
das ZIP ist leider fehlerhaft - zumindest kann ich's nicht oeffnen ......
! Apps\TYPO3\ypMenu\ypmenu.zip: Unexpected end of archive
Ich habs nochmal hochgeladen; jetzt sollte es gehen.
alles klar.. funkt. Danke!! :-)
kann mir jemand einen link posten wo man sich das schon fertig anschauen kann? Danke
LG and tmtsomewhere
hier - allerdings in der horizontalen Version:
http://www.meade.de/index.php?id=1
hallo woida,
ich habe versucht dein menu bei mir einzubinden,
mit den entsprechenden anpassungen die du beschrieben hast.
leider bekomme ich keine anzeige.
Frage: die platzhalter die du mit temp bezeichnet hast, müßen die auch angepasst werden, und wenn ja wie?
Ich möchte das menue auf den platzhalter ###MENU_LINKS### eingebunden haben und bin schon seit 2 Tagen damit beschäftigt.
Wer kann mir helfen ?
MfG
Mastersolo
Wenn du dein Menü in Marker ###MENU_LINKS### haben willst, reicht ein
marks.MENU_LINKS < temp.ypMenu
Eine Änderung hab ich noch vergessen:
temp.ypMenu {
1 = GMENU
1 {
IProcFunc = user_menu->firstLevel
expAll = 1
wrap = |
NO = 1
NO {
wrap = |<br />
XY = 120, 23
30 = IMAGE
30.file = fileadmin/trans.png
50 = TEXT
50 {
text.field = title
fontSize = 12
fontFile = fileadmin/fonts/verdanab.ttf
fontColor = #000000
offset = 5,17
antiAlias=0
}
90 = BOX
90 {
dimensions = 0,22,120,2
color=black
}
}
evtl. mußt du die Pfade in Zeile 12 und 18 anpassen.
WOIDA 😃 Danke für deine Antwort.
Ich komme leider nicht weiter, hier mal meinen ganzen test script, was mache ich da falsch ?
# Die Webseite darstellen
page = PAGE
page {
config.doctype = xhtml_trans
config.xhtml_cleaning = all
config.xmlprologue=none
config.prefixLocalAnchors = 1
config.locale_all = de_DE.ISO8859-1
config.language = de
typeNum = 0
# Allgemeine Seiteneigenschaften setzen
bodyTag = <body bgcolor="#FEFEFE">
meta{
AUTHOR = Name
DESCRIPTION = Seitenbeschreibung
}
### Stylesheet datei einbinden
stylesheet = fileadmin/templ/style.css
# Die Designvorlage integrieren
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/templ/VORLAGE.HTML
10.workOnSubpart = DOKUMENT
#Body-Bereich wurde übernommen
page.includeCSS {
file1 = fileadmin/menu.css
}
page.includeLibs.ypMenu = fileadmin/ypmenu.php
page.headerData.11 = TEXT
page.headerData.11.value = <script type="text/javascript" src="fileadmin/res/ypSlideOutMenus.js" language="JavaScript"></script><script type="text/javascript" src="fileadmin/res/jslib.js" language="JavaScript"></script>
page.20 < temp.ypMenu
page.80 < temp.user_menu
10.marks.MENU_LINKS < temp.ypMenu
10.marks {
# Textmenue oben erstellen
MENU_OBEN = TEXT
MENU_OBEN.value = test
#MENU_LINKS
# MENU_LINKS = TEXT
# MENU_LINKS.value = test
MENU_LINKS < temp.ypMenu
temp.ypMenu.special = directory
temp.ypMenu = HMENU
temp.ypMenu.special.value = 215 # hier die ID der root-page eintragen
temp.entryLevel=1
temp.ypMenu {
1 = GMENU
1 {
IProcFunc = user_menu->firstLevel
expAll = 1
wrap = |
NO = 1
NO {
wrap = |
XY = 120, 23
30 = IMAGE
30.file = fileadmin/trans.png
50 = TEXT
50 {
text.field = title
fontSize = 12
fontFile = fileadmin/fonts/verdanab.ttf
fontColor = #000000
offset = 5,17
antiAlias=0
}
90 = BOX
90 {
dimensions = 0,22,120,2
color=black
}
}
IFSUB < temp.ypMenu.1.NO
IFSUB = 1
RO < temp.ypMenu.1.NO
RO = 1
RO {
}
IFSUBRO < temp.ypMenu.1.NO
IFSUBRO = 1
IFSUBRO {
}
}
2 = TMENU
2 {
IProcFunc = user_menu->secondLevel
expAll = 1
NO.linkWrap = <li>|</li>
}
3 = TMENU
3 {
IProcFunc = user_menu->thirdLevel
expAll = 1
NO.linkWrap = <li>|</li>
}
4 = TMENU
4 {
IProcFunc = user_menu->fourthLevel
expAll = 1
NO.linkWrap = <li>|</li>
}
}
temp.user_menu = USER
temp.user_menu.userFunc = user_menu->menuEnd
}
Ich habe nämlich immer noch keine Anzeige. :o
Und meine Verzeichnisse stimmen. #angry#
Hi
habe deinen Code nur ganz kurz überflogen und nicht getestet. Beim Durchzählen habe ich das Gefühl, das was mit den Klammern nicht stimmt. Die Klammer bei Zeile 3 wird nicht geschlossen. Die Marker um Zeile 36 werden wahrscheinlich aus diesem Grund auch nicht korrekt angezeigt.
Gruss
Bebbi
Lösch in Zeile 118 die Klammer raus und ersetz die Zeile 33-45 durch
page.20 < temp.ypMenu
page.80 < temp.user_menu
10.marks {
# Textmenue oben erstellen
MENU_OBEN = TEXT
MENU_OBEN.value = test
MENU_LINKS < temp.ypMenu
}
Die Zeilen waren bei dir definitv falsch.
Danke für die Antworten. Aber bei mir will er einfach den copier operator 😢 nicht annehmen.
Ich gebe für heute mal typo3 offen für hilfsstellungen.
http://theworld-webdesign.com/testtypo3/typo3/
benutzer = test
passwort = test
Rootpage experimental
Woida es wäre echt nett wenn du da mal nen blick draufwerfen könntest.Hättest dann auch einen bei mir gut.
MfG
Mastersolo
Jetzt gehts. Mußt nur noch die Position des Menüs in der ypmenu.php verändern.
Super Danke. :p
Das ist wirklich sehr nett von dir.
Ich hätte da wohl noch ewig gesucht.
Hey Woida wenn Du mal in Bremen bist gebe ich dir gerne nen Bier aus. 😃
MfG
Mastersolo
Hi Woida
sag mal ich möchte gerade das menue zum horizontalen zurück ändern.
habe aber große probleme damit.
hast du da mal nen tip ?
ich habe versuch die ypmenu.php abzuändern ohne den erfolg den ich da gerne hätte.
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['level'] = $level;
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['uid'] = $I['uid'];
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgwidth'] = $I['val']['output_w'];
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['imgheight'] = $I['val']['output_h'];
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['width'] = $this->sublevelWidth;
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['height'] = $this->sublevelHeight;
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['dir'] = 'down';
###############
#$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = $GLOBALS['TSFE']->applicationData['ypTemp']['y'] + $this->offsetY;
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['top'] = $this->offsetY;
$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = $this->offsetX;
#$GLOBALS['TSFE']->applicationData['ypMenus'][$I['uid']]['left'] = $GLOBALS['TSFE']->applicationData['ypTemp']['x'] + $this->sublevelWidth;
##############
und
#####################
// move down habe ich mit move right ausgetaucht #
#$GLOBALS['TSFE']->applicationData['ypTemp']['y'] += $I['val']['output_h']; #
#
// move right #
$GLOBALS['TSFE']->applicationData['ypTemp']['x'] += $I['val']['output_w']; #
############
hast du nen Tip ?
Oder wer kann mir da helfen ?
Wenn du dir den Ursprungsthread raussuchst, bist du wahrscheinlich schneller am Ziel. Da war das Menü nämlich horizontal angeordnet.
hat jemand noch die zip datei? der link ist tot...
vielen dank
Hi woida,
danke das Du mein namen im php & css gelassen hast.
Habe das PHP mitlerweile so um gebaut das es auch mit 1 ebene als Tmenu funktioniert.
Wen das intressiert soll sich bei mir melden.
Gruss & happy work.
Ich habe da ständig eine Fehlermeldung im Internetexplorer, sobald ich das erste Menu "überfahre":
Fehler auf Seite
Kann es sein das da was mit dem JS nicht stimmt?
Bei allen anderen Menüpunkten fährt er richtig aus, nur beim ersten nicht!?