Hallo Leute, erstmal hallo 😃 , muss euch gleich mit einer Frage löchern :o
Ich beschäftige mich zur Zeit mit Typo3 und sehe gerade vor lauter Ästen kein Baum mehr 😢
Es wäre jetzt schade, wenn mich dieses TMENU / HMENU Problem aus der Bahn werfen würde. :o
Folgendes Szenario:
Ich möchte gerne die Menü (s.u.) Struktur in Typo Script umwandeln.
Ich weiß nicht wie ich diese Menü Struktur in Typo Script umwandeln kann.
Ich wäre euch wirklich sehr dankbar, wenn mir Jemand einen hilfreichen Anstoss geben könnte.
Liebe Grüße
Mila
<ul id="mainUl" class="mainSec">
<li><a class="mainLi" href="suchmaschinenoptimierung-uebersicht.html">Suchmaschinenoptimierung</a>
<ul class="mainLi">
<li><a href="suchmaschinenoptimierung-uebersicht.html">Übersicht</a></li>
<li><a href="suchmaschinenoptimierung-details.html">Details</a></li>
</ul>
</li>
</ul>
Als aller erstes gibt es hier mal einen wunderbaren Thread zu dem Thema:
#65143
Dann gibts hier die deutsche Dokumentation:
http://www.typo3.net/typo3_dokumentation/
Ungetestet sollte es so funktionieren:
temp.MENU = HMENU
temp.MENU {
1 = TMENU
1 {
wrap = <ul id="mainUl" class="mainSec">|</ul>
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = class="mainLi"
}
}
2 < .1
2 {
wrap = <ul class="mainLi">|</ul>
}
}
page.10.marks.MENU < temp.MENU
Wegen der Hilfe oben, verzichte ich auf weitere Erklärungen dazu.
Hallo SLAng, erstmal vielen vielen Dank für deine Hilfe und diese guten Tipps, da werde ich mich richtig schon einarbeiten :-O
Leider spuckt mit Typo3 mit deinem ungetesteten Code oben folgendes aus:
<ul id="mainUl" class="mainSec">
<li><a href="#" class="dropdown-tab">SUB MENÜ</a></li>
<li><a href="#" class="dropdown-tab">SUB MENÜ</a></li>
</ul>
Was hier leider fehlt ist das 2te Listen modul <ul class="mainLi"></ul> (siehe unten im Code)
Hast ( Mir Jemand) die Lösung, wieso das nicht funktioniert?
Die Html Code Syntax:
<ul id="mainUl" class="mainSec">
<li><a class="mainLi" href="#">HIER DIE HAUPTMENÜNAVIGATION</a>
<ul class="mainLi">
<li><a href="#">SUB MENÜ</a></li>
<li><a href="#">SUB MENÜ</a></li>
</ul>
</li>
</ul>
Ich würde gerne mal versuchen nachzuvollziehen, was man mit diesem Typoscript Code Typo3 sagt.
Wäre nett, wenn mich Jemand berichtigen könnte. :-)
#Jetzt kommt ein Menü :)
temp.MENU = HMENU
#Ich öffne jetzt eine Klammer, um nicht immer temp.MENU zu schreiben??
temp.MENU {
# Ich lege das Objekt TMENU jetzt in die variable 2?
1 = TMENU
1 {
# Umantel den Code mit <ul id="mainUl" class="mainSec"></ul>
wrap = <ul id="mainUl" class="mainSec">|</ul>
# Gehe jetzt eine Ebene von der Ebene 0? Was bedeutet NO?
NO = 1
NO {
wrapItemAndSub = <li>|</li>
ATagParams = class="mainLi"
}
}
#Das Objekt NO=1 wird an Objekt 2 vererbt. Das was aus Objekt NO=1 kommt wird in <ul class="mainLi">|</ul> gelegt.
2 < .1
2 {
wrap = <ul class="mainLi">|</ul>
}
}
# Keine Ahnung was das macht :O
page.10.marks.MENU < temp.MENU
Ok, eigentlich steht alles in den beiden Links die ich gepostet hatte, aber ich kommentier es mal: (Los gehts in Zeile 40!)
# Hier wird nun temp.MENU gefüllt
# Wir "machen" also aus temp.MENU das Object HMENU
temp.MENU = HMENU
# Damit man das nicht nun andauernd schreiben muss, öffnet man eine geschweifte Klammer (Kurzschreibweise)
temp.MENU {
# Da du nicht mitgeteilt hast, das du einen bestimmten Menülevel auslesen willst, oder einen Verzeichnisstrang und das ganze auch kein Browse oder Rootline-Menü werden soll, braucht man eigentlich keine special-Eigenschaft.
# Wir beschreiben also direkt die erste Menüebene (1) und zwar mit dem Object TMENU (Die erste eben ist also ein Text-Menü)
1 = TMENU
1 {
# Die erste Ebene wird mit dem unten gezeigten ul... umschlossen.
wrap = <ul id="mainUl" class="mainSec">|</ul>
# Nun folgt der normal-Zustand des Menüs. (NO). Damit man spätere eventuell verwendete weitere Zustände nicht nochmal aktivieren muss, wird NO direkt mit = 1 aktiviert (eingeschaltet).
NO = 1
# Es folgen Definitionen für den Zustand NO:
NO {
# Da das letzte li einer Ebene nicht geschlossen wird, wenn eine weitere folgt, kann hier nicht mit wrap, oder stdWrap, oder linkWrap usw. gearbeitet werden, sondern mit wrapItemAndSub. Dies tut genau das um einen korrekten Syntax zu erreichen.
wrapItemAndSub = <li>|</li>
# mit ATagParams gibt man dem a-Tag einen Parameter mit. In diesem Fall eben die CSS-Klasse mainLi.
ATagParams = class="mainLi"
# Der Zustand NO wird durch die geschweifte Klammer beendet.
}
# Die Definitionen für die erste Menüebene werden beendet durch das setzen der nächsten Klammer.
}
# Die Ebene 1 auf die 2. Ebene (2) kopiert. Warum? Damit man nicht alles doppelt und dreifach schreiben muss, wenns am Ende doch gleich ist.
2 < .1
# hier beginnen die Definitionen für die zweite Menüebene.
2 {
# Die zweite Ebene wird mit dem ul und der class mainLi umschlossen. Alles andere wird aus der ersten Ebene übernommen, da es nach deinem gezeigten HTML-Code identisch ist mit der ersten Ebene.
wrap = <ul class="mainLi">|</ul>
# Schließen der 2. Ebene.
}
# Schließen von temp.MENU
}
###################################################
################ Hier gehts los ###################
###################################################
# Hier sprichst du den Marker ###MENU### an (page.10.marks.MENU), der sich in deiner HTML-Vorlage befinden sollte. Falls nicht, dann füge den Marker ###MENU### hinzu.
# Hier mit < temp.MENU kopierst du temp.MENU auf den Marker MENU ( < ist der kopier-Operator)
# Warum gehts hier unten los? Ganz klar: TS wird von oben nach unten abgearbeitet. Das heißt erst muss temp.MENU da sein und dann kann der Marker zugewiesen werden, damit dann bereits bekannt ist was temp.MENU ist.
# Jetzt gehts also oben weiter ;-)
page.10.marks.MENU < temp.MENU
SLAng ich möchte mich bei dir ganz herzlich für die Hilfe bedanken. Hat mir wirklich sehr geholfen und ich verstehe jetzt mal als NOobi etwas die einfachen Zusammenhänge. Vielen Dank 😃 😃 😃 😃 😃
Mir schwirrt noch eine Frage im Kopf, welche ich nicht zu lösen vermag.
Folgendes Szenario:
Ich habe auf der linken Seite meiner Homepage eine zusätzliche Navigationshilfe. Diese generiert sich automatisch aus der Typo 3 Seiten Struktur.
Jetzt suche ich eine Möglichkeit dieses Menü über das Typo 3 Backend anzusprechen, um es bei Bedarf einfach (z.B. durch eine Checkbox) auszublenden.
Gibt es dazu irgendwo Nachschlagwerke, wie man das anstellen kann?
Oder kann ich das über 2 unterschiedliche Template Zustände Regeln?
Sorry, ich will Auto fahren und besitze keinen Führerschein, will am Marathon mit laufen und krabbel noch :o