Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v10 here: TYPO3 ELTS.
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:
- TypoScript Syntax chapter in "TYPO3 Explained" for an introduction to the TypoScript syntax
- TypoScript in 45 Minutes for an introduction to TypoScript Templating
- The chapter Using and setting TypoScript describes how to use, set and extend TypoScript.
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 TYPO3 Sitepackage Tutorial for a complete walkthrough of creating a sitepackage, which is the basis for a custom theme for your site.
- See Create a custom content element type 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 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 FLUIDTEMPLATE content object type. This method is considered outdated and no longer recommended.