Configuration methods list¶
These are the main configuration methods used by TYPO3:
$GLOBALS array consists of:
- Global Configuration
$GLOBALS['TYPO3_CONF_VARS']is used for system wide configuration.
- A subset of this is
$GLOBALS['TYPO3_CONF_VARS']['EXTENSIONS']). It is used for configuration specific to one extension.
GLOBALS['TCA']is specific to database fields and how they behave and can be edited in the backend.
- User settings
$GLOBALS['TYPO3_USER_SETTINGS']defines configuration for backend users
- ... you can find more in the TYPO3 backend SYSTEM > Configuration
or by viewing the
$GLOBALSarray in a debugger. Read more about this on Global Variables.
Furthermore, we have:
- TSconfig is used to configure and customize the backend on a page (page TSconfig) and a user or group basis (user TSconfig).
- TypoScript configuration method is used to configure plugins (FE) and modules (BE), as well as some global settings (config). It is also used to define the rendering, but that is beyond the scope of this page, which focuses only on configuration. TypoScript is mostly used for configuration that affects the Frontend (FE).
- Flexform is used to configure plugins and content elements.
- Feature Toggles are used to switch a specific functionality of TYPO3 on or off.
Additionally, some system extensions use YAML for configuration:
- Site configuration is stored in
<project-root>/config/sites/<identifier>/config.yamland can be configured in the sites module.
- form: Forms in the frontend
- rte_ckeditor: configure editing rich text editing
- Event listeners in
- Dependency injection information in
There is a YamlFileLoader which can be used to load YAML files.
This manual covers many different APIs of the TYPO3 CMS Core, but some other documents exist which cover more specific aspects.
TCA is the backbone of database tables displayed in the backend, it configures
how data is stored if editing records in the backend, how fields are displayed,
relations to other tables and much more. It is a huge array loaded in almost all
A detailed insight on
TCA is documented in the TCA Reference.
Next to a small introduction, the document forms a complete reference of all
TCA options, with bells and whistles. The document is a must-read for
Developers, partially for Integrators, and is often used as a reference book on a daily basis.
TypoScript - or more precisely
Frontend TypoScript - is used in TYPO3 to steer
the frontend rendering (the actual website) of a TYPO3 instance. It is based on the
TypoScript syntax which is outlined in detail here in this document.
Frontend TypoScript is very powerful and has been the backbone of frontend rendering ever since. However, with the rise of the Fluid templating engine, many parts of Frontend TypoScript are much less often used. Nowadays, TypoScript in real life projects is often not much more than a way to set a series of options for plugins, to set some global config options, and to act as a simple pre processor between database data and Fluid templates.
Still, the TypoScript Reference reference document that goes deep into the incredible power of Frontend TypoScript is daily bread for Integrators.
Frontend TypoScript is used to steer the rendering of the frontend,
TSconfig is used
to configure backend details for backend users. Using
TSconfig it is possible to enable or
disable certain views, change the editing interfaces, and much more. All that without coding a single
line of PHP.
TSconfig can be set on a page (Page TSconfig), as well as a user / group (User TSconfig)
TSconfig uses the same syntax as
Frontend TypoScript, the syntax is outlined in detail
here in this document. Other than that, TSconfig and Frontend TypoScript
don't have much more in common - they consist of entirely different properties.
A full reference of properties as well as an introduction to explain details configuration usage, API and load orders can be found in the TSconfig Reference document. While Developers should have an eye on this document, it is mostly used as a reference for Integrators who make life as easy as possible for backend users.