TYPO3 v15 dev-main snapshot ()
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
.. 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
|
||||
Reference in New Issue
Block a user