abstract class RenderTagPlugin in Extensible BBCode 8.3
Same name and namespace in other branches
- 4.0.x src/Plugin/RenderTagPlugin.php \Drupal\xbbcode\Plugin\RenderTagPlugin
Base class for plugins that produce a Drupal render array.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\xbbcode\Plugin\TagPluginBase implements TagPluginInterface
- class \Drupal\xbbcode\Plugin\RenderTagPlugin implements ContainerFactoryPluginInterface
- class \Drupal\xbbcode\Plugin\TagPluginBase implements TagPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of RenderTagPlugin
3 files declare their use of RenderTagPlugin
- ImageTagPlugin.php in standard/
src/ Plugin/ XBBCode/ ImageTagPlugin.php - ListTagPlugin.php in standard/
src/ Plugin/ XBBCode/ ListTagPlugin.php - TableTagPlugin.php in standard/
src/ Plugin/ XBBCode/ TableTagPlugin.php
File
- src/
Plugin/ RenderTagPlugin.php, line 14
Namespace
Drupal\xbbcode\PluginView source
abstract class RenderTagPlugin extends TagPluginBase implements ContainerFactoryPluginInterface {
/**
* The Drupal renderer.
*
* @var \Drupal\Core\Render\RendererInterface
*/
protected $renderer;
/**
* RenderTagPlugin constructor.
*
* @param array $configuration
* Plugin configuration.
* @param string $plugin_id
* Plugin ID.
* @param mixed $plugin_definition
* Plugin definition.
* @param \Drupal\Core\Render\RendererInterface $renderer
* Drupal renderer service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, RendererInterface $renderer) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->renderer = $renderer;
}
/**
* Create a plugin instance.
*
* @param \Symfony\Component\DependencyInjection\ContainerInterface $container
* Container.
* @param array $configuration
* Plugin configuration.
* @param string $plugin_id
* Plugin ID.
* @param mixed $plugin_definition
* Plugin definition.
*
* @return static
*
* @throws \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
* @throws \Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container
->get('renderer'));
}
/**
* {@inheritdoc}
*/
public function doProcess(TagElementInterface $tag) : TagProcessResult {
$element = $this
->buildElement($tag);
// Use a new render context; metadata bubbles through the filter result.
// Importantly, this adds language and theme cache contexts, just in
// case the filter is used in an otherwise theme-independent context.
$output = $this->renderer
->renderPlain($element);
$result = TagProcessResult::createFromRenderArray($element);
$result
->setProcessedText((string) $output);
return $result;
}
/**
* Build a render array from the tag.
*
* @param \Drupal\xbbcode\Parser\Tree\TagElementInterface $tag
* The tag element in the parse tree.
*
* @return array
* The render array.
*/
public abstract function buildElement(TagElementInterface $tag) : array;
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
RenderTagPlugin:: |
protected | property | The Drupal renderer. | |
RenderTagPlugin:: |
abstract public | function | Build a render array from the tag. | 3 |
RenderTagPlugin:: |
public static | function |
Create a plugin instance. Overrides ContainerFactoryPluginInterface:: |
|
RenderTagPlugin:: |
public | function |
Create the actual output. Overrides TagPluginBase:: |
|
RenderTagPlugin:: |
public | function |
RenderTagPlugin constructor. Overrides TagPluginBase:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TagPluginBase:: |
protected | property | The configurable tag name. | |
TagPluginBase:: |
protected | property | The sample code of this tag. | |
TagPluginBase:: |
protected | property | The settings for this tag plugin. | |
TagPluginBase:: |
protected | property | A Boolean indicating whether this tag is enabled. | |
TagPluginBase:: |
public | function | Get default plugin configuration from definition. | |
TagPluginBase:: |
public | function | Get the plugin configuration. | |
TagPluginBase:: |
public | function |
Returns the default tag name. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function |
Return the unprocessed sample code. Overrides TagPluginInterface:: |
3 |
TagPluginBase:: |
public | function |
Returns the administrative description for this tag plugin. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function |
Returns the configured name. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function |
Return a sample tag for the filter tips. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function |
Returns the administrative label for this tag plugin. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function |
Transform an elements' content, to armor against other filters. Overrides TagPluginInterface:: |
2 |
TagPluginBase:: |
public | function |
Generate output from a tag element. Overrides TagPluginInterface:: |
|
TagPluginBase:: |
public | function | Set the plugin configuration after instancing. | |
TagPluginBase:: |
public | function |
Returns the status of this tag plugin. Overrides TagPluginInterface:: |