diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 7ad60e5..465facb 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1008,14 +1008,12 @@ function theme_get_setting($setting_name, $theme = NULL) {
}
// Generate the path to the logo image.
- if ($cache[$theme]->get('features.logo')) {
- $logo_path = $cache[$theme]->get('logo.path');
- if ($cache[$theme]->get('logo.use_default')) {
- $cache[$theme]->set('logo.url', file_create_url(dirname($theme_object->filename) . '/logo.png'));
- }
- elseif ($logo_path) {
- $cache[$theme]->set('logo.url', file_create_url($logo_path));
- }
+ $logo_path = $cache[$theme]->get('logo.path');
+ if ($cache[$theme]->get('logo.use_default')) {
+ $cache[$theme]->set('logo.url', file_create_url(dirname($theme_object->filename) . '/logo.png'));
+ }
+ elseif ($logo_path) {
+ $cache[$theme]->set('logo.url', file_create_url($logo_path));
}
// Generate the path to the favicon.
@@ -2212,8 +2210,8 @@ function template_preprocess_page(&$variables) {
$variables['main_menu'] = theme_get_setting('features.main_menu') ? menu_main_menu() : array();
$variables['secondary_menu'] = theme_get_setting('features.secondary_menu') ? menu_secondary_menu() : array();
$variables['action_links'] = menu_get_local_actions();
- $variables['site_name'] = (theme_get_setting('features.name') ? String::checkPlain($site_config->get('name')) : '');
- $variables['site_slogan'] = (theme_get_setting('features.slogan') ? filter_xss_admin($site_config->get('slogan')) : '');
+ $variables['site_name'] = String::checkPlain($site_config->get('name'));
+ $variables['site_slogan'] = filter_xss_admin($site_config->get('slogan'));
$variables['tabs'] = menu_local_tabs();
if (isset($variables['page']['#title'])) {
@@ -2443,8 +2441,8 @@ function template_preprocess_maintenance_page(&$variables) {
$variables['logo'] = theme_get_setting('logo.url');
$variables['main_menu'] = array();
$variables['secondary_menu'] = array();
- $variables['site_name'] = (theme_get_setting('features.name') ? String::checkPlain($site_name) : '');
- $variables['site_slogan'] = (theme_get_setting('features.slogan') ? filter_xss_admin($site_slogan) : '');
+ $variables['site_name'] = String::checkPlain($site_name);
+ $variables['site_slogan'] = filter_xss_admin($site_slogan);
$variables['tabs'] = '';
// Compile a list of classes that are going to be applied to the body element.
diff --git a/core/lib/Drupal/Core/Extension/ThemeHandler.php b/core/lib/Drupal/Core/Extension/ThemeHandler.php
index fe828ee..006faac 100644
--- a/core/lib/Drupal/Core/Extension/ThemeHandler.php
+++ b/core/lib/Drupal/Core/Extension/ThemeHandler.php
@@ -25,10 +25,7 @@ class ThemeHandler implements ThemeHandlerInterface {
* @var array
*/
protected $defaultFeatures = array(
- 'logo',
'favicon',
- 'name',
- 'slogan',
'node_user_picture',
'comment_user_picture',
'comment_user_verification',
@@ -253,7 +250,8 @@ public function rebuildThemeData() {
'sidebar_first' => 'Left sidebar',
'sidebar_second' => 'Right sidebar',
'content' => 'Content',
- 'header' => 'Header',
+ 'header_first' => 'Header first',
+ 'header_second' => 'Header second',
'footer' => 'Footer',
'highlighted' => 'Highlighted',
'help' => 'Help',
diff --git a/core/modules/system/config/schema/system.schema.yml b/core/modules/system/config/schema/system.schema.yml
index 6b82e60..09d5acb 100644
--- a/core/modules/system/config/schema/system.schema.yml
+++ b/core/modules/system/config/schema/system.schema.yml
@@ -431,12 +431,6 @@ system.theme.global:
favicon:
type: boolean
label: 'Shortcut icon'
- logo:
- type: boolean
- label: 'Logo'
- name:
- type: boolean
- label: 'Site name'
node_user_picture:
type: boolean
label: 'User pictures in posts'
@@ -446,9 +440,6 @@ system.theme.global:
secondary_menu:
type: boolean
label: 'Secondary menu'
- slogan:
- type: boolean
- label: 'Site slogan'
logo:
type: mapping
label: 'Shortcut icon settings'
diff --git a/core/modules/system/config/system.theme.global.yml b/core/modules/system/config/system.theme.global.yml
index 13036bf..41682e9 100644
--- a/core/modules/system/config/system.theme.global.yml
+++ b/core/modules/system/config/system.theme.global.yml
@@ -7,12 +7,9 @@ features:
comment_user_picture: true
comment_user_verification: true
favicon: true
- logo: true
- name: true
node_user_picture: true
main_menu: true
secondary_menu: true
- slogan: true
logo:
path: ''
url: ''
diff --git a/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php b/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
index 2f910ae..b104a06 100644
--- a/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
+++ b/core/modules/system/lib/Drupal/system/Form/ThemeSettingsForm.php
@@ -97,9 +97,6 @@ public function buildForm(array $form, array &$form_state, $theme = '') {
// Toggle settings
$toggles = array(
- 'logo' => t('Logo'),
- 'name' => t('Site name'),
- 'slogan' => t('Site slogan'),
'node_user_picture' => t('User pictures in posts'),
'comment_user_picture' => t('User pictures in comments'),
'comment_user_verification' => t('User verification status in comments'),
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index 4befe46..417a48f 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -1531,10 +1531,7 @@ function system_rebuild_theme_data() {
*/
function _system_default_theme_features() {
return array(
- 'logo',
'favicon',
- 'name',
- 'slogan',
'node_user_picture',
'comment_user_picture',
'comment_user_verification',
diff --git a/core/modules/system/templates/page.html.twig b/core/modules/system/templates/page.html.twig
index 1f6f916..b210e29 100644
--- a/core/modules/system/templates/page.html.twig
+++ b/core/modules/system/templates/page.html.twig
@@ -66,33 +66,9 @@
{% if main_menu or secondary_menu %}
diff --git a/core/themes/bartik/bartik.info.yml b/core/themes/bartik/bartik.info.yml
index 6851a12..e6b29b6 100644
--- a/core/themes/bartik/bartik.info.yml
+++ b/core/themes/bartik/bartik.info.yml
@@ -14,8 +14,9 @@ stylesheets:
ckeditor_stylesheets:
- css/ckeditor-iframe.css
regions:
- header: Header
- help: Help
+ header_first: 'Header first'
+ header_second: 'Header second'
+ help: 'Help'
page_top: 'Page top'
page_bottom: 'Page bottom'
highlighted: Highlighted
diff --git a/core/themes/bartik/config/block.block.bartik.branding.yml b/core/themes/bartik/config/block.block.bartik.branding.yml
new file mode 100644
index 0000000..ed77ab8
--- /dev/null
+++ b/core/themes/bartik/config/block.block.bartik.branding.yml
@@ -0,0 +1,22 @@
+id: bartik.branding
+weight: '0'
+status: '1'
+langcode: en
+region: header_first
+plugin: system_branding_block
+settings:
+ label: 'Page Site Branding'
+ module: system
+ label_display: '0'
+ cache: '-1'
+visibility:
+ path:
+ visibility: '0'
+ pages: ''
+ role:
+ roles: { }
+ node_type:
+ types:
+ article: '0'
+ page: '0'
+ visibility__active_tab: edit-visibility-path
diff --git a/core/themes/bartik/css/colors.css b/core/themes/bartik/css/colors.css
index 324215a..88ca046 100644
--- a/core/themes/bartik/css/colors.css
+++ b/core/themes/bartik/css/colors.css
@@ -50,12 +50,12 @@ a:active,
#footer-wrapper {
background: #292929;
}
-.region-header,
-.region-header a,
-.region-header li a.active,
-#name-and-slogan,
+[class*="region-header-"],
+[class*="region-header-"] a,
+[class*="region-header-"] li a.active,
+.site-branding-text,
.site-branding-block,
-#name-and-slogan a,
+.site-branding-text a,
.site-branding-block a,
#secondary-menu-links li a {
color: #fffeff;
diff --git a/core/themes/bartik/css/layout.css b/core/themes/bartik/css/layout.css
index 74f015b..397181f 100644
--- a/core/themes/bartik/css/layout.css
+++ b/core/themes/bartik/css/layout.css
@@ -24,12 +24,20 @@ body,
#header div.section {
position: relative;
}
-.region-header {
+.region-header-second {
+ margin: .5em 5px .75em;
+ border: 1px solid #ccc;
+}
+.region-header-first {
+ float: left; /* LTR */
+}
+.region-header-second {
float: right; /* LTR */
- margin: .5em 5px .75em;
- border: 1px solid #ccc;
}
-[dir="rtl"] .region-header {
+[dir="rtl"] .region-header-first {
+ float: right;
+}
+[dir="rtl"] .region-header-second {
float: left;
}
#secondary-menu {
diff --git a/core/themes/bartik/css/maintenance-page.css b/core/themes/bartik/css/maintenance-page.css
index e0c79c6..61771cf 100644
--- a/core/themes/bartik/css/maintenance-page.css
+++ b/core/themes/bartik/css/maintenance-page.css
@@ -31,16 +31,16 @@ body.maintenance-page {
background-color: #fff;
background-image: none;
}
-.maintenance-page #name-and-slogan {
+.maintenance-page .site-branding-text {
margin-bottom: 50px;
margin-left: 0;
padding-top: 20px;
font-size: 90%;
}
-.maintenance-page #name-and-slogan,
-.maintenance-page #name-and-slogan a,
-.maintenance-page #name-and-slogan a:hover,
-.maintenance-page #name-and-slogan a:hover {
+.maintenance-page .site-branding-text,
+.maintenance-page .site-branding-text a,
+.maintenance-page .site-branding-text a:hover,
+.maintenance-page .site-branding-text a:hover {
color: #777;
}
.maintenance-page h1#page-title {
diff --git a/core/themes/bartik/css/style.css b/core/themes/bartik/css/style.css
index 69a382c..e4d7a2f 100644
--- a/core/themes/bartik/css/style.css
+++ b/core/themes/bartik/css/style.css
@@ -105,7 +105,6 @@ pre {
/* ------------------ Fonts ------------------ */
body,
-#site-slogan,
.site-slogan,
#page .ui-widget,
.comment-form label,
@@ -343,42 +342,32 @@ ul.tips {
.skip-link:focus {
outline: 0;
}
-#logo,
.site-logo {
float: left; /* LTR */
padding-left: 5px; /* LTR */
}
-[dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 15px 10px 15px 15px;
}
-
-#name-and-slogan,
.site-branding-text {
float: left; /* LTR */
margin: 0;
padding: 5px 10px 8px;
}
-[dir="rtl"] #name-and-slogan,
[dir="rtl"] .site-branding-text {
margin: 0 15px 30px 0;
}
-
-#site-name,
.site-name {
font-size: 1.6em;
color: #686868;
line-height: 1;
}
-h1#site-name,
h1.site-name {
margin: 0;
}
-#site-name a,
.site-name a {
font-weight: normal;
}
-#site-slogan,
.site-slogan {
font-size: 0.929em;
margin-top: 7px;
@@ -386,33 +375,36 @@ h1.site-name {
font-style: italic;
}
/* Region header blocks. */
-.region-header .block {
- font-size: 0.857em;
+[class*="region-header-"] .block {
float: left; /* LTR */
- margin: 0 10px;
+ margin: 0;
padding: 0;
}
-.region-header .block > h2 {
+.region-header-second .block {
+ font-size: 0.857em;
+ margin: 0 10px;
+}
+[class*="region-header-"] .block > h2 {
/* @extend .visually-hidden */
position: absolute !important;
clip: rect(1px, 1px, 1px, 1px);
overflow: hidden;
height: 1px;
}
-.region-header .block .content {
+[class*="region-header-"] .block .content {
margin: 0;
padding: 0;
}
-.region-header .block ul {
+[class*="region-header-"] .block ul {
margin: 0;
padding: 0;
}
-.region-header .block li {
+[class*="region-header-"] .block li {
list-style: none;
list-style-image: none;
padding: 0;
}
-.region-header .form-text {
+[class*="region-header-"] .form-text {
background: #fefefe;
background: rgba(255, 255, 255, 0.7);
border-color: #ccc;
@@ -420,89 +412,89 @@ h1.site-name {
margin-right: 2px; /* LTR */
width: 120px;
}
-[dir="rtl"] .region-header .form-text {
+[dir="rtl"] [class*="region-header-"] .form-text {
margin-left: 2px;
margin-right: 0;
}
-.region-header .form-text:hover,
-.region-header .form-text:focus,
-.region-header .form-text:active {
+[class*="region-header-"] .form-text:hover,
+[class*="region-header-"] .form-text:focus,
+[class*="region-header-"] .form-text:active {
background: #fff;
background: rgba(255, 255, 255, 0.8);
}
-.region-header .form-required {
+[class*="region-header-"] .form-required {
color: #eee;
color: rgba(255, 255, 255, 0.7);
}
-/* Region header block menus. */
-.region-header .block-menu {
+/* Block menus in header regions. */
+[class*="region-header-"] .block-menu {
border: 1px solid;
border-color: #eee;
border-color: rgba(255, 255, 255, 0.2);
padding: 0;
width: 208px;
}
-.region-header .block-menu li a {
+[class*="region-header-"] .block-menu li a {
display: block;
border-bottom: 1px solid;
border-bottom-color: #eee;
border-bottom-color: rgba(255, 255, 255, 0.2);
padding: 3px 7px;
}
-.region-header .block-menu li a:hover,
-.region-header .block-menu li a:focus,
-.region-header .block-menu li a:active {
+[class*="region-header-"] .block-menu li a:hover,
+[class*="region-header-"] .block-menu li a:focus,
+[class*="region-header-"] .block-menu li a:active {
text-decoration: none;
background: rgba(255, 255, 255, 0.15);
}
-.region-header .block-menu li:last-child a {
+[class*="region-header-"] .block-menu li:last-child a {
border-bottom: 0;
}
-/* User Login block in the header region */
-.region-header #block-user-login {
+/* User Login block in header regions. */
+[class*="region-header-"] #block-user-login {
width: auto;
}
-.region-header #block-user-login .content {
+[class*="region-header-"] #block-user-login .content {
margin-top: 2px;
}
-.region-header #block-user-login .form-item {
+[class*="region-header-"] #block-user-login .form-item {
float: left; /* LTR */
margin: 0;
padding: 0;
}
-.region-header #block-user-login div.item-list,
-.region-header #block-user-login div.description {
+[class*="region-header-"] #block-user-login div.item-list,
+[class*="region-header-"] #block-user-login div.description {
font-size: 0.916em;
margin: 0;
}
-.region-header #block-user-login div.item-list {
+[class*="region-header-"] #block-user-login div.item-list {
clear: both;
}
-.region-header #block-user-login div.description {
+[class*="region-header-"] #block-user-login div.description {
display: inline;
}
-.region-header #block-user-login .item-list ul {
+[class*="region-header-"] #block-user-login .item-list ul {
padding: 0;
line-height: 1;
}
-.region-header #block-user-login .item-list li {
+[class*="region-header-"] #block-user-login .item-list li{
list-style: none;
float: left; /* LTR */
padding: 3px 0 1px;
}
-.region-header #block-user-login .item-list li:last-child {
+[class*="region-header-"] #block-user-login .item-list li:last-child{
padding-left: 0.5em; /* LTR */
}
-[dir="rtl"] .region-header #block-user-login .item-list li:last-child {
+[dir="rtl"] [class*="region-header-"] #block-user-login .item-list li:last-child {
padding-left: 0;
padding-right: 0.5em;
}
-.region-header #block-user-login .form-actions {
+[class*="region-header-"] #block-user-login .form-actions {
margin: 4px 0 0;
padding: 0;
clear: both;
}
-.region-header #block-user-login input.form-submit {
+[class*="region-header-"] #block-user-login input.form-submit {
border: 1px solid;
border-color: #ccc;
border-color: rgba(255, 255, 255, 0.5);
@@ -511,31 +503,28 @@ h1.site-name {
margin: 4px 0;
padding: 3px 8px;
}
-.region-header #block-user-login input.form-submit:hover,
-.region-header #block-user-login input.form-submit:focus {
+[class*="region-header-"] #block-user-login input.form-submit:hover,
+[class*="region-header-"] #block-user-login input.form-submit:focus {
background: #fff;
background: rgba(255, 255, 255, 0.9);
}
-/* Search block in region header. */
-.region-header #block-search-form {
+/* Search block in region headers. */
+[class*="region-header-"] #block-search-form {
width: 208px;
}
-.region-header #block-search-form .form-text {
+[class*="region-header-"] #block-search-form .form-text {
width: 154px;
}
-/* Language switcher block in region header. */
-.region-header .block-locale ul li {
+/* Language switcher block in region headers. */
+[class*="region-header-"] .block-locale ul li {
display: inline;
padding: 0 0.5em;
}
-
-[dir="rtl"] #logo,
[dir="rtl"] .site-logo,
-[dir="rtl"] #name-and-slogan,
[dir="rtl"] .site-branding-text,
-[dir="rtl"] .region-header .block,
-[dir="rtl"] .region-header #block-user-login .form-item,
-[dir="rtl"] .region-header #block-user-login .item-list li {
+[dir="rtl"] [class*="region-header-"] .block,
+[dir="rtl"] [class*="region-header-"] #block-user-login .form-item,
+[dir="rtl"] [class*="region-header-"] #block-user-login .item-list li {
float: right;
}
@@ -1765,18 +1754,15 @@ div.admin-panel .description {
@media all and (min-width: 461px) and (max-width: 900px) {
/* ------------ Header and Menus -------------------------- */
- .region-header {
+ .region-header-second {
margin: .5em 5px .75em;
}
- #logo,
.site-logo {
padding: 5px 0 0 5px; /* LTR */
}
- [dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 5px 5px 0 0;
}
- #name-and-slogan,
.site-branding-text {
padding: 10px 10px 8px;
}
@@ -1815,29 +1801,25 @@ div.admin-panel .description {
@media all and (min-width: 901px) {
- .region-header {
+ .region-header-second {
margin: 1em 5px 1.5em;
}
- #logo,
.site-logo {
padding: 15px 15px 15px 10px; /* LTR */
}
- [dir="rtl"] #logo,
[dir="rtl"] .site-logo {
padding: 15px 10px 15px 15px;
}
- #name-and-slogan,
.site-branding-text {
padding: 26px 0 0;
margin: 0 0 30px 15px; /* LTR */
}
- [dir="rtl"] #name-and-slogan,
- [dir="rtl"] .site-branding-text {
+ [dir="rtl"] .site-branding-text{
margin: 0 15px 30px 0;
}
- #site-name,
.site-name {
font-size: 1.821em;
+ display: block;
}
#main-menu-links {
font-size: 0.929em;
diff --git a/core/themes/bartik/templates/maintenance-page.html.twig b/core/themes/bartik/templates/maintenance-page.html.twig
index 031f073..da9d0bc 100644
--- a/core/themes/bartik/templates/maintenance-page.html.twig
+++ b/core/themes/bartik/templates/maintenance-page.html.twig
@@ -27,22 +27,9 @@
diff --git a/core/themes/bartik/templates/page.html.twig b/core/themes/bartik/templates/page.html.twig
index 5602997..2d5c1aa 100644
--- a/core/themes/bartik/templates/page.html.twig
+++ b/core/themes/bartik/templates/page.html.twig
@@ -56,7 +56,8 @@
* comment/reply/12345).
*
* Regions:
- * - page.header: Items for the header region.
+ * - page.header_first: Items for the first header region.
+ * - page.header_second: Items for the second header region.
* - page.featured: Items for the featured region.
* - page.highlighted: Items for the highlighted content region.
* - page.help: Dynamic help text, mostly for admin pages.
@@ -82,44 +83,15 @@