TS: The TYPO3 Configuration Language
Thanks to its structure of separate components (Core, Extensions and Templating concept) TYPO3 is a very powerful Web Content Management System which, alone among Open Source solutions, addresses the genuine demands of a modern company's internet presence in a flexible and adaptable manner. A decisive element in this flexibility is TYPO3's own configuration language: TypoScript. By merely inserting a small Scriptcode into TypoScript, the look of the site can be adapted to match a particular corporate identity, or extension functions can be individually influenced.
What is TypoScript?
First things first: TypoScript is not a programming language or script! The script used in TYPO3 is, and remains, PHP. TypoScript can be better understood as an easily learned configuration language for exclusive use in TYPO3, which concentrates together and configures all the necessary PHP scripts. Seen thus, TypoScript is a mediator between the PHP commanded content, whether database or media files, and the Frontend and/or Backend.
Same syntax - different purpose!
TypoScript is used for configuring the web CMS System as well as for templates in the Frontend. To adapt the Backend, TSconfig is used, which is based on the same syntax as TypoScript, but serves an entirely different purpose.
- Frontend: TypoScript
- Backend: TSconfig
TYPO3 drafts – the so-called TYPO3 templates – are created by using TypoScript. It also aids in the detailed representation of Frontend content, where it can be adapted to meet any requirements. TypoScript configuration is processed in the PHP class directory "tslib" and then sent via PHP scripts to be converted into HTML, XHTML or CSS files for Frontend display.
"TypoScripting" in detail
Technically speaking, TypoScript is converted into multi-dimensional PHP arrays. These gather a website's hierarchically ordered PHP objects into a structured form. TypoScript is then used to directly communicate with these bundled PHP objects and process them for Frontend use.
The page content represented at the Frontend is decided by the information transfer contained in TypoScript commands which, together with HTML templates, are gathered from the TYPO3 templates in the relevant PHP arrays. Using this method, not only modern HTML, but also XML or Text files can be generated for a wide range of uses.
Individual settings in the Backend can also be simply and flexibly applied using TypoScript syntax. With TSconfig, we roughly differentiate between Page TSconfig for general Backend configurations and User TSconfig for user-specific adaptations. Thus, for example, TSconfig can be used to configure the Backend in such a way as to allow an editor to see only those fields for which he has legitimate access.
There is a great deal of information available, both in print and online, for anyone learning to use TypoScript as a configuration language and understand its syntax. Apart from online tutorials, the most vital information source for acquiring a good use of this language, is the TypoScript reference Frontend TSref. Additional information on this can be found below: