Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 28 |
BareHtmlPageRenderer | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
20 | |
0.00% |
0 / 28 |
__construct | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
renderBarePage | |
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 25 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Render\BareHtmlPageRenderer. | |
*/ | |
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; | |
} | |
} |