class BareHtmlPageRenderer in Drupal 10
Same name in this branch
- 10 core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php \Drupal\Core\Render\BareHtmlPageRenderer
- 10 core/lib/Drupal/Core/ProxyClass/Render/BareHtmlPageRenderer.php \Drupal\Core\ProxyClass\Render\BareHtmlPageRenderer
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php \Drupal\Core\Render\BareHtmlPageRenderer
- 9 core/lib/Drupal/Core/Render/BareHtmlPageRenderer.php \Drupal\Core\Render\BareHtmlPageRenderer
Default bare HTML page renderer.
Hierarchy
- class \Drupal\Core\Render\BareHtmlPageRenderer implements \Drupal\Core\Render\BareHtmlPageRendererInterface
Expanded class hierarchy of BareHtmlPageRenderer
1 string reference to 'BareHtmlPageRenderer'
- core.services.yml in core/
core.services.yml - core/core.services.yml
1 service uses BareHtmlPageRenderer
File
- core/
lib/ Drupal/ Core/ Render/ BareHtmlPageRenderer.php, line 8
Namespace
Drupal\Core\RenderView source
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;
}
}