From 4584bb5ba5f1a8012d383cc681eeffc21a478cab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathias=20Maa=C3=9F?= <mathias.maass@uni-leipzig.de> Date: Tue, 21 Mar 2023 14:44:45 +0100 Subject: [PATCH] refs #23496 [finc] adapt vufind language menu * Dont use POST via form to set language. Instead use GET via link. * git ignore themes/finc/css/print.css --- .gitignore | 1 + themes/finc/scss/_customVariables.scss | 6 +-- themes/finc/templates/header.phtml | 65 +++++++++++++++++--------- 3 files changed, 46 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index e22b9e32818..dce3e080bca 100644 --- a/.gitignore +++ b/.gitignore @@ -27,5 +27,6 @@ import/solrmarc.log* /docker-env.override.yml /.env **/compiled.css +themes/finc/css/print.css module/finc/tests/selenium/vendor/ module/finc/tests/selenium/logs/ \ No newline at end of file diff --git a/themes/finc/scss/_customVariables.scss b/themes/finc/scss/_customVariables.scss index b371bd530c1..273f4618426 100644 --- a/themes/finc/scss/_customVariables.scss +++ b/themes/finc/scss/_customVariables.scss @@ -724,9 +724,9 @@ $language-selector-dropdown-menu-background-color: $navbar-bg-color !default; $language-selector-dropdown-menu-border: 0 !default; $language-selector-dropdown-menu-min-width: auto !default; $language-selector-dropdown-menu-link-color: $link-color !default; -$language-selector-dropdown-menu-btn-padding-left: 0 !default; -$language-selector-dropdown-menu-btn-padding-right: 0 !default; -$language-selector-dropdown-menu-btn-focus-hover-background-color: $white !default; +$language-selector-dropdown-menu-btn-padding-left: 4 !default; +$language-selector-dropdown-menu-btn-padding-right: 4 !default; +$language-selector-dropdown-menu-btn-focus-hover-background-color: $brand-primary !default; $language-selector-one-language-only-display: block !default; $language-selector-one-language-only-margin-top: 0 !default; diff --git a/themes/finc/templates/header.phtml b/themes/finc/templates/header.phtml index e6ba0f2f2d3..5325d57f689 100644 --- a/themes/finc/templates/header.phtml +++ b/themes/finc/templates/header.phtml @@ -93,29 +93,48 @@ </li> <?php endif; ?> - <?php if (isset($this->layout()->allLangs) && count($this->layout()->allLangs) > 1): ?> - <li class="language dropdown"> - <form method="post" name="langForm" id="langForm"> - <input type="hidden" name="mylang"/> - <a href="#" class="btn dropdown-toggle <?=(count($this->layout()->allLangs) == 2) ? ' hidden' : ''?>" data-toggle="dropdown" aria-controls="langmenu" aria-expanded="false"> - <?=$this->transEsc("Language")?> <strong class="caret"></strong> - </a> - <?php /* finc: need id="langmenu"; adapt langmenu #17599 */ ?> - <ul id="langmenu" class="dropdown-menu <?=(count($this->layout()->allLangs) == 2) ? ' oneLanguage' : ''?>"> - <?php foreach ($this->layout()->allLangs as $langCode => $langName): ?> - <?php /* finc: more accessibility rework #17908 */ ?> - <?php if ($langCode !==$this->layout()->userLang) : ?> - <li> - <button type="submit" class="btn <?=(count($this->layout()->allLangs) == 2) ? ' btn-secondary' : ''?>" data-href="#" onClick="document.langForm.mylang.value='<?=$langCode?>';document.langForm.submit()"> - <?php /* finc: accessibility fixes in site header #17720 */ ?> - <span class="visible-sm-md-only"><?=$langCode?></span> - <span class="hidden-sm-md"><?=$this->displayLanguageOption($langName)?></span> - </button> - </li> - <?php endif; ?> - <?php endforeach; ?> - </ul> - </form> + <?php + $allLangs = $this->layout()->allLangs; + $userLang = $this->layout()->userLang; + ?> + <?php if (count($allLangs) > 1): ?> + <li class="language dropdown"> + <a + href="#" + class="btn dropdown-toggle<?=count($allLangs) == 2 ? ' hidden' : ''?>" + data-toggle="dropdown" + aria-controls="langmenu" + aria-expanded="false" + > + <?=$this->transEsc("Language")?> + <strong class="caret"></strong> + </a> + <?php /* finc: need id="langmenu"; adapt langmenu #17599 */ ?> + <ul + id="langmenu" + class="dropdown-menu<?=count($allLangs) == 2 ? ' oneLanguage' : ''?>" + > + <?php foreach ($allLangs as $langCode => $langName): ?> + <?php /* finc: more accessibility rework #17908 */ ?> + <?php if ($langCode !== $userLang) : ?> + <li> + <a + class="btn" + href="<?=$this->escapeHtmlAttr($this->url()->addQueryParameters(['lng' => $langCode])) ?>" + rel="nofollow" + > + <?php /* finc: accessibility fixes in site header #17720 */ ?> + <span class="visible-sm-md-only"> + <?=$langCode?> + </span> + <span class="hidden-sm-md"> + <?=$this->displayLanguageOption($langName)?> + </span> + </a> + </li> + <?php endif; ?> + <?php endforeach; ?> + </ul> </li> <?php endif; ?> </ul> -- GitLab