Hallo Forum, ich schon wieder.
Diesmal liegt mein Problem in der Kombination TMENU, IFSUB und LOAD_REGISTER.
Ich habe eine Extension mit dem Kickstarter erstellt, die mir die pages-Tabelle um zwei Felder erweitert: menuCols und menuDir. menuCols soll die Anzahl der Spalten des Level2-Dropdown Submenüs aufnehmen (String wegen CSS-Klasse), menuDir die Richtung, in der das Dropdown-Menü sich öffnet (auch String wegen CSS). Geht soweit.
In der ersten Ebene lese ich über {field:menuDir} den Wert aus und schreibe ihn in wrapItemAndSub in einem Optionsplit in das gewünschte Element. Funktioniert wunderbar.
Für die zweite Ebene benötige ich jetzt den Wert aus menuCols für die CSS-gesteuerte Breite des Dropdown. Den Wert kann ich aber nur in der ersten Ebene auslesen. Also habe ich mittels LOAD_REGISTER ein register erstellt und lese da den Wert hinein. Funktioniert auch! Auch das Auslesen geht, der Wert wird korrekt ausgegeben.
Aber: Jetzt ist der Wert meines wrapItemAndSub in IFSUB leer, das heisst, der Seitentitel, der hier erscheinen sollte, wird nicht ausgegeben. Ansonsten ist der resultierende HTML-Quelltext korrekt.
Ich habe folgendes TS-Snippet:
lib.dropdown = HMENU
lib.dropdown {
includeNotInMenu = 1
1 = TMENU
1 {
wrap = <ul>|</ul>
expAll = 1
noBlur = 1
NO = 1
NO {
wrapItemAndSub = <li class="first">|</li>|*|<li>|</li>|*|<li class="last">|</li>
}
IFSUB < .NO
IFSUB {
stdWrap.cObject = LOAD_REGISTER
stdWrap.cObject {
numCols.field = menuCols
numCols.insertData = 1
}
wrapItemAndSub.insertData = 1
wrapItemAndSub = <li class="first dir{field:menuDir}">|</li>|*|<li class="dir{field:menuDir}">|</li> |*|<li class="last dir{field:menuDir}">|</li>
}
}
2 < .1
2 {
stdWrap.dataWrap = <div class="cols-wrap {register:numCols}"><div class="cols clearfix"><div class="col"><ul>|</ul></div></div></div>
stdWrap.insertData = 1
...
Und hier ein Ausschnitt des resultierenden HTML-Quelltextes:
<ul>
<li class="first">
<a href="home.html">Home</a>
</li>
<li class="dirright">
<a href="Punkt Zwei.html"></a> <!-- Hier fehlt der Seitentitel -->
<ul>
<div class="cols-wrap one">
...
</div>
</ul>
....
Installiert habe ich Typo3 4.7.0 mit realurl und templavoila
Ich habe schon alles Mögliche ausprobiert und 'ne Menge Artikel gelesen, aber leider noch keinen Lösungsansatz gefunden. Vielleicht bin ich ja wieder blind...
--harvey