function Contrib::mapCKEditor4SettingsToCKEditor5Configuration
Same name and namespace in other branches
- 9 core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php \Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade\Contrib::mapCKEditor4SettingsToCKEditor5Configuration()
- 11.x core/modules/ckeditor5/src/Plugin/CKEditor4To5Upgrade/Contrib.php \Drupal\ckeditor5\Plugin\CKEditor4To5Upgrade\Contrib::mapCKEditor4SettingsToCKEditor5Configuration()
Maps CKEditor 4 settings to the CKEditor 5 equivalent, if needed.
Not every CKEditor 5 plugin has settings; some CKEditor 5 plugins may have settings that the CKEditor 4 equivalent did not and vice versa. Therefore the complete CKEditor 4 settings are provided, and any CKEditor 5 setting can be set.
Parameters
string $cke4_plugin_id: The CKEditor 4 plugin whose settings need to be mapped.
array $cke4_plugin_settings: The settings for this CKEditor 4 plugin.
Return value
array|null NULL if not needed, otherwise an array with a single key-value pair:
- key: the plugin ID of the equivalent CKEditor 5 plugin
- value: the equivalent settings
In either case, the button name must be added to the annotation.
Overrides CKEditor4To5UpgradePluginInterface::mapCKEditor4SettingsToCKEditor5Configuration
File
-
core/
modules/ ckeditor5/ src/ Plugin/ CKEditor4To5Upgrade/ Contrib.php, line 56
Class
- Contrib
- Provides the CKEditor 4 to 5 upgrade path for contrib plugins now in core.
Namespace
Drupal\ckeditor5\Plugin\CKEditor4To5UpgradeCode
public function mapCKEditor4SettingsToCKEditor5Configuration(string $cke4_plugin_id, array $cke4_plugin_settings) : ?array {
switch ($cke4_plugin_id) {
case 'codesnippet':
$languages = [];
$enabled_cke4_languages = array_filter($cke4_plugin_settings['highlight_languages']);
foreach ($enabled_cke4_languages as $language) {
$languages[] = [
'language' => $language,
'label' => $language,
];
}
return [
'ckeditor5_codeBlock' => [
'languages' => $languages,
],
];
default:
throw new \OutOfBoundsException();
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.