public function RenderTagPlugin::doProcess in Extensible BBCode 4.0.x
Same name and namespace in other branches
- 8.3 src/Plugin/RenderTagPlugin.php \Drupal\xbbcode\Plugin\RenderTagPlugin::doProcess()
Create the actual output.
Tag plugins should override this function rather than ::process(), in order to let the metadata from sub-tags bubble up.
Parameters
\Drupal\xbbcode\Parser\Tree\TagElementInterface $tag: Tag element in the parse tree.
Return value
\Drupal\xbbcode\TagProcessResult Tag process result.
Overrides TagPluginBase::doProcess
File
- src/
Plugin/ RenderTagPlugin.php, line 59
Class
- RenderTagPlugin
- Base class for plugins that produce a Drupal render array.
Namespace
Drupal\xbbcode\PluginCode
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;
}