Feature: #81901 - Extend T3editor
See forge#81901
Description
Since the refactoring of the system extension t3editor, custom modes (used for syntax highlighting) and addons can be registered now.
Prerequisites
To do this, extensions may have now these two files to feed T3editor:
Configuration/Backend/ T3editor/ Addons. php Configuration/Backend/ T3editor/ Modes. php
Both files return an array, as known as in TCA and Backend Routes, for example.
Register an addon
To register an addon, the following code may be used:
'my/addon' => [
'module' => 'cm/addon/my/addon',
'cssFiles' => [
'EXT:my_extension/Resources/Public/Css/MyAddon.css',
],
'options' [
'foobar' => 'baz',
],
'modes' => ['htmlmixed', 'xml'],
],
| Key | Type | Description |
|---|---|---|
| <identifier> | string | Represents the unique identifier of the module (my/ in this example) |
| module | string | Mandatory: Holds the RequireJS namespace of the CodeMirror module. For custom modules placed in an extension, the known TYPO3/ namespace must be used |
| cssFiles | array | Holds all CSS files that must be loaded for the module |
| options | array | Options that are used by the addon |
| modes | array | "Jails" the addon to specific modes. This means, the module is only loaded if any of the given modes is used |
Register a mode
To register a mode, the following code may be used:
'css' => [
'module' => 'cm/mode/css/css',
'extensions' => ['css'],
],
| Key | Type | Description |
|---|---|---|
| <identifier> | string | Represents the unique identifier and format code of the mode (css in this example). The format code is used in TCA to define the CodeMirror mode to be used |
| module | string | Mandatory: Holds the RequireJS namespace of the CodeMirror mode. For custom modules placed in an extension, the known TYPO3/ namespace must be used |
| extensions | array | Binds the mode to specific file extension. This is important for using T3editor in the Filelist module. |
| default | bool | If set, the mode is used as fallback if no sufficient mode is available. By factory default, the default mode is html |
CodeMirror delivers a lot more modes and addons than registered in T3editor by default. More supported addons and modes are available at:
Impact
After clearing the system caches of TYPO3, T3editor checks every extension for the files Configuration/
and Configuration/. The complete configuration of both is built and stored in the cache
afterwards.
Affected Installations
All installations are affected.