Hi liebe Forengemeinde,
ich hoffe ich bin hier Richtig und Ihr könnt mir helfen. Bin mittlerweile etwas ratlos.
Ich baue (wie so öfters 😉 ) ein TMENU in Typoscript auf. Dieses ist im Hauptmenü eine Liste und die Untermenüs werden in DIV-Container verschachtelt. Alles Funktioniert soweit gut.
Struktur:
<ul>
<li>
<a href="..." />
<div class="flyout">
<div>
<div class="span4">...</div>
<div class="span8">...</div>
</div>
</div>
</li>
.....
</ul>
In dem einen gewünschten Menüpunkt soll sich die Struktur so verändern, dass die zwei Div-Elemente im Flyout Container (inklusive allem Darunter) tauschen werden. D.h. es soll folgendermaßen aussehen:
<ul>
<li>
<a href="..." />
<div class="flyout">
<div>
<div class="span8">...</div>
<div class="span4">...</div>
</div>
</div>
</li>
.....
</ul>
Dazu habe ich im stdwrap ein override definiert. Folgendermaßen sieht das ganze aus:
stdWrap {
innerWrap.cObject = COA
innerWrap.cObject {
3 = LOAD_REGISTER
3 {
Counter.cObject = TEXT
Counter.cObject.data = register:Counter
Counter.cObject.wrap = |+1
Counter.prioriCalc = intval
}
4 = CASE
4 {
key.field = pid
default = CONTENT
default {
table = tt_content
select {
pidInList.field = pid
where = colPos=4
languageField = sys_language_uid
max = 1
}
renderObj < tt_content
}
stdWrap.wrap = <div class="span4 {register:Counter} - {register:count_HMENU_MENUOBJ}">|</div>
stdWrap.insertData = 1
stdWrap.required = 1
}
5 = TEXT
5.value = <div class="span8 column-box">|</ul></div>
#
}
override.innerWrap.cObject >
override.innerWrap.cObject = COA
override.innerWrap.cObject {
4 >
4 = TEXT
4.value = <div class="span8 foobar">|</ul> </div>
5 >
5 = CASE
5 {
key.field = pid
default = CONTENT
default {
table = tt_content
select {
pidInList.field = pid
where = colPos=4
languageField = sys_language_uid
max = 1
}
renderObj < tt_content
}
stdWrap.wrap = <div class="span4 foo {register:Counter} - {register:count_HMENU_MENUOBJ}">|</div>
stdWrap.insertData = 1
stdWrap.required = 1
}
}
override.innerWrap.cObject.if {
value.data = field:pid
equals = 586
}
wrap = <div class="row-fluid">|</div>
}
Jedoch kommt folgende HTML Struktur raus:
<ul>
<li>
<a href="..." />
<ul>
<div class="flyout">
<div>
<div class="span8">...</div>
<div class="span4">...</div>
</div>
</div>
</ul>
<div class="span4 foo">...</div>
</li>
.....
</ul>
Ich weiß irgendwie nicht mehr weiter. Zum einen Wrapped er die Span-Elemnte + Parent-Div in ein neues UL-Element, zum anderen packt er das veränderte DIV-Element als letztes Element in das Listenelement, anstatt es zu ersetzen. Falls ich es noch nicht erwähnt haben sollte: Ich weiß mir keinen Rat mehr und Suche schon seit einigen Stunden nach einer Lösung 😉
Mein Ziel ist es eigentlich nur, bei dem einen Hauptmenüpunkt die Div-Elemente zu tauschen. Später sollen in diesem dann weitere Submenüs integriert werden, aber mir würde der Strukturtausch ersteinmal helfen.
Ich hoffe Ihr könnt mir helfen.
Viele Grüße
Daniel