TYPO3-Testaccount
Testen Sie die aktuelle TYPO3 Version 4.4.2 kostenlos und unverbindlich für einen Monat!

jetzt testen

Schulungen

jetzt buchen

Inhalte aus den Spalten LINKS, NORMAL, RECHTS, RAND ausgeben

Wenn Sie im Backend alle 4 Inhalts-Spalten nutzen wollen, müssen Sie im TypoScript definieren, wo die Datensätze der einzelnen Spalten im Frontend ausgegeben werden sollen.

Nehmen wir an, Sie haben einen Inhaltselement in der Normal-Spalte. Ein weiteres Text-Seitenelement ist in der Randspalte. Mithilfe von phpMyAdmin können Sie auch selbst überprüfen, worin sich diese beiden Datensätze unterscheiden: Der 1. Text hat in der Spalte colPos den Wert 0, der 2. Text hat den Wert 3.

Hier die komplette Liste:

Spalte

colPos-Wert

Links

1

Normal

0

Rechts

2

Rand

3

Aber wie kann der Inhalt ausgegeben werden?
Angenommen, Sie hätten ein Layout in folgender Art:

Beispiel: designvorlage.tmpl

HTML
<!-- ###SCREEN### -->
<table>
  <tr>
    <td>###INHALT_NORMAL###</td><td>###INHALT_RAND###</td>
  </tr>
</table>
<!-- ###SCREEN### -->

Wie spricht man die Marker an?

Die Marker ###INHALT_NORMAL### und ###INHALT_RAND### müssen nun von Typo3 ersetzt werden. Typo3 muss nun folgendes von Ihnen "erklärt" bekommen:

  • Aus welcher Tabelle sollen die Daten kommen?
  • Welche Spalte des Backends soll gezeigt werden?
  • In welcher Reihenfolge sollen die Daten ausgegeben werden?
  • Falls die Webseite mehrsprachig ist: Welche Sprache soll ausgegen werden?

Die Definition dieser Ausgabe geschieht im TypoScript-Setup:

TypoScrip-Setup:

TYPOSCRIPT
page = PAGE
page {
	typeNum = 0
	10 = TEMPLATE
	10 {
		template = TEXT
		template.file = fileadmin/templates/designvorlage.tmpl
		workOnSubpart = SCREEN
		marks {
			INHALT_NORMAL = CONTENT
			INHALT_NORMAL {
				table = tt_content
				select {
					where = colPos = 0
					orderBy = sorting
					languageField = sys_language_uid
				}
			}
			INHALT_RAND = CONTENT
			INHALT_RAND {
				table = tt_content
				select {
					where = colPos = 3
					orderBy = sorting
					languageField = sys_language_uid
				}
			}
		}
	}
}

In den Zeilen 1-3 wird die Seite 'page' mit einer zwingend anzugebenden typeNum definiert.

In Zeile 4 wird an Position 10 der Seite (hier die einzige Position) ein Template ausgegeben. Dieses Template kommt aus einer Datei, die wir vorher z.B. im Fileadmin im Ordner templates angelegt haben (Zeile 7).

Damit Sie z.B. in der Datei designvorlage.tmpl sowohl das Layout der Website sowie ein weiteres Template für eine Druckansicht speichern können, bietet Typo3 die Möglichkeit, einen Bereich aus dem Template zu extrahieren (Zeile 8).

Ein Template kann nun Marker enthalten. Diese haben in der Designvorlage immer drei '#' vor und hinter dem in Großbuchstaben geschriebenen Markernamen. In TypoScript werden diese Marker dann allerdings ohne die '#' angegeben.
Wie Sie sehen können, sind die Abschnitte INHALT_NORMAL und INHALT_RAND bis auf den Wert von colPos völlig gleich.