Zum Inhalt springen

Onepager mit verschiedenen Backendlayouts

Erstellt am 19. Juli 2021 · 2 Antworten · letzte Antwort am 19. Juli 2021

Tags: TYPO3 10, Frage

goetzlisa_ ·

Ich habe eine Typo3 Seite in der ich mit folgendem Code alle Subpages als Onepager lade:

lib.content = COA
lib.content {

    ### Content from Homepage
    10 = CONTENT
    10 {
        table = tt_content
        select {
            pidInList.data = site.rootPageId
            orderBy = sorting
            where.cObject = COA
            where.cObject {
                10 = TEXT
                10 {
                    field = colPos
                    intval = 1
                    ifEmpty = 0
                    noTrimWrap = | AND colPos=||
                }
            }
        }
    }

    ### Contents from subpages
    20 = CONTENT
    20 {
        table = pages
        select.orderBy = sorting
        select.where = doktype != 199

        renderObj = COA
        renderObj {
            10 = CONTENT
            10 {
                table = tt_content
                select {
                    pidInList.field = uid
                    orderBy = sorting
                    where = colPos = 0
                    }    
                }
            
            stdWrap {
            if.isLessThan.field = doktype
            if.value = 3
            wrap = <section id="p{field:uid}">|</section>
            wrap.insertData = 1
            }

            20 < .10
            20.select.where = colPos = 1

            30 < .10
            30.select.where = colPos = 2

            40 < .10
            40.select.where = colPos = 3

            50 < .10
            50.select.where = colPos = 4

            60 < .10
            60.select.where = colPos = 5

            70 < .10
            70.select.where = colPos = 6
        }
    }
}

Das gebe ich dann im Default.html so aus:

<html data-namespace-typo3-fluid="true" xmlns:f="https://xsd.helhum.io/ns/typo3/cms-fluid/master/ViewHelpers">
    <!-- Nutzen des Layouts "Page/Default" -->
    <f:layout name="Page/Default"/>

    <!-- Rendern des Hauptinhalt -->
    <f:section name="Main">
        <f:cObject typoscriptObjectPath="lib.content" />
    </f:section>
</html>

Jetzt habe ich aber das Problem das hier natürlich meine ursprünglichen Layouts nicht mehr greifen.
Bei der Portfolioseite beispielsweise:

   <main>
        <div class="portfolio">
            <div class="portfolio-col1">
                <f:render section="Portfolio1"/>
            </div>
            <div class="portfolio-col2">
                <f:render section="Portfolio2"/>
            </div>
            <div class="portfolio-col3">
               <f:render section="Portfolio3"/>
            </div>
        </div>
        <div class="panorama">
            <f:render section="Panorama"/>
        </div>
    </main>

Gibt es denn eine Möglichkeit meine Layouts trotzdem anzuwenden?

Julian.​Hofmann ·

Im Abschnitt "Contents from subpages" lässt Du ja den Inhalt Deiner pages-Datensätze rendern. D.h. dort stünde Dir im renderObj auch das Seitenlayout/Backendlayout-Feld zur Verfügung.

goetzlisa_ ·

Ich verstehe ehrlich gesagt nicht wie das funktioniert. Finde dazu auch nirgends ein Codebeispiel, das mit weiterhilft. Ich wäre sehr dankbar, wenn du mir mit ein wenig Code helfen könntest! 🙂