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 @@ #}
-