BareHtmlPageRenderer.php
Same filename in this branch
Same filename in other branches
- 9 core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php
- 9 core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php
- 8.9.x core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php
- 8.9.x core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php
- 11.x core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php
- 11.x core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php
Namespace
Drupal\Core\RenderFile
-
core/
lib/ Drupal/ Core/ Render/ BareHtmlPageRenderer.php
View source
<?php
namespace Drupal\Core\Render;
/**
* Default bare HTML page renderer.
*/
class BareHtmlPageRenderer implements BareHtmlPageRendererInterface {
/**
* The renderer service.
*
* @var \Drupal\Core\Render\Renderer
*/
protected $renderer;
/**
* The HTML response attachments processor service.
*
* @var \Drupal\Core\Render\AttachmentsResponseProcessorInterface
*/
protected $htmlResponseAttachmentsProcessor;
/**
* Constructs a new BareHtmlPageRenderer.
*
* @param \Drupal\Core\Render\RendererInterface $renderer
* The renderer service.
* @param \Drupal\Core\Render\AttachmentsResponseProcessorInterface $html_response_attachments_processor
* The HTML response attachments processor service.
*/
public function __construct(RendererInterface $renderer, AttachmentsResponseProcessorInterface $html_response_attachments_processor) {
$this->renderer = $renderer;
$this->htmlResponseAttachmentsProcessor = $html_response_attachments_processor;
}
/**
* {@inheritdoc}
*/
public function renderBarePage(array $content, $title, $page_theme_property, array $page_additions = []) {
$attributes = [
'class' => [
str_replace('_', '-', $page_theme_property),
],
];
$html = [
'#type' => 'html',
'#attributes' => $attributes,
'page' => [
'#type' => 'page',
'#theme' => $page_theme_property,
'#title' => $title,
'content' => $content,
] + $page_additions,
];
// For backwards compatibility.
// @todo In Drupal 9, add a $show_messages function parameter.
if (!isset($page_additions['#show_messages']) || $page_additions['#show_messages'] === TRUE) {
$html['page']['highlighted'] = [
'#type' => 'status_messages',
];
}
// Add the bare minimum of attachments from the system module and the
// current maintenance theme.
system_page_attachments($html['page']);
$this->renderer
->renderRoot($html);
$response = new HtmlResponse();
$response->setContent($html);
// Process attachments, because this does not go via the regular render
// pipeline, but will be sent directly.
$response = $this->htmlResponseAttachmentsProcessor
->processAttachments($response);
return $response;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
BareHtmlPageRenderer | Default bare HTML page renderer. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.