MDL-72885 output: Add lang attribute for language custom menu items

This commit is contained in:
Jun Pataleta
2022-05-27 19:38:54 +08:00
parent d4ba0359cf
commit 326d502c5c
+12 -4
View File
@@ -3824,13 +3824,21 @@ EOD;
$strlang = get_string('language');
$currentlang = current_language();
if (isset($langs[$currentlang])) {
$currentlang = $langs[$currentlang];
$currentlangstr = $langs[$currentlang];
} else {
$currentlang = $strlang;
$currentlangstr = $strlang;
}
$this->language = $menu->add($currentlang, new moodle_url('#'), $strlang, 10000);
$this->language = $menu->add($currentlangstr, new moodle_url('#'), $strlang, 10000);
foreach ($langs as $langtype => $langname) {
$this->language->add($langname, new moodle_url($this->page->url, array('lang' => $langtype)), $langname);
$attributes = [];
// Set the lang attribute for languages different from the page's current language.
if ($langtype !== $currentlang) {
$attributes[] = [
'key' => 'lang',
'value' => get_html_lang_attribute_value($langtype),
];
}
$this->language->add($langname, new moodle_url($this->page->url, ['lang' => $langtype]), null, null, $attributes);
}
}