Hallo miteinander,
ich habe folgenden Code:
lib.mainmenu = HMENU
lib.mainmenu{
1 = TMENU
wrap = <ul>|</ul>
1 {
expAll = 1
NO = 1
NO{
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = <li><span class="dropdown-arrow"></span>|</li>
ATagParams = class="dropdown-link"
}
}
2 = TMENU
2 {
expAll = 1
wrap = <ul class="opener"><li><p class="display-3">Produkte</p></li>|</ul>
NO = 1
NO{
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = <li><span class="dropdown-arrow"></span>|</li>
ATagParams = class="dropdown-link"
}
}
Im TMENU level 2 ist unter wrap <li><p class="display-3">Produkte</p></li> welches mir ein Listen Item einfügt. Das ist zwar an dieser stelle soweit richtig, leider steht jetzt bei jedem level 2 Menü Produkte an erster stelle. Dort sollte allerdings der passende Wert aus dem Level 1 Menü stehen auf den geklickt wurde. Gibt es eine Möglichkeit anstatt Produkte hart gecodet dort hin zu schreiben eine Variable(Array) welche die passenden Einträge enthält. Oder gibt es evtl. sogar eine ganz andere Herangehensweise dieses Problem zu lösen?
Mit freundlichen Grüßen
Benjamin Leonhardt
Innerhalb Deiner Menü-Einträge hast Du auch Zugriff auf die pid, dh. die UID Deiner Elternseite. Damit könnte/sollte etwas in Kombination mit einem cObject zu basteln sein.
Evtl. auch hilfreich dabei: https://blog.marit.ag/2009/12/15/datenbankfelder-stdwrap-data/
Danke für deine Antwort. Ich versteh worauf du hinaus willst.
Leider sind das zu wenig Informationen für mich damit ich mir daraus was Basteln kann...
Gibts da nicht irgwo detailliertere Informationen wie das funktioniert?
Ich hab zwar schon gegoogelt aber leider ohne erfolg...
Die Typo3 Community ist leider sehr sparsam was Informationen/Anleitungen/Tutorials betrifft...
"Die Typo3 Community ist leider sehr sparsam was Informationen/Anleitungen/Tutorials betrifft..."
Was? Finde ich eigentlich nicht. Und es gibt viele Kanäle, über die man idR auch schnelle und gute Informationen bekommt - vorausgesetzt, man ist auch wirklich am Wissen interessiert.
Aber zurück zu Deinem Problem. Da kann ich mehr Infos liefern (fange meist aber erstmal nur mit Denkanstößen an, die oft schon helfen).
Menüs (konkret TMENU) haben die stdWrap-Eigenschaft (https://docs.typo3.org/m/typo3/reference-typoscript/10.4/en-us/MenuObjects/Tmenu/Index.html). Damit kannst Du z.B. via preCObject ein Objekt vor den eigentlichen Inhalt des TMENU setzten - also z.B. eben einen zusätzlichen Menüpunkt einfügen.
2 {
stdWrap.preCObject = TEXT
stdWrap.preCObject.typolink.parameter.field = pid
}
Wow das ist genau dass was ich suche :-) leider erstellt mir Typo3 daraus einen Link, klar ist ja auch Typolink. wenn ich Typolink allerdings weg lasse, gibt er mir nur noch die PID (also eine zahl) aus.
Gibt es denn ne Möglichkeit dort den Seitentitel statt der PID aus zu geben?
Da kommt dann der Link zur marit AG ins Spiel (siehe oben).
Was Du als preCObject konfigurierst bzw. dort als TEXT ausgeben lässt, da bist Du frei.
also mit dem marit AG link komm ich gar nicht klar. hier funktioniert leider nichts...
ich hab nun auch schon das ganze internet durchforstet... leider ohne erfolg...
achso ich habs auch schon mit doNotLinkIt versucht leider auch ohne erfolg...
hier mal der aktuelle stand welcher die PID's ausgibt.
lib.mainmenu{
1 = TMENU
wrap = <ul>|</ul>
1 {
expAll = 1
NO = 1
NO{
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = <li><span class="dropdown-arrow"></span>|</li>
ATagParams = class="dropdown-link"
}
}
2 = TMENU
2 {
expAll = 1
stdWrap.preCObject = TEXT
stdWrap.preCObject.field = pid
stdWrap.preCObject.insertData=1
#stdWrap.preCObject.typolink.parameter.field = pid
#stdWrap.preCObject.doNotLinkIt = 1
#stdWrap.preCObject.field = DB:tt_content:pid:title
stdWrap.preCObject.wrap = <li><p class="display-3">|</p></li>
wrap = <ul class="opener">|</ul>
NO = 1
NO{
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
IFSUB < .NO
IFSUB {
wrapItemAndSub = <li><span class="dropdown-arrow"></span>|</li>
ATagParams = class="dropdown-link"
}
}
3 = TMENU
3 {
wrap = <ul class="opener">|</ul>
NO = 1
NO{
wrapItemAndSub = <li>|</li>
stdWrap.htmlSpecialChars = 1
}
}
}
Probier's mal damit:
stdWrap.preCObject = TEXT
stdWrap.preCObject {
field = pid
wrap = {DB:pages:|:title}
insertData = 1
}