Site settings

It is possible to define a settings block in a site's config.yaml which can be accessed both in backend and frontend via the site object \TYPO3\CMS\core\Site\Entity\Site.

Additionally, these settings are available in both page TSconfig and TypoScript templates. This allows us, for example, to configure site-wide storage page IDs which can be used in both frontend and backend.

Adding site settings

Add a settings block to the config.yaml:

config/sites/<some_site>/config.yaml | typo3conf/sites/<some_site>/config.yaml
settings:
  categoryPid: 658
  styles:
    content:
      loginform:
        pid: 23

Note

This example shows how to fill a constant of EXT:felogin via site settings (styles.content.loginform.pid) and configures a custom categoryPid.

Accessing site settings in page TSconfig or TypoScript

// store tx_ext_data records on the given storage page by default (e.g. through IRRE)
TCAdefaults.tx_ext_data.pid = {$categoryPid}

// load category selection for plugin from out dedicated storage page
TCEFORM.tt_content.pi_flexform.ext_pi1.sDEF.categories.PAGE_TSCONFIG_ID = {$categoryPid}

Note

The TypoScript constants are evaluated in this order:

  1. Configuration from $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_constants']

  2. Site specific settings from the site configuration

  3. Constants from sys_template database records