class CKEditorPluginBase
Same name in other branches
- 8.9.x core/modules/ckeditor/src/CKEditorPluginBase.php \Drupal\ckeditor\CKEditorPluginBase
Defines a base CKEditor plugin implementation.
No other CKEditor plugins can be internal, unless a different CKEditor build than the one provided by Drupal core is used. Most CKEditor plugins don't need to provide additional settings forms.
This base class assumes that your plugin has buttons that you want to be enabled through the toolbar builder UI. It is still possible to also implement the CKEditorPluginContextualInterface (for contextual enabling) and CKEditorPluginConfigurableInterface interfaces (for configuring plugin settings).
NOTE: the Drupal plugin ID should correspond to the CKEditor plugin name.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\ckeditor\CKEditorPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\ckeditor\CKEditorPluginInterface, \Drupal\ckeditor\CKEditorPluginButtonsInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of CKEditorPluginBase
See also
\Drupal\ckeditor\CKEditorPluginInterface
\Drupal\ckeditor\CKEditorPluginButtonsInterface
\Drupal\ckeditor\CKEditorPluginContextualInterface
\Drupal\ckeditor\CKEditorPluginConfigurableInterface
\Drupal\ckeditor\CKEditorPluginManager
\Drupal\ckeditor\Annotation\CKEditorPlugin
6 files declare their use of CKEditorPluginBase
- DrupalImage.php in core/
modules/ ckeditor/ src/ Plugin/ CKEditorPlugin/ DrupalImage.php - DrupalLink.php in core/
modules/ ckeditor/ src/ Plugin/ CKEditorPlugin/ DrupalLink.php - DrupalMediaLibrary.php in core/
modules/ ckeditor/ src/ Plugin/ CKEditorPlugin/ DrupalMediaLibrary.php - Internal.php in core/
modules/ ckeditor/ src/ Plugin/ CKEditorPlugin/ Internal.php - Language.php in core/
modules/ ckeditor/ src/ Plugin/ CKEditorPlugin/ Language.php
File
-
core/
modules/ ckeditor/ src/ CKEditorPluginBase.php, line 32
Namespace
Drupal\ckeditorView source
abstract class CKEditorPluginBase extends PluginBase implements CKEditorPluginInterface, CKEditorPluginButtonsInterface {
/**
* The module list service.
*
* @var \Drupal\Core\Extension\ModuleExtensionList
*/
protected $moduleList;
/**
* Gets the module list service.
*
* @return \Drupal\Core\Extension\ModuleExtensionList
* The module extension list service.
*/
protected function getModuleList() : ModuleExtensionList {
if (!$this->moduleList) {
$this->moduleList = \Drupal::service('extension.list.module');
}
return $this->moduleList;
}
/**
* Gets the Drupal-root relative installation directory of a module.
*
* @param string $module_name
* The machine name of the module.
*
* @return string
* The module installation directory.
*
* @throws \InvalidArgumentException
* If there is no extension with the supplied machine name.
*
* @see \Drupal\Core\Extension\ExtensionList::getPath()
*/
protected function getModulePath(string $module_name) : string {
return $this->getModuleList()
->getPath($module_name);
}
/**
* {@inheritdoc}
*/
public function isInternal() {
return FALSE;
}
/**
* {@inheritdoc}
*/
public function getDependencies(Editor $editor) {
return [];
}
/**
* {@inheritdoc}
*/
public function getLibraries(Editor $editor) {
return [];
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
CKEditorPluginBase::$moduleList | protected | property | The module list service. | ||
CKEditorPluginBase::getDependencies | public | function | Returns a list of plugins this plugin requires. | Overrides CKEditorPluginInterface::getDependencies | 1 |
CKEditorPluginBase::getLibraries | public | function | Returns a list of libraries this plugin requires. | Overrides CKEditorPluginInterface::getLibraries | 4 |
CKEditorPluginBase::getModuleList | protected | function | Gets the module list service. | ||
CKEditorPluginBase::getModulePath | protected | function | Gets the Drupal-root relative installation directory of a module. | ||
CKEditorPluginBase::isInternal | public | function | Indicates if this plugin is part of the optimized CKEditor build. | Overrides CKEditorPluginInterface::isInternal | 4 |
CKEditorPluginButtonsInterface::getButtons | public | function | Returns the buttons that this plugin provides, along with metadata. | 9 | |
CKEditorPluginInterface::getConfig | public | function | Returns the additions to CKEDITOR.config for a specific CKEditor instance. | 9 | |
CKEditorPluginInterface::getFile | public | function | Returns the Drupal root-relative file path to the plugin JavaScript file. | 9 | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.