For coders TYPO3 Tech Corner

Enable CKEditor features for TYPO3 admins

Enable CKEditor features for TYPO3 admins

The first thing to do is to create a base configuration that is shared by both user groups. In our example we call the file CkEditorBase.yaml.

imports: - { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" } - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" } - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" } editor: config: removeButtons: - Save - Templates - NewPage

In the next step we import the base configuration into our configuration file for editors. The reason for this is that we often disable features via removeButtons and therefore need a separate selection for admins and editors.


# CKEditor configuration for editor role imports: - { resource: "EXT:in2template/Configuration/Yaml/CkEditorBase.yaml" } editor: config: removeButtons: - Source

We repeat the same step for the admin configuration file (CkEditorAdmin.yaml).

# CkEditor configuration for admin role imports: - { resource: "EXT:in2template/Configuration/Yaml/CkEditorBase.yaml" }

We can now register the two files for the different user roles as CKEditor presets via ext_localconf.php.

$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['in2template'] = 'EXT:in2template/Configuration/Yaml/CkEditorDefault.yaml'; $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['in2template_admin'] = 'EXT:in2template/Configuration/Yaml/CkEditorAdmin.yaml';

In the Typoscript we can now switch between the two presets.

RTE.default.preset = in2template [backend.user.isAdmin] RTE.default.preset = in2template_admin [END]

With these five simple steps you can now enable and disable CKEditor features for different user groups.


"Code faster, look at the time" - does this sound familiar to you?

How about time and respect for code quality? Working in a team? Automated tests?

Join us