Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize RTE page #398

Merged
merged 11 commits into from
Nov 14, 2023
49 changes: 43 additions & 6 deletions Documentation/PageTsconfig/Rte.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@ The `RTE` prefix key is used for configuration of the Rich Text Editor.
Please refer to the :ref:`RTE chapter <t3coreapi:rte>` in Core API document
for more general information on RTE configuration and data processing.

The order in which configuration for the RTE is loaded is:
The order in which the configuration for the RTE is loaded is (the first one which
is set will be used, see :ref:`example <pageTsRteOverridePreset>` below):

1. preset defined for a specific field via PageTS
2. richtextConfiguration defined for a specific field via TCA
3. general preset defined via PageTS
4. default
1. preset defined for a specific field via page TSconfig
2. :ref:`richtextConfiguration <t3tca:columns-text-properties-richtextConfiguration>`
defined for a specific field via TCA
3. general preset defined via page TSconfig (:typoscript:`RTE.default.preset`)
4. default (the preset "default", e.g. as defined by EXT:rte_ckeditor or overridden
in :file:`ext_localconf.php`)

The full property path building is a bit more complex than for other
property segments. The goal is that global options can be set that can
Expand All @@ -33,7 +36,17 @@ Configure RTE for a specific field in a table
Configure RTE for a specific field in a table for a specific :ref:`record type <t3tca:types>`
`RTE.config.[tableName].[fieldName].types.[type]`

Consider the following Page TSconfig examples:
Configuring RTE via page TSconfig is general and not specific to a
particular rich-text editor. However, TYPO3 comes with EXT:rte_ckeditor, so this one
will usually be used. This page covers only the general configuration, for
more information about configuring rte_ckeditor, see the
brotkrueml marked this conversation as resolved.
Show resolved Hide resolved
:ref:`rte_ckeditor configuration <ext_rte_ckeditor:configuration>`.

Examples
========

Example: Disable RTE
--------------------

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig
Expand All @@ -59,6 +72,30 @@ Consider the following Page TSconfig examples:
# But disable RTE for tt_content bodytext again if the record type is "text"
RTE.config.tt_content.bodytext.types.text.disabled = 1

.. _pageTsRteOverridePreset:

Example: Override preset
------------------------

Check the description of the order above to see which setting overrides which.
brotkrueml marked this conversation as resolved.
Show resolved Hide resolved

Summary:

* Setting the preset via page TSconfig *for a specific field* overrides all
brotkrueml marked this conversation as resolved.
Show resolved Hide resolved
brotkrueml marked this conversation as resolved.
Show resolved Hide resolved
else
* TCA richtextConfiguration (for a specific field) overrides the page TSconfig
default preset (:typoscript:`RTE.default.preset`)

.. code-block:: typoscript
:caption: EXT:site_package/Configuration/page.tsconfig

# set a default preset to use as fallback
RTE.default.preset = custom_preset_default

# Override preset for field "description" in table "tt_address"
RTE.config.tt_address.description.preset = custom_preset_fancy


Properties
==========

Expand Down
2 changes: 1 addition & 1 deletion Documentation/Settings.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ ext_lowlevel = https://docs.typo3.org/c/typo3/cms-lowlevel/main/en-us/
# ext_recycler = https://docs.typo3.org/c/typo3/cms-recycler/main/en-us/
# ext_redirects = https://docs.typo3.org/c/typo3/cms-redirects/main/en-us/
# ext_reports = https://docs.typo3.org/c/typo3/cms-reports/main/en-us/
# ext_rte_ckeditor = https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us/
ext_rte_ckeditor = https://docs.typo3.org/c/typo3/cms-rte-ckeditor/main/en-us/
# ext_scheduler = https://docs.typo3.org/c/typo3/cms-scheduler/main/en-us/
# ext_seo = https://docs.typo3.org/c/typo3/cms-seo/main/en-us/
# ext_t3editor = https://docs.typo3.org/c/typo3/cms-t3editor/main/en-us/
Expand Down