Language switcher footer

This commit is contained in:
David Valdez 2019-01-21 23:48:06 -06:00
parent 7184d9cfc3
commit be9d0e8083
6 changed files with 62 additions and 19 deletions

View file

@ -21,6 +21,7 @@
"drupal/core": "^8.6.2", "drupal/core": "^8.6.2",
"drupal/customerror": "1.x-dev", "drupal/customerror": "1.x-dev",
"drupal/diff": "^1.0@RC", "drupal/diff": "^1.0@RC",
"drupal/dropdown_language": "^2.2",
"drupal/drutopia_core": "1.x-dev", "drupal/drutopia_core": "1.x-dev",
"drupal/google_analytics": "^2.3", "drupal/google_analytics": "^2.3",
"drupal/honeypot": "^1.29", "drupal/honeypot": "^1.29",

View file

@ -0,0 +1,27 @@
uuid: cddd6272-7a22-4110-862c-338686afc1c1
langcode: en
status: true
dependencies:
module:
- block_visibility_groups
- dropdown_language
theme:
- agarica
id: languageswitcher
theme: agarica
region: footer
weight: 0
provider: null
plugin: 'dropdown_language:language_interface'
settings:
id: 'dropdown_language:language_interface'
label: 'Language:'
provider: dropdown_language
label_display: visible
labels: null
visibility:
condition_group:
id: condition_group
negate: false
block_visibility_group: ''
context_mapping: { }

View file

@ -0,0 +1,19 @@
uuid: 1a7bd96c-ab4a-4a86-a541-b9610491c292
langcode: en
status: true
dependencies:
module:
- dropdown_language
id: config_sync.module.dropdown_language
snapshotSet: config_sync
extensionType: module
extensionName: dropdown_language
items:
-
collection: ''
name: dropdown_language.setting
data:
wrapper: true
display_language_id: 0
filter_untranslated: 0
always_show_block: 0

View file

@ -40,6 +40,7 @@ module:
dblog: 0 dblog: 0
default_content: 0 default_content: 0
diff: 0 diff: 0
dropdown_language: 0
drutopia_action: 0 drutopia_action: 0
drutopia_article: 0 drutopia_article: 0
drutopia_blog: 0 drutopia_blog: 0

View file

@ -0,0 +1,6 @@
wrapper: false
display_language_id: 2
filter_untranslated: 0
always_show_block: 0
_core:
default_config_hash: xbqiqGnFfv7G00sewxA46T8PO-uo8uvWhDSIFyR1Fhk

View file

@ -1,25 +1,14 @@
<?php <?php
use \Drupal\Core\Url; use \Drupal\block\Entity\Block;
/** /**
* Implements hook_preprocess_block__system_menu_block__main(). * Implements hook_preprocess_region__footer().
*/ */
function agarica_preprocess_block__system_menu_block__main(&$variables) { function agarica_preprocess_region__footer(&$variables) {
$pathMatcher = \Drupal::service('path.matcher'); $block = Block::load('languageswitcher');
$languageManager = \Drupal::service('language_manager'); $block_content = \Drupal::entityTypeManager()
$route_name = $pathMatcher->isFrontPage() ? '<front>' : '<current>'; ->getViewBuilder('block')
$type = 'language_interface'; ->view($block);
$language_links = $languageManager->getLanguageSwitchLinks($type, Url::fromRoute($route_name)); $variables['language_switcher'] = $block_content;
$variables['language'] = [];
foreach ($language_links->links as $langcode => $link) {
$language_links->links[$langcode]['attributes']['class'][] = 'navbar-item';
$language_links->links[$langcode]['title'] = $langcode;
}
$variables['language'] = [
'#theme' => 'links__language_block',
'#links' => $language_links->links,
'#set_active_class' => TRUE,
];
} }