78 lines
2.4 KiB
ReStructuredText
78 lines
2.4 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _feature-91080-1657827157:
|
|
|
|
=======================================================================
|
|
Feature: #91080 - Site settings as TypoScript constants and in TSconfig
|
|
=======================================================================
|
|
|
|
See :issue:`91080`
|
|
See :issue:`91081`
|
|
|
|
Description
|
|
===========
|
|
|
|
Prior to TYPO3 v10.0 it was possible to inject information from
|
|
page TSconfig into TypoScript constants with :typoscript:`TSFE.constants.const1 = a`.
|
|
|
|
This could be used to centralize configuration of e.g. record storagePids,
|
|
which could then be used in Backend for modules or for IRRE and for Frontend plugins.
|
|
|
|
This old feature has been removed, because it was recommended to add site settings.
|
|
The according new feature added with TYPO3 v10 was reverted in v10.1 though.
|
|
|
|
This re-implementation now allows to define site settings via :file:`config/sites/<site-name>/config.yml`
|
|
|
|
The newly introduced settings inside :file:`config.yml` are made available
|
|
as TypoScript constants and page TSconfig constants.
|
|
|
|
An example configuration in the :file:`config/sites/<site-name>/config.yml`:
|
|
|
|
.. code-block:: yaml
|
|
|
|
settings:
|
|
categoryPid: 658
|
|
styles:
|
|
content:
|
|
loginform:
|
|
pid: 23
|
|
|
|
This will make these constants available in the template and in page TSconfig:
|
|
|
|
* :typoscript:`{$categoryPid}`
|
|
* :typoscript:`{$styles.content.loginform.pid}`
|
|
|
|
The newly introduced constants for page TSconfig can be used just like constants
|
|
in TypoScript.
|
|
|
|
In page TSconfig this can be used like this:
|
|
|
|
.. code-block:: 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 now evaluated in this order:
|
|
|
|
#. Global :php:`'defaultTypoScript_constants'`
|
|
#. Site specific settings from the site configuration
|
|
#. Constants from sys_template database records
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
It is now possible again to have a central place for configuration relevant
|
|
for Backend and Frontend.
|
|
|
|
For instance: It is now possible to define all page-uid related configuration centrally
|
|
with the site configuration and get templates and page TSconfig independent
|
|
of actual UIDs.
|
|
|
|
.. index:: TypoScript, ext:core, ext:frontend, ext:backend
|