Issue #2736391 by LoMo, rooby, lauriii, leolando.tan: Node type body class is not present on node preview page

merge-requests/1654/head
Nathaniel Catchpole 2018-06-15 13:35:53 +01:00
parent e7f061d5d4
commit 2f9be00c67
2 changed files with 10 additions and 3 deletions

View File

@ -547,9 +547,12 @@ function template_preprocess_node_add_list(&$variables) {
* Implements hook_preprocess_HOOK() for HTML document templates.
*/
function node_preprocess_html(&$variables) {
// If on an individual node page, add the node type to body classes.
if (($node = \Drupal::routeMatch()->getParameter('node')) && $node instanceof NodeInterface) {
$variables['node_type'] = $node->getType();
// If on an individual node page or node preview page, add the node type to
// the body classes.
if (($node = \Drupal::routeMatch()->getParameter('node')) || ($node = \Drupal::routeMatch()->getParameter('node_preview'))) {
if ($node instanceof NodeInterface) {
$variables['node_type'] = $node->getType();
}
}
}

View File

@ -183,6 +183,10 @@ class PagePreviewTest extends NodeTestBase {
$this->assertText($edit[$term_key], 'Term displayed.');
$this->assertLink(t('Back to content editing'));
// Check that we see the class of the node type on the body element.
$body_class_element = $this->xpath("//body[contains(@class, 'page-node-type-page')]");
$this->assertTrue(!empty($body_class_element), 'Node type body class found.');
// Get the UUID.
$url = parse_url($this->getUrl());
$paths = explode('/', $url['path']);