Zum Inhalt springen

One Page

Erstellt am 17. November 2014 · 2 Antworten · letzte Antwort am 20. November 2014

Tags: TYPO3 6.x, Frage

grisub ·

Hallo liebe Gemeinde,
ich hätte eine Frage zu folgendem Problem.

Ich lese meinen Content folgendermaßen aus

 lib.alleInhalte = CONTENT
    lib.alleInhalte {
    table = pages
    select.pidInList = 1
    renderObj = COA
    renderObj {
    10 = CONTENT
    10 {
    table = tt_content
    select.pidInList.data = field:uid
    wrap = <div class="contentWrap">|</div>
    }
    wrap = <div class="pageWrap id{field:uid}"><h2>{field:title}</h2>|</div>
    wrap.insertData = 1
    }
    }

Das funktioniert auch wunderbar. Nun meine Frage.
Die Backend Layouts habe ich bereits angelegt.
Ich möchte gerne 1,2 und 3 Spaltige Layouts verwenden die ich in den Eigenschaften der Page aussuche verwenden. Die layouts liegen im Ordner.
layoutRootPath = fileadmin/Resources/Private/Layouts/

Wie muss ich mein Typoscript anpassen dass er mir diese auch auf der Seite übernimmt?
Danke für eure Hilfe.

toifel ·

Dazu musst du das Layout in deinem renderObj abfragen und entsprechend den CONTENT ausgeben lassen.
In diesem Beispiel ist das Backend Layout mit der ID 1 ein 2-spaltiges Layout mit "contentLeft (colPos 1)" und "contentMain (colPos 0)".

    lib.alleInhalte = CONTENT
    lib.alleInhalte {
      table = pages
      select.pidInList = 1
      renderObj = COA
      renderObj {
        10 = COA
        10 {
          if.value.data = field:backend_layout
          if.equals = 1

          10 = CONTENT
          10 {
            table = tt_content
            select.pidInList.data = field:uid
            select.where = colPos = 1
            wrap = <div class="contentLeft">|</div>
          }

          20 = CONTENT
          20 {
            table = tt_content
            select.pidInList.data = field:uid
            select.where = colPos = 0
            wrap = <div class="contentMain">|</div>
          }

          wrap = <div class="contentWrap">|</div>
        }

        20 = COA
        20 { ..... }

        wrap = <div class="pageWrap id{field:uid}"><h2>{field:title}</h2>|</div>
        wrap.insertData = 1
      }
    }