Zum Inhalt springen

TMENU stdWrap.override Problem für ein einzelnes Flyout

Erstellt am 13. Februar 2016 · Noch keine Antworten

Tags: TYPO3 6.x, Frage

KFK-mpg ·

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