You are here

public function CkeditorTemplates::getConfig in CKEditor Templates 8

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

src/Plugin/CKEditorPlugin/CkeditorTemplates.php, line 86

Class

CkeditorTemplates
Defines the "Templates" plugin.

Namespace

Drupal\ckeditor_templates\Plugin\CKEditorPlugin

Code

public function getConfig(Editor $editor) {
  $config = [];
  $settings = $editor
    ->getSettings();

  // Set replace content default value if set.
  if (isset($settings['plugins']['templates']['replace_content'])) {
    $config['templates_replaceContent'] = $settings['plugins']['templates']['replace_content'];
  }

  // Set template files default value if set.
  if (isset($settings['plugins']['templates']['template_path']) && !empty($settings['plugins']['templates']['template_path'])) {
    $config['templates_files'] = [
      $settings['plugins']['templates']['template_path'],
    ];
  }
  else {

    // Use templates plugin default file.
    $config['templates_files'] = $this
      ->getTemplatesDefaultPath();
  }
  return $config;
}