Attention
TYPO3 v8 has reached its end-of-life March 31st, 2020 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.
There is no further ELTS support. It is recommended that you upgrade your project and use a supported version of TYPO3.
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
t3start:Templating in the "Getting Started Tutorial" for an introduction into templating in general.
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 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 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