Leere Spalte mit anderem Inhalt überschreiben

Angenommen, Sie möchten eine Spalte, in der kein Inhalt definiert ist, mit dem Inhalt einer anderen Spalte füllen. Wenn Inhalt definiert ist, dann soll dieser auch angezeigt werden. Das folgende Snippet zeigt, wie man dieses Problem mit der Anweisung stdWrap.ifEmpty lösen kann.

TypoScript: Leere Spalte durch anderen Inhalt ersetzen

SETUP
temp.inhalt_rechts >
temp.inhalt_rechts = COA
temp.inhalt_rechts {
  # Hole Inhalt aus rechter Spalte
  10 < styles.content.getRight
  # Wenn leer, dann Inhalt aus anderer Seite holen
  10.stdWrap.ifEmpty.cObject = CONTENT
  10.stdWrap.ifEmpty.cObject {
    table = tt_content
    select {
      # Seite, aus der der Inhalt kommt (ID 123)
      pidInList = 123
      orderBy = sorting
      # colPos=2 ist Spalte 'RECHTS'
      where = colPos=2
    }
  }
}

In diesem Beispiel wird die rechte Spalte der aktuellen Seite - wenn diese leer ist - durch den Inhalt der rechten Spalte einer anderen Seite (im Beispiel: ID 123) ersetzt.
Das Objekt temp.inhalt_rechts können Sie anschließend einem Marker in Ihrem Template zuweisen.

Kommentare zu Leere Spalte mit anderem Inhalt überschreiben
Gravatar: stefan

stefan

07.10.2011, 10:28

Danke für die Anregung - hat mir weitergeholfen.

Interessant wirds, wenn man das mit ner leeren Rand-Spalte macht, die bei Bedarf einen Content-Slide nachholt. Dieser greift ja nur, wenn kein Inhaltselement auf der Unterseite angelegt ist - nicht wenn dieses nur keinen Inhalt zurückgibt.

Und richtig lustig wird das ganze wenn man das mit den Genericmarkers von tt_news probieren will. Hab diesen Fall gerade ausgeknobelt ;)

Kommentar abgeben


(wird nicht veröffentlicht, Gravatar ist eingeschaltet)



* Diese Felder sind für das Kommentieren notwendig

Besucher fanden diese Seite unter folgenden Suchbegriffen:

typoscript ifempty · typo3 ifempty · typo3 content if empty · templavoila content if empty · leere contents mit typo3