T3tipps

TYPO3 Tipps und Tricks gesammelt

Wechseln zu: Inhalt | Sidebar | Footer

Einen bestimmten Datensatz nur auf einer Seite anzeigen

25 November, 2010 (10:48) | Minitipp | By: Robert Wenk

Gerade hatte ich das Problem:

Auf der Startseite sollte noch an einer bestimmten Stelle Text ausgegeben werden. Der Text sollte veränderbar sein.

Einfach einen neuen Datensatz im Content einzufügen war nicht möglich, da dazwischen noch feste Elemente im Template vorhanden sind.

Die Vorgehensweise um einen bestimmten Datensatz (hier den mit der Nummer 516) anzuzeigen ist

temp.starttext = RECORDS
   temp.starttext {
   tables = tt_content
   source = 516
}

und einer Zuweisung an einen Marker mit

marker.TEXT < temp.starttext

Wenn dieser Datensatz nur auf einer (oder mehreren) bestimmten Seiten angezeigt werden soll, dann geht das am einfachsten über eine Bedingung im TypoScript. Im nachfolgenden Beispiel würde der Marker nur auf der Seite mit der ID 149 angezeigt.

temp.starttext = RECORDS
[globalVar = TSFE:id=149]
   temp.starttext {
   tables = tt_content
   source = 516
}
[global]

Wichtig ist, dass die Variable temp.starttext ausserhalb der Bedingung definiert wird. Nur die Befüllung mit dem Inhalt aus tt_content erfolgt dann innerhalb der Bedingung. Der Marker wird so auf jeden Fall befüllt, nur eben mit leerem Inhalt wenn man nicht auf der Seite 146 ist.

Stünde die Zeile temp.startext innerhalb der Bedingung, dann wird der Marker auf der Seite 146 mit dem Inhalt belegt, und auf den anderen Seiten gar nicht ersetzt, es steht dann ###TEXT### irgendwo in der HTML-Seite.

Kommentar schreiben