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.
Includes¶
You can also add include-instructions in TypoScript code. Availability depends on the context, but it works with TypoScript templates, Page TSconfig and User TSconfig.
Alternative, traditional Syntax¶
A traditional include-instruction will work as well and for example looks like this:
<INCLUDE_TYPOSCRIPT: source="FILE:fileadmin/html/mainmenu_typoscript.txt">
It must have its own line in the TypoScript template, otherwise it is not recognized.
It is processed BEFORE any parsing of TypoScript (contrary to conditions) and therefore does not care about the nesting of confinements within the TypoScript code.
The "source" parameter points to the source of the included content. The string before the first ":" (in the example it is the word "FILE") will determine which source the content is coming from. These options are available:
Option |
Description |
---|---|
FILE |
A reference to a file relative to Also paths relative to the including file can be
passed to INCLUDE_TYPOSCRIPT, if the inclusion is called from inside a
file. These paths start with If you use a syntax like |
DIR |
This includes all files from a directory relative to Files are included in alphabetical. Also files are included first, then directories. Example: <INCLUDE_TYPOSCRIPT: source="DIR:fileadmin/templates/" extensions="typoscript">
This includes all those files from the directory
|
Conditions¶
Since TYPO3 CMS 7, it is possible to use conditions on include directives. The conditions are the same as was presented in the previous chapter. The files or directories will be included only if the condition is met.
Example:
<INCLUDE_TYPOSCRIPT: source="FILE:EXT:my_extension/Configuration/TypoScript/user.typoscript" condition="[loginUser = *]">
Best practices¶
The option to filter by extension has been included exactly for the
purpose of covering as many use cases as possible. In TYPO3 CMS we often
have many different ways of configuring something, with pros and cons
and the extended inclusion command serves this purpose of letting you
organize your files with different directories using whichever extension
fits your needs better (e.g., .typoscript
) and/or filter by extension (e.g.,
because you may have .typoscript
and .txt
in the directory or because you prefer
having .typoscript<something>
as extension).
It is recommended to separate files with different directories:
For TSconfig code use a directory called TSconfig/, possibly with subdirectories named Page/ for Page TSconfig and User/ for User TSconfig.
For TypoScript template code, use a directory named TypoScript/.
However, we understand that filtering by extension could make sense in some situations and this is why there is this additional option.