function Renderer::renderRoot
Same name and namespace in other branches
- 11.x core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::renderRoot()
- 10 core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::renderRoot()
- 9 core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::renderRoot()
- 8.9.x core/lib/Drupal/Core/Render/Renderer.php \Drupal\Core\Render\Renderer::renderRoot()
File
-
core/
lib/ Drupal/ Core/ Render/ Renderer.php, line 100
Class
- Renderer
- Turns a render array into an HTML string.
Namespace
Drupal\Core\RenderCode
public function renderRoot(&$elements) {
if (!$elements) {
return '';
}
// Disallow calling ::renderRoot() from within another ::renderRoot() call.
if ($this->isRenderingRoot) {
$this->isRenderingRoot = FALSE;
throw new \LogicException('A stray renderRoot() invocation is causing bubbling of attached assets to break.');
}
// Render in its own render context.
$this->isRenderingRoot = TRUE;
try {
$output = $this->renderInIsolation($elements);
} finally {
$this->isRenderingRoot = FALSE;
}
if ((string) $output === '') {
return '';
}
return $elements['#markup'];
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.