public function ConfigurableLanguageManager::getLanguageSwitchLinks in Drupal 9
Same name and namespace in other branches
- 8 core/modules/language/src/ConfigurableLanguageManager.php \Drupal\language\ConfigurableLanguageManager::getLanguageSwitchLinks()
Returns the language switch links for the given language type.
Parameters
string $type: The language type.
\Drupal\Core\Url $url: The URL the switch links will be relative to.
Return value
array A keyed array of links ready to be themed.
Overrides LanguageManager::getLanguageSwitchLinks
File
- core/
modules/ language/ src/ ConfigurableLanguageManager.php, line 405
Class
- ConfigurableLanguageManager
- Overrides default LanguageManager to provide configured languages.
Namespace
Drupal\languageCode
public function getLanguageSwitchLinks($type, Url $url) {
$links = FALSE;
if ($this->negotiator) {
foreach ($this->negotiator
->getNegotiationMethods($type) as $method_id => $method) {
$reflector = new \ReflectionClass($method['class']);
if ($reflector
->implementsInterface('\\Drupal\\language\\LanguageSwitcherInterface')) {
$result = $this->negotiator
->getNegotiationMethodInstance($method_id)
->getLanguageSwitchLinks($this->requestStack
->getCurrentRequest(), $type, $url);
if (!empty($result)) {
// Allow modules to provide translations for specific links.
$this->moduleHandler
->alter('language_switch_links', $result, $type, $url);
$links = (object) [
'links' => $result,
'method_id' => $method_id,
];
break;
}
}
}
}
return $links;
}