diff --git a/core/includes/theme.inc b/core/includes/theme.inc index c63f679..6c7490c 100644 --- a/core/includes/theme.inc +++ b/core/includes/theme.inc @@ -1947,25 +1947,17 @@ function template_preprocess_html(&$variables) { // Compile a list of classes that are going to be applied to the body element. // This allows advanced theming based on context (home page, node of certain type, etc.). $body_classes = $variables['attributes']['class']; - $body_classes[] = 'html'; // Add a class that tells us whether we're on the front page or not. - $body_classes[] = $variables['is_front'] ? 'front' : 'not-front'; + $body_classes[] = $variables['is_front'] ? 'page-front' : 'page-front--not'; // Add a class that tells us whether the page is viewed by an authenticated user or not. - $body_classes[] = $variables['logged_in'] ? 'logged-in' : 'not-logged-in'; + $body_classes[] = $variables['logged_in'] ? 'user-logged-in' : 'user-logged-in--not'; + // Add a class that tells us what path the page is located make it possible to theme + // the page depending on the current path (e.g. node, admin, user, + // etc.) as well as more specific data like path--node-12 or path--node-edit. + $body_classes[] = 'path--' . implode("-",arg() ); + $variables['attributes']['class'] = $body_classes; - // Populate the body classes. - if ($suggestions = theme_get_suggestions(arg(), 'page', '-')) { - foreach ($suggestions as $suggestion) { - if ($suggestion != 'page-front') { - // Add current suggestion to page classes to make it possible to theme - // the page depending on the current page type (e.g. node, admin, user, - // etc.) as well as more specific data like node-12 or node-edit. - $variables['attributes']['class'][] = drupal_html_class($suggestion); - } - } - } - $site_config = \Drupal::config('system.site'); // Construct page title. if ($page->hasTitle()) { @@ -2062,14 +2054,6 @@ function template_preprocess_page(&$variables) { } } - // Set up layout variable. - $variables['layout'] = 'none'; - if (!empty($variables['page']['sidebar_first'])) { - $variables['layout'] = 'first'; - } - if (!empty($variables['page']['sidebar_second'])) { - $variables['layout'] = ($variables['layout'] == 'first') ? 'both' : 'second'; - } $variables['base_path'] = base_path(); $variables['front_page'] = url(); @@ -2248,15 +2232,6 @@ function template_preprocess_maintenance_page(&$variables) { } } - // Setup layout variable. - $variables['layout'] = 'none'; - if (!empty($variables['sidebar_first'])) { - $variables['layout'] = 'first'; - } - if (!empty($variables['sidebar_second'])) { - $variables['layout'] = ($variables['layout'] == 'first') ? 'both' : 'second'; - } - $site_config = \Drupal::config('system.site'); $site_name = $site_config->get('name'); $site_slogan = $site_config->get('slogan'); @@ -2296,21 +2271,11 @@ function template_preprocess_maintenance_page(&$variables) { $variables['site_slogan'] = (theme_get_setting('features.slogan') ? filter_xss_admin($site_slogan) : ''); // Compile a list of classes that are going to be applied to the body element. - $variables['attributes']['class'][] = 'maintenance-page'; - $variables['attributes']['class'][] = 'in-maintenance'; + $variables['attributes']['class'][] = 'page--maintenance'; + $variables['attributes']['class'][] = 'page--maintenance-in-maintenance'; if (isset($variables['db_is_active']) && !$variables['db_is_active']) { $variables['attributes']['class'][] = 'db-offline'; } - if ($variables['layout'] == 'both') { - $variables['attributes']['class'][] = 'two-sidebars'; - } - elseif ($variables['layout'] == 'none') { - $variables['attributes']['class'][] = 'no-sidebars'; - } - else { - $variables['attributes']['class'][] = 'one-sidebar'; - $variables['attributes']['class'][] = 'sidebar-' . $variables['layout']; - } $variables['head'] = drupal_get_html_head(); @@ -2348,7 +2313,7 @@ function template_preprocess_maintenance_page(&$variables) { */ function template_preprocess_install_page(&$variables) { template_preprocess_maintenance_page($variables); - $variables['attributes']['class'][] = 'install-page'; + $variables['attributes']['class'][] = 'page--install'; // Override the site name that is displayed on the page, since Drupal is // still in the process of being installed. $distribution_name = String::checkPlain(drupal_install_profile_distribution_name()); diff --git a/core/modules/node/node.module b/core/modules/node/node.module index b05fc2c..2f65e65 100644 --- a/core/modules/node/node.module +++ b/core/modules/node/node.module @@ -582,9 +582,9 @@ function node_is_page(NodeInterface $node) { * 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 on an individual node page, add the node type to body classes if (($node = \Drupal::request()->attributes->get('node')) && $node instanceof NodeInterface) { - $variables['attributes']['class'][] = drupal_html_class('node-type-' . $node->getType()); + $variables['attributes']['class'][] = drupal_html_class('node-type--' . $node->getType()); } }