Introduction

What is to be rendered on a page in the frontend, the menu structure, how content objects are displayed, etc. can be defined with TypoScript - often it is used in combination with the Fluid templating engine.

This document is a reference, used to lookup TypoScript templating basic data types, object types, functions and conditions. This reference is not intended to give you a full introduction into the topic TypoScript.

What is TypoScript?

TypoScript can have 2 meanings:

  • TypoScript syntax is used in TypoScript templates and in TSconfig
  • TypoScript templates are used to configure the TYPO3 frontend rendering.

Additionally, in TypoScript templates, you must differentiate between

  • TypoScript constants (using the TypoScript constant syntax)
  • and Typoscript setup

Though TypoScript does include “functions” and “objects” and “conditions” it is not a programming language. Think of it more as a configuration language. The results of the TypoScript setup are used to build a PHP array.

Basically think of TypoScript as a means to “configure” the frontend, while TSconfig is used to configure the backend (with a few exceptions to this principle)

Please read the following for an introduction:

Templating methods in TYPO3

TypoScript templates are used to drive frontend rendering.

A minimal amount of TypoScript will always be necessary to tell TYPO3 CMS which templating method to use. It could be any of the following.

Best practice:

  • Fluid templates: Configure TYPO3 to use Fluid for templating. This allows to use external HTML templates, but with fluid-style variables with curly braces. A content object type FLUIDTEMPLATE is available, which uses Fluid from inside TypoScript.
    • See Sitepackage Tutorial for a complete walkthrough of creating a sitepackage, which is the basis for a custom theme for your site.
    • See Create Custom Content Elements for an introduction on how to create your own content element types using TypoScript FLUIDTEMPLATE, Fluid and data processors.

Other methods:

  • External Templating Engines: Any other templating system can be used. It will be provided via an extension. In such a case TypoScript may be used just to delegate the rendering to that system.
  • Custom PHP: Configure TYPO3 to call your own PHP code which generates content in any way you may prefer. This might include using third party templating engines!
  • TS content objects: Build the page entirely using TypoScript content objects. All these objects are highly configurable.

Outdated methods:

  • HTML templates: Configure TYPO3 CMS to facilitate external HTML- templates with markers and subparts using the TEMPLATE content object type. This method is considered outdated and no longer recoemmended