public function CustomConfig::settingsForm in CKEditor custom config 8.2
Same name and namespace in other branches
- 8.3 src/Plugin/CKEditorPlugin/CustomConfig.php \Drupal\ckeditor_config\Plugin\CKEditorPlugin\CustomConfig::settingsForm()
Returns a settings form to configure this CKEditor plugin.
If the plugin's behavior depends on extensive options and/or external data, then the implementing module can choose to provide a separate, global configuration page rather than per-text-editor settings. In that case, this form should provide a link to the separate settings page.
Parameters
array $form: An empty form array to be populated with a configuration form, if any.
\Drupal\Core\Form\FormStateInterface $form_state: The state of the entire filter administration form.
\Drupal\editor\Entity\Editor $editor: A configured text editor object.
Return value
array A render array for the settings form.
Overrides CKEditorPluginConfigurableInterface::settingsForm
File
- src/
Plugin/ CKEditorPlugin/ CustomConfig.php, line 90
Class
- CustomConfig
- Defines the "customconfig" plugin.
Namespace
Drupal\ckeditor_config\Plugin\CKEditorPluginCode
public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor) {
$config = [
'ckeditor_custom_config' => '',
];
$settings = $editor
->getSettings();
if (isset($settings['plugins']['customconfig'])) {
$config = $settings['plugins']['customconfig'];
}
// Load Editor settings.
$settings = $editor
->getSettings();
$form['ckeditor_custom_config'] = [
'#type' => 'textarea',
'#title' => $this
->t('CKEditor Custom Configuration'),
'#default_value' => $config['ckeditor_custom_config'],
'#description' => $this
->t('Each line may contain a CKEditor configuration setting formatted as "<code>[setting.name] = [value]</code>". See <a href="@url">https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html</a> for more details.<br>E.g. "<code>forcePasteAsPlainText = true</code>" and "<code>forceSimpleAmpersand = true</code>"', [
'@url' => 'https://ckeditor.com/docs/ckeditor4/latest/api/CKEDITOR_config.html',
]),
'#attached' => [
'library' => [
'ckeditor_config/ckeditor_config.customconfig',
],
],
'#element_validate' => [
[
$this,
'validateCustomConfig',
],
],
];
return $form;
}