Einen bestimmten Datensatz nur auf einer Seite anzeigen
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.