class Editor in Drupal 9
Same name in this branch
- 9 core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
- 9 core/modules/editor/src/Entity/Editor.php \Drupal\editor\Entity\Editor
- 9 core/modules/editor/src/Plugin/InPlaceEditor/Editor.php \Drupal\editor\Plugin\InPlaceEditor\Editor
Same name and namespace in other branches
- 8 core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
- 10 core/modules/editor/src/Annotation/Editor.php \Drupal\editor\Annotation\Editor
Defines an Editor annotation object.
Plugin Namespace: Plugin\Editor
Text editor plugin implementations need to define a plugin definition array through annotation. These definition arrays may be altered through hook_editor_info_alter(). The definition includes the following keys:
- id: The unique, system-wide identifier of the text editor. Typically named the same as the editor library.
- label: The human-readable name of the text editor, translated.
- supports_content_filtering: Whether the editor supports "allowed content only" filtering.
- supports_inline_editing: Whether the editor supports the inline editing provided by the Edit module.
- is_xss_safe: Whether this text editor is not vulnerable to XSS attacks.
- supported_element_types: On which form element #types this text editor is capable of working.
A complete sample plugin definition should be defined as in this example:
@Editor(
id = "my_editor",
label = @Translation("My Editor"),
supports_content_filtering = FALSE,
supports_inline_editing = FALSE,
is_xss_safe = FALSE,
supported_element_types = {
"textarea",
"textfield",
}
)
For a working example, see \Drupal\ckeditor\Plugin\Editor\CKEditor
Hierarchy
- class \Drupal\Component\Annotation\Plugin implements AnnotationInterface
- class \Drupal\editor\Annotation\Editor
Expanded class hierarchy of Editor
See also
\Drupal\editor\Plugin\EditorPluginInterface
\Drupal\editor\Plugin\EditorBase
\Drupal\editor\Plugin\EditorManager
Related topics
1 string reference to 'Editor'
- user.role.editor.yml in core/
profiles/ demo_umami/ config/ install/ user.role.editor.yml - core/profiles/demo_umami/config/install/user.role.editor.yml
3 classes are annotated with Editor
- CKEditor in core/
modules/ ckeditor/ src/ Plugin/ Editor/ CKEditor.php - Defines a CKEditor-based text editor for Drupal.
- TRexEditor in core/
modules/ editor/ tests/ modules/ src/ Plugin/ Editor/ TRexEditor.php - Defines a Tyrannosaurus-Rex powered text editor for testing purposes.
- UnicornEditor in core/
modules/ editor/ tests/ modules/ src/ Plugin/ Editor/ UnicornEditor.php - Defines a Unicorn-powered text editor for Drupal (for testing purposes).
File
- core/
modules/ editor/ src/ Annotation/ Editor.php, line 53
Namespace
Drupal\editor\AnnotationView source
class Editor extends Plugin {
/**
* The plugin ID.
*
* @var string
*/
public $id;
/**
* The human-readable name of the editor plugin.
*
* @ingroup plugin_translatable
*
* @var \Drupal\Core\Annotation\Translation
*/
public $label;
/**
* Whether the editor supports "allowed content only" filtering.
*
* @var bool
*/
public $supports_content_filtering;
/**
* Whether the editor supports the inline editing provided by the Edit module.
*
* @var bool
*/
public $supports_inline_editing;
/**
* Whether this text editor is not vulnerable to XSS attacks.
*
* @var bool
*/
public $is_xss_safe;
/**
* A list of element types this text editor supports.
*
* @var string[]
*/
public $supported_element_types;
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Editor:: |
public | property | The plugin ID. | |
Editor:: |
public | property | Whether this text editor is not vulnerable to XSS attacks. | |
Editor:: |
public | property | The human-readable name of the editor plugin. | |
Editor:: |
public | property | A list of element types this text editor supports. | |
Editor:: |
public | property | Whether the editor supports "allowed content only" filtering. | |
Editor:: |
public | property | Whether the editor supports the inline editing provided by the Edit module. | |
Plugin:: |
protected | property | The plugin definition read from the class annotation. | 1 |
Plugin:: |
public | function |
Gets the value of an annotation. Overrides AnnotationInterface:: |
5 |
Plugin:: |
public | function |
Gets the class of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Gets the unique ID for this annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Gets the name of the provider of the annotated class. Overrides AnnotationInterface:: |
1 |
Plugin:: |
protected | function | Parses an annotation into its definition. | |
Plugin:: |
public | function |
Sets the class of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function |
Sets the name of the provider of the annotated class. Overrides AnnotationInterface:: |
|
Plugin:: |
public | function | Constructs a Plugin object. | 2 |