diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index 47e1103..0042738 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -1872,37 +1872,6 @@ function menu_list_system_menus() {
}
/**
- * Returns an array of links to be rendered as the Main menu.
- */
-function menu_main_menu() {
- $config = \Drupal::config('menu.settings');
- $menu_enabled = module_exists('menu');
- // When menu module is not enabled, we need a hardcoded default value.
- $main_links_source = $menu_enabled ? $config->get('main_links') : 'main';
- return menu_navigation_links($main_links_source);
-}
-
-/**
- * Returns an array of links to be rendered as the Secondary links.
- */
-function menu_secondary_menu() {
- $config = \Drupal::config('menu.settings');
- $menu_enabled = module_exists('menu');
- // When menu module is not enabled, we need a hardcoded default value.
- $main_links_source = $menu_enabled ? $config->get('main_links') : 'main';
- $secondary_links_source = $menu_enabled ? $config->get('secondary_links') : 'account';
-
- // If the secondary menu source is set as the primary menu, we display the
- // second level of the primary menu.
- if ($secondary_links_source == $main_links_source) {
- return menu_navigation_links($main_links_source, 1);
- }
- else {
- return menu_navigation_links($secondary_links_source, 0);
- }
-}
-
-/**
* Returns an array of links for a navigation menu.
*
* @param $menu_name
@@ -1912,6 +1881,8 @@ function menu_secondary_menu() {
*
* @return
* An array of links of the specified menu and level.
+ *
+ * @todo this should become a service.
*/
function menu_navigation_links($menu_name, $level = 0) {
// Don't even bother querying the menu table if no menu is specified.
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index b1ca7c0..0808ac2 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -2659,8 +2659,6 @@ function template_preprocess_page(&$variables) {
$variables['language'] = $language_interface;
$variables['language']->dir = $language_interface->direction ? 'rtl' : 'ltr';
$variables['logo'] = theme_get_setting('logo.url');
- $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')) : '');
diff --git a/core/modules/menu/config/menu.settings.yml b/core/modules/menu/config/menu.settings.yml
index a79ac97..c3ee6fb 100644
--- a/core/modules/menu/config/menu.settings.yml
+++ b/core/modules/menu/config/menu.settings.yml
@@ -1,3 +1 @@
-main_links: main
-secondary_links: account
override_parent_selector: false
diff --git a/core/modules/menu/config/schema/menu.schema.yml b/core/modules/menu/config/schema/menu.schema.yml
index e91b4d7..2752c28 100644
--- a/core/modules/menu/config/schema/menu.schema.yml
+++ b/core/modules/menu/config/schema/menu.schema.yml
@@ -4,12 +4,6 @@ menu.settings:
type: mapping
label: 'Menu settings'
mapping:
- main_links:
- type: string
- label: 'Main links'
- secondary_links:
- type: string
- label: 'Source for secondary links'
override_parent_selector:
type: boolean
label: 'Override parent selector'
diff --git a/core/modules/menu/lib/Drupal/menu/Plugin/Block/MenuNavigation.php b/core/modules/menu/lib/Drupal/menu/Plugin/Block/MenuNavigation.php
new file mode 100644
index 0000000..a1a9765
--- /dev/null
+++ b/core/modules/menu/lib/Drupal/menu/Plugin/Block/MenuNavigation.php
@@ -0,0 +1,93 @@
+ 'main',
+ 'level' => 0,
+ );
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function blockForm($form, &$form_state) {
+ $form['menu'] = array(
+ '#type' => 'select',
+ '#title' => t('Source menu'),
+ '#default_value' => $this->configuration['menu'],
+ '#options' => menu_get_menus(),
+ '#required' => TRUE,
+ );
+ $form['level'] = array(
+ '#type' => 'select',
+ '#title' => t('Starting level'),
+ '#default_value' => $this->configuration['level'],
+ '#options' => drupal_map_assoc(array(0, 1, 2, 3, 4, 5, 6, 7, 8)),
+ '#required' => TRUE,
+ );
+
+ return $form;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function blockSubmit($form, &$form_state) {
+ $this->configuration['menu'] = $form_state['values']['menu'];
+ $this->configuration['level'] = $form_state['values']['level'];
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function build() {
+ $menu_name = $this->configuration['menu'];
+ $level = $this->configuration['level'];
+
+ $links = menu_navigation_links($menu_name, $level);
+ // Do not output this entire block if there are no visible/accessible links.
+ // Filter the links to remove those with #access set to FALSE.
+ array_filter($links, function($link) {
+ if (isset($link['#access']) && $link['#access'] === FALSE) {
+ return FALSE;
+ }
+ return TRUE;
+ });
+ if (empty($links)) {
+ return array();
+ }
+ $build = array(
+ '#theme' => 'links',
+ '#links' => $links,
+ );
+ if (!empty($this->configuration['id'])) {
+ $build['#attributes']['id'] = drupal_html_id($this->configuration['id']);
+ }
+
+ return $build;
+ }
+
+}
diff --git a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
index 92c23cd..0f77527 100644
--- a/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
+++ b/core/modules/menu/lib/Drupal/menu/Tests/MenuTest.php
@@ -35,6 +35,8 @@ public static function getInfo() {
function setUp() {
parent::setUp();
+ $this->drupalPlaceBlock('menu_navigation', array('region' => 'secondary_menu'), array('menu' => 'account'));
+
$this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
// Create users.
@@ -162,7 +164,9 @@ function addCustomMenu() {
$this->drupalGet('admin/structure/block/list/' . \Drupal::config('system.theme')->get('default'));
$this->assertText($label);
- // Enable the block.
+ // Enable the block after flushing the plugin definitions to ensure the
+ // new menu is found by the plugin manager.
+ $this->container->get('plugin.manager.block')->clearCachedDefinitions();
$this->drupalPlaceBlock('system_menu_block:' . $menu_name);
return menu_load($menu_name);
}
@@ -749,13 +753,6 @@ private function verifyAccess($response = 200, $menu_name = 'tools') {
$this->assertText(t('Edit menu item'), 'Menu edit node was displayed');
}
- // View menu settings node.
- $this->drupalGet('admin/structure/menu/settings');
- $this->assertResponse($response);
- if ($response == 200) {
- $this->assertText(t('Menus'), 'Menu settings node was displayed');
- }
-
// View add menu node.
$this->drupalGet('admin/structure/menu/add');
$this->assertResponse($response);
diff --git a/core/modules/menu/menu.module b/core/modules/menu/menu.module
index fe52570..569a136 100644
--- a/core/modules/menu/menu.module
+++ b/core/modules/menu/menu.module
@@ -79,12 +79,6 @@ function menu_menu() {
'route_name' => 'menu.menu_add',
'type' => MENU_LOCAL_ACTION,
);
- $items['admin/structure/menu/settings'] = array(
- 'title' => 'Settings',
- 'route_name' => 'menu.settings',
- 'type' => MENU_LOCAL_TASK,
- 'weight' => 100,
- );
$items['admin/structure/menu/manage/%menu'] = array(
'title' => 'Edit menu',
'route_name' => 'menu.menu_edit',
@@ -653,6 +647,14 @@ function menu_preprocess_block(&$variables) {
if ($variables['configuration']['module'] == 'menu') {
$variables['attributes']['role'] = 'navigation';
}
+ // @todo
+ /*
+ if ($variables['block']->id == 'menu_navigation') {
+ $variables['attributes']['class'][] = 'links';
+ $variables['attributes']['class'][] = 'inline';
+ $variables['attributes']['class'][] = 'clearfix';
+ $variables['title_attributes']['class'][] = 'element-invisible';
+ }*/
}
/**
diff --git a/core/modules/menu/menu.routing.yml b/core/modules/menu/menu.routing.yml
index 25c1f53..e8f0f84 100644
--- a/core/modules/menu/menu.routing.yml
+++ b/core/modules/menu/menu.routing.yml
@@ -1,10 +1,3 @@
-menu.settings:
- path: '/admin/structure/menu/settings'
- defaults:
- _form: 'Drupal\menu\MenuSettingsForm'
- requirements:
- _permission: 'administer menu'
-
menu.overview_page:
path: '/admin/structure/menu'
defaults:
diff --git a/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterTest.php b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterTest.php
index f341681..7de43a0 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Menu/MenuRouterTest.php
@@ -129,6 +129,7 @@ protected function doTestDescriptionMenuItems() {
* Tests for menu_link_maintain().
*/
protected function doTestMenuLinkMaintain() {
+ $this->drupalPlaceBlock('menu_navigation', array('region' => 'main_menu'), array('menu' => 'main'));
$admin_user = $this->drupalCreateUser(array('access content', 'administer site configuration'));
$this->drupalLogin($admin_user);
diff --git a/core/modules/system/system.module b/core/modules/system/system.module
index cf057b2..5c393bb 100644
--- a/core/modules/system/system.module
+++ b/core/modules/system/system.module
@@ -2504,6 +2504,8 @@ function _system_rebuild_theme_data() {
$defaults = array(
'engine' => 'twig',
'regions' => array(
+ 'secondary_menu' => 'Secondary menu',
+ 'main_menu' => 'Main navigation',
'sidebar_first' => 'Left sidebar',
'sidebar_second' => 'Right sidebar',
'content' => 'Content',
diff --git a/core/modules/system/templates/page.html.twig b/core/modules/system/templates/page.html.twig
index 1f6f916..a25d83c 100644
--- a/core/modules/system/templates/page.html.twig
+++ b/core/modules/system/templates/page.html.twig
@@ -26,9 +26,6 @@
* slogan has been disabled in theme settings.
*
* Navigation:
- * - main_menu: The Main menu links for the site, if they have been configured.
- * - secondary_menu: The Secondary menu links for the site, if they have been
- * configured.
* - breadcrumb: The breadcrumb trail for the current page.
*
* Page content (in order of occurrence in the default page.html.twig):
@@ -50,6 +47,9 @@
*
* Regions:
* - page.header: Items for the header region.
+ * - page.main_menu: The Main menu links for the site, if they have been configured.
+ * - page.secondary_menu: The Secondary menu links for the site, if they have been
+ * configured.
* - page.highlighted: Items for the highlighted content region.
* - page.help: Dynamic help text, mostly for admin pages.
* - page.content: The main content of the current page.
@@ -90,15 +90,20 @@
{{ site_slogan }}
{% endif %}
{# ./name-and-slogan #}
- {% endif %}
+ {% endif %}
+
+ {% if page.secondary_menu %}
+
+ {% endif %}
{{ page.header }}
- {% if main_menu or secondary_menu %}
+ {% if page.main_menu %}
{% endif %}
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php b/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php
index 865878a..0c12208 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserAccountLinksTests.php
@@ -15,6 +15,13 @@
class UserAccountLinksTests extends WebTestBase {
/**
+ * The user account links block placed in the secondary menu region.
+ *
+ * @var \Drupal\block\Plugin\Core\Entity\Block
+ */
+ protected $block;
+
+ /**
* Modules to enable.
*
* @var array
@@ -29,6 +36,15 @@ public static function getInfo() {
);
}
+ protected function setUp() {
+ parent::setUp();
+ $this->block = $this->drupalPlaceBlock('menu_navigation', array('region' => 'secondary_menu'), array(
+ 'menu' => 'account',
+ 'level' => 0,
+ 'id' => 'secondary-menu',
+ ));
+ }
+
/**
* Tests the secondary menu.
*/
@@ -63,6 +79,11 @@ function testSecondaryMenu() {
// For a logged-out user, expect no secondary links.
$element = $this->xpath('//ul[@id=:menu_id]', array(':menu_id' => 'secondary-menu'));
$this->assertEqual(count($element), 0, 'No secondary-menu for logged-out users.');
+ // The wrapping list should not appear either.
+ $settings = $this->block->get('settings');
+ $this->assertNoRaw($settings['id']);
+ // The entire menu block should not appear either.
+ $this->assertNoRaw(check_plain($this->block->label()));
}
/**
diff --git a/core/modules/user/lib/Drupal/user/Tests/UserPasswordResetTest.php b/core/modules/user/lib/Drupal/user/Tests/UserPasswordResetTest.php
index f8635fd..ac57099 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserPasswordResetTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserPasswordResetTest.php
@@ -13,6 +13,14 @@
* Tests resetting a user password.
*/
class UserPasswordResetTest extends WebTestBase {
+
+ /**
+ * Modules to enable.
+ *
+ * @var array
+ */
+ public static $modules = array('menu', 'block');
+
/**
* The user object to test password resetting.
*
@@ -20,6 +28,13 @@ class UserPasswordResetTest extends WebTestBase {
*/
protected $account;
+ /**
+ * The user account links block placed in the content region.
+ *
+ * @var \Drupal\block\Plugin\Core\Entity\Block
+ */
+ protected $block;
+
public static function getInfo() {
return array(
'name' => 'Reset password',
@@ -30,7 +45,12 @@ public static function getInfo() {
public function setUp() {
parent::setUp();
-
+ // Place the user links block in the content region.
+ $this->block = $this->drupalPlaceBlock('menu_navigation', array('region' => 'content'), array(
+ 'menu' => 'account',
+ 'level' => 0,
+ 'id' => 'secondary-menu',
+ ));
// Create a user.
$account = $this->drupalCreateUser();
diff --git a/core/modules/views/lib/Drupal/views/Tests/Wizard/MenuTest.php b/core/modules/views/lib/Drupal/views/Tests/Wizard/MenuTest.php
index f294a89..6baf83e 100644
--- a/core/modules/views/lib/Drupal/views/Tests/Wizard/MenuTest.php
+++ b/core/modules/views/lib/Drupal/views/Tests/Wizard/MenuTest.php
@@ -12,6 +12,13 @@
*/
class MenuTest extends WizardTestBase {
+ /**
+ * Modules to enable.
+ *
+ * @var array
+ */
+ public static $modules = array('block', 'menu');
+
public static function getInfo() {
return array(
'name' => 'Menu functionality',
@@ -20,6 +27,11 @@ public static function getInfo() {
);
}
+ protected function setUp() {
+ parent::setUp();
+ $this->drupalPlaceBlock('menu_navigation', array('region' => 'main_menu'), array('menu' => 'main'));
+ }
+
/**
* Tests the menu functionality.
*/
diff --git a/core/modules/views/lib/Drupal/views/Tests/Wizard/WizardTestBase.php b/core/modules/views/lib/Drupal/views/Tests/Wizard/WizardTestBase.php
index 0abb524..2dc2522 100644
--- a/core/modules/views/lib/Drupal/views/Tests/Wizard/WizardTestBase.php
+++ b/core/modules/views/lib/Drupal/views/Tests/Wizard/WizardTestBase.php
@@ -21,7 +21,7 @@
*/
public static $modules = array('views_ui', 'block');
- function setUp() {
+ protected function setUp() {
parent::setUp();
// Create and log in a user with administer views permission.
diff --git a/core/profiles/standard/config/block.block.bartik_account_links.yml b/core/profiles/standard/config/block.block.bartik_account_links.yml
new file mode 100644
index 0000000..e7cc82c
--- /dev/null
+++ b/core/profiles/standard/config/block.block.bartik_account_links.yml
@@ -0,0 +1,14 @@
+id: account_links
+theme: bartik
+label: 'Account links'
+region: secondary_menu
+weight: '0'
+module: menu
+status: '1'
+plugin: menu_navigation
+settings:
+ menu: account
+ level: '0'
+ id: secondary-menu
+ subject: 'Menu Navigation'
+langcode: und
diff --git a/core/profiles/standard/config/block.block.bartik_main_menu.yml b/core/profiles/standard/config/block.block.bartik_main_menu.yml
new file mode 100644
index 0000000..6b402fd
--- /dev/null
+++ b/core/profiles/standard/config/block.block.bartik_main_menu.yml
@@ -0,0 +1,14 @@
+id: main_menu
+theme: bartik
+label: 'Main menu'
+region: main_menu
+weight: '0'
+module: menu
+status: '1'
+plugin: menu_navigation
+settings:
+ menu: main
+ level: '0'
+ id: main-menu
+ subject: 'Menu Navigation'
+langcode: und
diff --git a/core/profiles/standard/standard.install b/core/profiles/standard/standard.install
index 5aa1dd7..e9fad10 100644
--- a/core/profiles/standard/standard.install
+++ b/core/profiles/standard/standard.install
@@ -3,6 +3,7 @@
* @file
* Install, update and uninstall functions for the standard installation profile.
*/
+//use Drupal\Component\Uuid\Uuid;
/**
* Implements hook_install().
@@ -87,3 +88,52 @@ function standard_install() {
\Drupal::config('system.theme')->set('admin', 'seven')->save();
\Drupal::config('node.settings')->set('use_admin_theme', '1')->save();
}
+
+/**
+ * Place and create the main menu and secondary links menu navigation blocks.
+ *
+ * @ingroup config_upgrade
+ */
+/*function standard_update_8000() {
+ // Place main-menu.
+ $block = \Drupal::config('block.block.bartik.main_menu');
+ $uuid = new Uuid();
+ $block
+ ->set('id', 'bartik.main_menu')
+ ->set('uuid', $uuid->generate())
+ ->set('plugin', 'menu_navigation')
+ ->set('module', 'menu')
+ ->set('region', 'main_menu')
+ ->set('weight', 0)
+ ->set('status', 1)
+ ->set('visibility', array())
+ ->set('label', 'Main menu')
+ ->set('settings', array(
+ 'menu' => 'main',
+ 'level' => 0,
+ 'id' => 'main-menu',
+ 'subject' => 'Menu Navigation',
+ ));
+ $block->save();
+
+ // Place secondary-menu (account links).
+ $block = \Drupal::config('block.block.bartik.account_links');
+ $uuid = new Uuid();
+ $block
+ ->set('id', 'bartik.account_links')
+ ->set('uuid', $uuid->generate())
+ ->set('plugin', 'menu_navigation')
+ ->set('module', 'menu')
+ ->set('region', 'secondary_menu')
+ ->set('weight', 0)
+ ->set('status', 1)
+ ->set('visibility', array())
+ ->set('label', 'Account links')
+ ->set('settings', array(
+ 'menu' => 'account',
+ 'level' => 0,
+ 'id' => 'secondary-menu',
+ 'subject' => 'Menu Navigation',
+ ));
+ $block->save();
+}*/
diff --git a/core/themes/bartik/bartik.info.yml b/core/themes/bartik/bartik.info.yml
index 6851a12..8066b06 100644
--- a/core/themes/bartik/bartik.info.yml
+++ b/core/themes/bartik/bartik.info.yml
@@ -31,6 +31,8 @@ regions:
footer_thirdcolumn: 'Footer third column'
footer_fourthcolumn: 'Footer fourth column'
footer: Footer
+ secondary_menu: 'Secondary menu'
+ main_menu: 'Main menu'
# @todo D8: Remove once themes have to be installed.
settings:
shortcut_module_link: '0'
diff --git a/core/themes/bartik/bartik.theme b/core/themes/bartik/bartik.theme
index 4a56b7d..d25d2b0 100644
--- a/core/themes/bartik/bartik.theme
+++ b/core/themes/bartik/bartik.theme
@@ -51,15 +51,6 @@ function bartik_preprocess_html(&$variables) {
* Implements hook_preprocess_HOOK() for page templates.
*/
function bartik_preprocess_page(&$variables) {
- // Pass the main menu and secondary menu to the template as render arrays.
- if (!empty($variables['main_menu'])) {
- $variables['main_menu']['#attributes']['id'] = 'main-menu-links';
- $variables['main_menu']['#attributes']['class'] = array('links', 'clearfix');
- }
- if (!empty($variables['secondary_menu'])) {
- $variables['secondary_menu']['#attributes']['id'] = 'secondary-menu-links';
- $variables['secondary_menu']['#attributes']['class'] = array('links', 'inline', 'clearfix');
- }
$site_config = \Drupal::config('system.site');
// Always print the site name and slogan, but if they are toggled off, we'll
@@ -196,3 +187,32 @@ function bartik_field__taxonomy_term_reference($variables) {
return $output;
}
+
+/**
+ * Implements hook_block_view_alter().
+ */
+function bartik_block_view_alter(array &$build, Block $block) {
+ if ($block->getPluginId() == 'bartik.main_menu') {
+ $build['#prefix'] = '';
+ $build['#theme'] = 'links__system_main_menu';
+ $build['content']['#attributes']['id'] = 'main-menu-links';
+ $build['#heading'] = array(
+ 'text' => t('Main menu'),
+ 'level' => 'h2',
+ 'class' => array('element-invisible'),
+ );
+ }
+ if ($block->getPluginId() == 'bartik.account_links') {
+ $build['#prefix'] = '';
+ $build['#theme'] = 'links__system_secondary_menu';
+ $build['content']['#attributes']['id'] = 'secondary-menu-links';
+ $build['content']['#attributes']['class'][] = 'inline';
+ $build['#heading'] = array(
+ 'text' => t('Secondary menu'),
+ 'level' => 'h2',
+ 'class' => array('element-invisible'),
+ );
+ }
+}
diff --git a/core/themes/bartik/css/colors.css b/core/themes/bartik/css/colors.css
index 96f3877..6a12fa1 100644
--- a/core/themes/bartik/css/colors.css
+++ b/core/themes/bartik/css/colors.css
@@ -9,8 +9,8 @@ body.overlay {
}
#page,
#main-wrapper,
-#main-menu-links li a.active,
-#main-menu-links li.active-trail a {
+#main-menu li a.active,
+#main-menu li.active-trail a {
background: #ffffff;
}
.tabs ul.primary li a.active {
@@ -56,6 +56,6 @@ a:active,
.region-header li a.active,
#name-and-slogan,
#name-and-slogan a,
-#secondary-menu-links li a {
+#secondary-menu li a {
color: #fffeff;
}
diff --git a/core/themes/bartik/css/style.css b/core/themes/bartik/css/style.css
index 5dad110..c9d2148a 100644
--- a/core/themes/bartik/css/style.css
+++ b/core/themes/bartik/css/style.css
@@ -532,23 +532,23 @@ h1#site-name {
#main-menu {
clear: both;
}
-#main-menu-links {
+#main-menu {
font-size: 0.929em;
margin: 0 5px;
padding: 0;
text-align: left; /* LTR */
}
-[dir="rtl"] #main-menu-links {
+[dir="rtl"] #main-menu {
text-align: right;
}
-#main-menu-links li {
+#main-menu li {
float: none;
list-style: none;
margin: 0;
padding: 0;
width: 100%;
}
-#main-menu-links a {
+#main-menu a {
color: #333;
background: #ccc;
background: rgba(255, 255, 255, 0.7);
@@ -560,42 +560,45 @@ h1#site-name {
margin-bottom: 4px;
padding: 0.9em 0 0.9em 10px; /* LTR */
}
-[dir="rtl"] #main-menu-links a {
+[dir="rtl"] #main-menu a {
padding: 0.9em 10px 0.9em 0;
}
-#main-menu-links a:hover,
-#main-menu-links a:focus {
+#main-menu a:hover,
+#main-menu a:focus {
background: #f6f6f2;
background: rgba(255, 255, 255, 0.95);
}
-#main-menu-links a:active {
+#main-menu a:active {
background: #b3b3b3;
background: rgba(255, 255, 255, 1);
}
-#main-menu-links li a.active {
+#main-menu li a.active {
border-bottom: none;
}
/* --------------- Secondary Menu ------------ */
-#secondary-menu-links {
+.region-secondary-menu .content {
+ margin-top: 0;
+}
+#secondary-menu {
float: right; /* LTR */
font-size: 0.929em;
margin: 0 10px;
}
-[dir="rtl"] #secondary-menu-links {
+[dir="rtl"] #secondary-menu {
float: left;
}
-#secondary-menu-links li{
+#secondary-menu li{
margin: 0;
padding: 0;
}
-#secondary-menu-links a {
+#secondary-menu a {
display: inline-block;
padding: 0.8em;
}
-#secondary-menu-links a:hover,
-#secondary-menu-links a:focus {
+#secondary-menu a:hover,
+#secondary-menu a:focus {
text-decoration: underline;
}
@@ -1810,31 +1813,31 @@ div.admin-panel .description {
#name-and-slogan {
padding: 10px 10px 8px;
}
- #main-menu-links {
+ #main-menu {
margin: 0 5px;
padding: 0;
text-align: center;
}
- #main-menu-links li {
+ #main-menu li {
float: left; /* LTR */
margin-right: 5px; /* LTR */
padding: 0;
display: inline-block;
width: 32.75%;
}
- [dir="rtl"] #main-menu-links li {
+ [dir="rtl"] #main-menu li {
float: right;
margin-left: 5px;
margin-right: 0;
}
- #main-menu-links li:nth-child(3n) {
+ #main-menu li:nth-child(3n) {
margin-right: -5px; /* LTR */
}
- [dir="rtl"] #main-menu-links li:nth-child(3n) {
+ [dir="rtl"] #main-menu li:nth-child(3n) {
margin-left: -5px;
margin-right: 0;
}
- #main-menu-links a {
+ #main-menu a {
float: none;
display: block;
border-radius: 8px;
@@ -1864,34 +1867,34 @@ div.admin-panel .description {
#site-name {
font-size: 1.821em;
}
- #main-menu-links {
+ #main-menu {
font-size: 0.929em;
margin: 0;
padding: 0 15px;
}
- #main-menu-links li {
+ #main-menu li {
float: left; /* LTR */
list-style: none;
padding: 0 1px;
margin: 0 1px;
width: auto;
}
- [dir="rtl"] #main-menu-links li {
+ [dir="rtl"] #main-menu li {
float: right;
}
- #main-menu-links a {
+ #main-menu a {
float: left; /* LTR */
padding: 0.7em 0.8em;
margin-bottom: 0;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
- [dir="rtl"] #main-menu-links a {
+ [dir="rtl"] #main-menu a {
float: right;
padding: 0.7em 0.8em;
}
- .featured #main-menu-links li a:active,
- .featured #main-menu-links li a.active {
+ .featured #main-menu li a:active,
+ .featured #main-menu li a.active {
background: #f0f0f0;
background: rgba(240, 240, 240, 1.0);
}
diff --git a/core/themes/bartik/templates/page.html.twig b/core/themes/bartik/templates/page.html.twig
index 5602997..62f6664 100644
--- a/core/themes/bartik/templates/page.html.twig
+++ b/core/themes/bartik/templates/page.html.twig
@@ -33,9 +33,6 @@
* added to make the site slogan visually hidden, but still accessible.
*
* Navigation:
- * - main_menu: The Main menu links for the site, if they have been configured.
- * - secondary_menu: The Secondary menu links for the site, if they have been
- * configured.
* - breadcrumb: The breadcrumb trail for the current page.
*
* Page content (in order of occurrence in the default page.html.twig):
@@ -57,6 +54,9 @@
*
* Regions:
* - page.header: Items for the header region.
+ * - page.main_menu: The Main menu links for the site, if they have been configured.
+ * - page.secondary_menu: The Secondary menu links for the site, if they have been
+ * configured.
* - page.featured: Items for the featured region.
* - page.highlighted: Items for the highlighted content region.
* - page.help: Dynamic help text, mostly for admin pages.
@@ -81,11 +81,9 @@
#}