CKEditorPluginInterface
interface CKEditorPluginInterface implements PluginInspectionInterface (View source)
Defines an interface for (loading of) CKEditor plugins.
This is the most basic CKEditor plugin interface; it provides the bare minimum information. Solely implementing this interface is not sufficient to be able to enable the plugin though — a CKEditor plugin can either be enabled automatically when a button it provides is present in the toolbar, or when some programmatically defined condition is true. In the former case, implement the CKEditorPluginButtonsInterface interface, in the latter case, implement the CKEditorPluginContextualInterface interface. It is also possible to implement both, for advanced use cases.
Finally, if your plugin must be configurable, you can also implement the CKEditorPluginConfigurableInterface interface.
Methods
Gets the definition of the plugin implementation.
Indicates if this plugin is part of the optimized CKEditor build.
Returns the Drupal root-relative file path to the plugin JavaScript file.
Details
string
getPluginId()
Gets the plugin_id of the plugin instance.
array
getPluginDefinition()
Gets the definition of the plugin implementation.
bool
isInternal()
Indicates if this plugin is part of the optimized CKEditor build.
Plugins marked as internal are implicitly loaded as part of CKEditor.
array
getDependencies(Editor $editor)
Returns a list of plugins this plugin requires.
array
getLibraries(Editor $editor)
Returns a list of libraries this plugin requires.
These libraries will be attached to the text_format element on which the editor is being loaded.
string|false
getFile()
Returns the Drupal root-relative file path to the plugin JavaScript file.
Note: this does not use a Drupal library because this uses CKEditor's API.
array
getConfig(Editor $editor)
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