Hallo, ich habe eine für euch sicherlich einfache Anfängerfrage.
Ich möchte eine Seite aufbauen, in der Oben horizontal ein Menü ist mit den Hauptkategorien und je nach dem auf welche Kategorie man klickt dass links am Seitenrand ein vertikales Menü erscheint, das zu der jeweilig gewählten Hauptkategorie gehört.
1. Frage: wie geht das (mehrere Templates nötig?) ????
2. Frage muß ich bei der Baumstruktur etwas grundsätzliches beachten??
Sorry für diese Anfängerfrage, habe aber noch keine Ahnung wie so etwas realisiert wird. Sollte ich in der Suche einen gleichen Post übersehen haben, bitte ich um entschuldigung!
Danke für die Hilfe !!!
Grüße
Hardy
Hallo,
siehe
#25103
ad 1: 1 Template sollte normalerweise reichen
ad 2: sowas ca wäre nicht schlecht
- root
-- kat 1
____ sub 1
____ sub 2
____ sub 3
-- kat 2
____ sub 4
-- kat 3
____ sub 5
____ sub 6
lg georg
PS: Für Anfängerfragen bitte nicht entschuldigen, muss nicht peinlich sein 😉
WOW, Vielen Dank für diese Mega-Schnelle Antwort!!
Allerdings beschäftigt mich jetzt noch eine Frage:
Wenn ich im Template einen Platzhalter für die Untermenüs anlege (links am Rand) und auf einem Hauptmenüpunkt allerdings kein Untermenüpunkt habe, dann wird der Platz links am Rand so wie ich das sehe dennoch reserviert??
Kann man es auch so lösen, dass wenn es keinen Untermenüpunkt gibt, dass man die ganze Breite zur Verfügung hat ??
Danke nochmal!!
Grüße
Hardy
dass, wiederum kommt auf dein Layout an, bzw. dein HTML Template.
Wenn du ein Box Modell hast, wäre dies kein Problem.
Wenn dein Menü in einer (z.B. floatenden) Div liegt, musst du das div halt im Typo-Script um das Menü wrappen, gibts kein Menü wird auch kein Div ausgegeben, was Platz reserviert.
Bei einer Tabelle wird das ganze komplizierter und lässt sich sicherlich auch mit ein paar nicht so schönen Tricks bewältigen.
Der Ansatz wäre da, dass die Tabelle nur eine Zeile haben darf, sodass du die linke Spalte in der das Menü sitzt variieren kannst in Breite ohne Probleme.
Dann sollte auch diese Tabellen-Zelle des Menüs gewrappt werden, und nicht im statischen Template sitzen. Dann kannst du abfangen, ob es Menü-Punkte gibt und wenn dies nicht der Fall ist, in deinen Marker einen
<td style="width:1px;"> </td>
zurückgeben.
Beim besten willen nicht ideal.
Mein Tipp: Mach es mit nem Div.
Ich hoffe ich konnte helfen
Danke, das ist schon mal eine guter Tip!!
Aber ich hatte neulich erst das Problem (und ich habe es bis jetzt noch nicht hinbekommen) dass wenn ich ein float mit einem div-Element mache, dass ich eine feste breite des float-Elements vergeben musste, da es sonst nicht berücksichtigt wurde. (Das Problem habe ich im tt_News Template)
Kannst du mir vielleicht auch noch sagen, wie es geht damit ich keine feste Breite vergeben muß, bin leider nicht weiter gekommen.
Wär ich dir sehr dankbar!!
DANKE + Gruß
Hardy
Hm, mir ist ehrlich gesagt nicht bekannt, dass das floaten nur funktioniert, bei statischer Größenangabe. Oder bei mir ist es bisher nicht vorgekommen...
Kopier doch mal schnell dein TS, dass das DIV erzeugt, und die CSS Formatierung dafür.
Hast du auch ans clearen gedacht?
Also nach meiner Recherche ist das floaten um Bilder (da GMENU) nur mit statischer Breite möglich (das Problem habe ich auch in SelfHTML gefunden).
Was mir aber gerade einfällt ist den Text floaten zu lassen - werd ich heut abend mal testen und berichten...
Hab da auch was in einem anderen Forum gefunden:
http://xhtmlforum.de/38001-css-design-clear-problem.html
Vielen Dank und Grüße
Hardy
Ähem:
dein GMENU hat aber im TypoScript eine Statische Breite... also kann ja auhc das DiV ne Feste breite kriegen..
und selbst wenn die Breite im TScript erst festgesetzt wird, kannst du die Breite von dem DIV auch im TScript dann festsetzen lassen, auf die Breite deines GMENUs.
Ist ja kein Problem, die Breite statisch zu haben, weil wenn kein Menü, gibts das DIV ja gar nicht.
mfG
Oh Mann bin ich doof! #angry#
Natürlch!! Herr lass Hirn regnen.
Danke!!!
Nochmal zu meinem Problem mit den Untermenüs zurück.
Ich habe meine Seitenstruktur wie folgt:
- root
-- kat 1
____ sub 1
____ sub 2
____ sub 3
-- kat 2
____ sub 4
-- kat 3
____ sub 5
____ sub 6
Jetzt machte er mir aber als Untermenü von jedem Hauptmenüpunkt:
____ sub 1
____ sub 2
____ sub 3
____ sub 4
____ sub 5
____ sub 6
Ich möchte aber dass Wenn man sich in der Kat1 befindet beispielsweise nur Sub1, Sub2 und Sub3 erscheinen.
Ich vermute ich muß das special.value dynamisch setzen lassen? Wie mache ich das oder wie kann man das Problem lösen ???
Vielen vielen Dank !!!
Hardy
und dein TS soll man erraten?
Sorry, vergessen :o
Hier der Ausschnitt für die Untermenüs:
marks.LINKS = HMENU
marks.LINKS {
special = directory
special.value = 3,4,5
1 = TMENU
1 {
NO.allWrap = |*| <p class="klein">|<span class="icon"><img src="fileadmin/template/images/gruen.jpg" /></span></p>||<p class="klein">|<span class="icon"><img src="fileadmin/template/images/schwarz.jpg" /></span></p>|*|
}
}
Muß ich auch vielleicht was noch mit dem entryLevel machen??
Vielen Dank!!
schmeiss das special raus und schreib ein entryLevel = 1 (oder 2) je nachdem wo sich deine subseiten befinden
georg
Oh ich werd verrückt!!
Vielen Dank!!!
Jetzt muß ich dir die Tage echt was spenden auf deiner Seite!
Grüße
Hardy
Noch eine Frage habe ich, und zwar mache ich in dem TMENU zwischen verschiedene Elemente einen Abstand.
Dieser Abstand wird über das SPC definiert, nur wie bekomme ich es hin, dass der Titel des Abstands nicht im Menü erscheint, sondern nur die Formatierung beachtet???
Des weiteren ist es nun so, dass wenn ich aus dem Untermenü (links am Rand) einen Menüeintrag wähle verschwindet dieses Menü. Wie bokomme ich es hin, dass das Menü stehen bleibt???
# Menü links - UNTERMENÜPUNKTE
marks.LINKS = HMENU
marks.LINKS {
special = directory
entryLevel = 2
1 = TMENU
1 {
SPC.wrap = <p>|</p>
SPC.doNotShowLink = 1
SPC.doNotLinkIt = 1
SPC = 1
}
}
# Grafisches Menu oben - HAUTMENÜPUNKTE
marks.MENU = HMENU
marks.MENU {
special = directory
special.value = 2
entryLevel = 1
1 = GMENU
1.NO = 1
1.NO {
XY = 95, 70
# Bilder importieren
10 = IMAGE
10 {
file.import.field = media
file.import = uploads/media/
file.import.listNum = 0
}
}
# Rollover Status erzeugen
1.RO = 1
1.RO < .1.NO
1.RO {
10.file.import.listNum = 1
}
#Active Status erzeugen
1.ACT = 1
1.ACT < .1.RO
1.ACT {
}
# Abstand definieren
1.SPC = 1
1.SPC {
XY = 100,10
backColor = #F2F2F2
}
}
Vielen vielen Dank!!!
Grüße Hardy
Hallo,
na dann wollen wir mal... die Frage ist halt mal, um welches Menü es gerade geht, ums LINKS oder ums MENU?
Das Menü verschwindet wohl, weil auf dieser Seite keine Seiten mehr mit dem definierten entryLevel exisiteren, richtig? Dann dort zB ein ext template erstellen (oder per condition) und dort das Menü überschreiben, das würde dann ca so ausschauen (Annahme LINKS)
page.10.marks.LINKS.entryLevel >
page.10.marks.LINKS.special.value = 10 #Hier kommen also die Unterseiten von ID 10
georg
Hi Georg,
danke für die Hilfe. Hab mal bei deinem Vorschlag bisschen noch gespielt und zufälligerweise bei LINKS das
special = directory
herausgenommen und siehe da, es funktioniert!!!
Danke!!!
Zu der Frage, wegen dem Abstand-Element.
Sprich dass wenn ich einen Abstand in das Menü LINKS (TMENU) einfüge, dass dann dort nicht der Titel des Abstands erscheint hast du da auch noch einen Tipp für mich???
Vielen Dank!
Du bist der "God of TypoScript"!!
Gruß
Hardy
Hier noch der aktuelle TS-Code der Menüs:
marks.MENU = HMENU
marks.MENU {
special = directory
special.value = 2
entryLevel = 1
1 = GMENU
1.NO = 1
1.NO {
XY = 95, 70
# Bilder importieren
10 = IMAGE
10 {
file.import.field = media
file.import = uploads/media/
file.import.listNum = 0
}
}
# Rollover Status erzeugen
1.RO = 1
1.RO < .1.NO
1.RO {
10.file.import.listNum = 1
}
#Active Status erzeugen
1.ACT = 1
1.ACT < .1.RO
1.ACT {
}
# Abstand definieren
1.SPC = 1
1.SPC {
XY = 100,10
backColor = #F2F2F2
}
}
# Grafisches Menu links (Produkte) erstellen
marks.LINKS = HMENU
marks.LINKS {
# special = directory
entryLevel = 2
1 = TMENU
1 {
#SPC.wrap = <p>|</p>
#SPC.doNotShowLink = 1
#SPC.doNotLinkIt = 1
#SPC = 1
}
}
Hallo,
reden wir hier beim Abstand vom menü MENU (GMENU) oder von LINKS (TMENU)?
Zweiters sollte so klappen
1.SPC = 1
1.SPC.doNotShowLink = 1
1.SPC.allWrap = <div style="padding:10px 0;">|</div>
georg
VIELEN VIELEN DANK!!!!!
Genau das habe ich gemeint, du bist der Meister!
Herzlichen Dank!
Somit ist dieser Threat "gelöst".