Annotation for context definition in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Annotation/ContextDefinition.php \Drupal\Core\Annotation\plugin_context
Describes how to use ContextDefinition annotation.
When providing plugin annotations, contexts can be defined to support UI interactions through providing limits, and mapping contexts to appropriate plugins. Context definitions can be provided as such:
context = {
"node" = @ContextDefinition("entity:node")
}
Remove spaces after @ in your actual plugin - these are put into this sample code so that it is not recognized as an annotation.
To add a label to a context definition use the "label" key:
context = {
"node" = @ContextDefinition("entity:node", label = @Translation("Node"))
}
Contexts are required unless otherwise specified. To make an optional context use the "required" key:
context = {
"node" = @ContextDefinition("entity:node", required = FALSE, label = @Translation("Node"))
}
To define multiple contexts, simply provide different key names in the context array:
context = {
"artist" = @ContextDefinition("entity:node", label = @Translation("Artist")),
"album" = @ContextDefinition("entity:node", label = @Translation("Album"))
}
Specifying a default value for the context definition:
context = {
"message" = @ContextDefinition("string",
label = @Translation("Message"),
default_value = @Translation("Checkout complete! Thank you for your purchase.")
)
}
See also
File
- core/
lib/ Drupal/ Core/ Annotation/ ContextDefinition.php, line 13 - Contains \Drupal\Core\Annotation\ContextDefinition.
Classes
Name | Location | Description |
---|---|---|
ContextDefinition |
core/ |
Defines a context definition annotation object. |