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

Wenn Sie im Backend alle vier 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:

SpaltecolPos-Wert
Links1
Normal0
Rechts2
Rand3

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

Beispiel: designvorlage.tmpl

html4strict
<!-- ###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:

  1. page = PAGE
  2. page {
  3. typeNum = 0
  4. 10 = TEMPLATE
  5. 10 {
  6. template = TEXT
  7. template.file = fileadmin/templates/designvorlage.tmpl
  8. workOnSubpart = SCREEN
  9. marks {
  10. INHALT_NORMAL = CONTENT
  11. INHALT_NORMAL {
  12. table = tt_content
  13. where = colPos = 0
  14. orderBy = sorting
  15. languageField = sys_language_uid
  16. }
  17. }
  18. INHALT_RAND = CONTENT
  19. INHALT_RAND {
  20. table = tt_content
  21. where = colPos = 3
  22. orderBy = sorting
  23. languageField = sys_language_uid
  24. }
  25. }
  26. }
  27. }
  28. }

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.