Change Typoscript values at parsetime

by on

Typoscript properties in the CONFIG section are usually defined once and at a certain point. But what if you have defined the value of a property at some place and like to add another one later in the parsing process?


A prominent example is config.linkVars. In most cases, it's used to append the global language parameter L to typolinks:

config.linkVars = L

However, if you need to append another value to that property using a basis template or an extension template, you can do this with := addToList():

config.linkVars := addToList(print)

Parsing both properties will have the same result as:

config.linkVars = L, print

List of functions

It's so easy, isn't it? Mind the := operator as a placeholder for the parser to process the function. The "TypoScript Syntax and In-depth Study" docs reveal the following list of functions which can be used here. There's even a hook to use your own functions.


... adds a string before the existing one.


... adds a string after the existing one.


... removes a string from the existing one. str_replace() is used here.


... replaces an existing string with a new one. str_replace() is used here,with the pipe symbol | as a divider.


... appends values to a comma separated list. The list will neither be sorted nor distinct. Multiple values are given as a comma separated list.


... removes values from a comma separated list. Multiple values are given as a comma separated list.



  1. Phil

    Sample usage of replaceString:

    somevalue := replaceString(oldstring|newstring)

  2. TypoConsult

    A quick example:

    lib.footer = COA
    lib.footer {
    wrap = Copyright ###year###
    wrap := replaceString(###year###||)

    10 = TEXT
    10 {
    wrap = |
    data = date:U
    strftime =%Y

    Kind regards