function Internal::getConfig

Same name and namespace in other branches
  1. 8.9.x core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php \Drupal\ckeditor\Plugin\CKEditorPlugin\Internal::getConfig()

Returns the additions to CKEDITOR.config for a specific CKEditor instance.

The editor's settings can be retrieved via $editor->getSettings(), but be aware that it may not yet contain plugin-specific settings, because the user may not yet have configured the form. If there are plugin-specific settings (verify with isset()), they can be found at

$settings = $editor->getSettings();
$plugin_specific_settings = $settings['plugins'][$plugin_id];

Parameters

\Drupal\editor\Entity\Editor $editor: A configured text editor object.

Return value

array A keyed array, whose keys will end up as keys under CKEDITOR.config.

Overrides CKEditorPluginInterface::getConfig

File

core/modules/ckeditor/src/Plugin/CKEditorPlugin/Internal.php, line 101

Class

Internal
Defines the "internal" plugin (i.e. core plugins part of our CKEditor build).

Namespace

Drupal\ckeditor\Plugin\CKEditorPlugin

Code

public function getConfig(Editor $editor) {
  // Reasonable defaults that provide expected basic behavior.
  $config = [
    // Don't load CKEditor's config.js file.
'customConfig' => '',
    'pasteFromWordPromptCleanup' => TRUE,
    'resize_dir' => 'vertical',
    'justifyClasses' => [
      'text-align-left',
      'text-align-center',
      'text-align-right',
      'text-align-justify',
    ],
    'entities' => FALSE,
    'disableNativeSpellChecker' => FALSE,
  ];
  // Add the allowedContent setting, which ensures CKEditor only allows tags
  // and attributes that are allowed by the text format for this text editor.
  [
    $config['allowedContent'],
    $config['disallowedContent'],
  ] = $this->generateACFSettings($editor);
  // Add the format_tags setting, if its button is enabled.
  $toolbar_buttons = CKEditorPluginManager::getEnabledButtons($editor);
  if (in_array('Format', $toolbar_buttons) && ($format_string = $this->generateFormatTagsSetting($editor))) {
    $config['format_tags'] = $format_string;
  }
  return $config;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.