Zum Inhalt springen

Einen bestimmten Datensatz in einem Inhaltselement sliden

Erstellt am 9. Juni 2015 · 2 Antworten · letzte Antwort am 9. Juni 2015

Tags: TYPO3 6.x, Frage

Phigiro ·

Hallo zusammen,

ich bin erst seit kurzer Zeit mit Typo3 unterwegs und stehe nun vor einem kleinem Problem.

Ich habe auf einer Website einige Einzelseiten, die in Form der tx_news Detailartikel aufgebaut sind, aber statisch sind, also keine Artikel aus tx_news. Nun möchte ich das unsere Redakteure den Inhalt für diese Seiten wie folgt pflegen:

Den Haupttext in das normale Inhaltselement, also colPos = 0 und das Bild, Titel und Teaser jeweils als eigenen Datensatz (nur Bild, nur Text, Nur Text) in das rechte Inhaltselement, also colPos = 2.

Die Seiten die dies betrifft sind in einem Sys-Ordner angelegt, der über setup ein eigenes Template zugewiesen bekommen hat.
An der Stelle möchte ich nun über das rechte Inhaltselement sliden, damit ich Bild, Titel und Teaser jeweils einem bestimmten Marker zuweisen kann. Die Ids der Datensätze kann ich nicht ansprechen, da die ja pro Seite unterschiedlich sind, ich bräuchte etwas wie die Auswahl des rechten Inhaltselement, dann den jeweils ersten Datensatz für das Bild, dann den zweiten für den Titel und den dritten für den Teaser. Der Redakteur muss natürlich immer auf die richtige Reihenfolge achten. Ist möglich, es sind nur 15 Seiten.

Geht das? Ist das überhaupt state of the art?

Soll ich lieber über Backendlayout drei neue Contentelemente hinzufügen?

Danke schon mal im voraus. :-)

toifel · · Beste Antwort

Das lässt sich über das cObject CONTENT in TypoScript realisieren.

lib.rightImage = CONTENT
lib.rightImage {
  table = tt_content
  select {
    pidInList = this
    where = colPos = 2
    begin = 1
    max = 1
  }
}

lib.rightTeaser < lib.rightImage
lib.rightTeaser.select.begin = 2

lib.rightText < lib.rightImage
lib.rightText.select.begin = 3

Die lib.* Objekte kannst du dann den einzelnen Markern im Template zuweisen.

Phigiro ·

Hallo,

ja, das hat super geklappt! Danke! :-)
Allerdings musste ich den begin = 0 setzen und die folgenden dann auf 1 und 2.

Dann war aber alles gut! :-)