Skip to content
Snippets Groups Projects
Commit 7edb5ee0 authored by Andreas Fernandez's avatar Andreas Fernandez
Browse files

[TASK] Use ckeditor's native readOnly mode

Textarea can be configured in TCA to be read only and to have a richtext
editor enabled. If `readOnly` is enabled, ckeditor is now rendered in a
read-only mode instead of rendering a plain textarea containing HTML
markup.

Resolves: #97296
Releases: main, 11.5
Change-Id: I9e457123811ef53ad4e3e355a68e3f1e5701dcfc
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74180


Tested-by: default avatarOliver Bartsch <bo@cedev.de>
Tested-by: default avatarSusanne Moog <look@susi.dev>
Tested-by: default avatarcore-ci <typo3@b13.com>
Tested-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: default avatarOliver Bartsch <bo@cedev.de>
Reviewed-by: default avatarSusanne Moog <look@susi.dev>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
parent dd48e369
Branches
Tags
No related merge requests found
......@@ -346,6 +346,10 @@ class RichTextElement extends AbstractFormElement
'customConfig' => '',
];
if ($this->data['parameterArray']['fieldConf']['config']['readOnly'] ?? false) {
$configuration['readOnly'] = true;
}
if (is_array($this->rteConfiguration['config'] ?? null)) {
$configuration = array_replace_recursive($configuration, $this->rteConfiguration['config']);
}
......
......@@ -53,10 +53,8 @@ class RichTextNodeResolver implements NodeResolverInterface
{
$parameterArray = $this->data['parameterArray'];
$backendUser = $this->getBackendUserAuthentication();
if (// This field is not read only
!($parameterArray['fieldConf']['config']['readOnly'] ?? false)
// If RTE is generally enabled by user settings and RTE object registry can return something valid
&& $backendUser->isRTE()
if (// If RTE is generally enabled by user settings and RTE object registry can return something valid
$backendUser->isRTE()
// If RTE is enabled for field
&& (bool)($parameterArray['fieldConf']['config']['enableRichtext'] ?? false) === true
// If RTE config is found (prepared by TcaText data provider)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment