Environment::getLanguageFallbackChain()
\nn\t3::Environment()->getLanguageFallbackChain($langUid = true);
Gibt eine Liste der Sprachen zurück, die verwendet werden sollen, falls z.B. eine Seite oder ein Element nicht in der gewünschten Sprache existiert.
Wichtig: Die Fallback-Chain enthält an erster Stelle die aktuelle bzw. in $langUid übergebene Sprache.
// Einstellungen für aktuelle Sprache verwenden (s. Site-Config YAML)
\nn\t3::Environment()->getLanguageFallbackChain(); // --> z.B. [0] oder [1,0]
// Einstellungen für eine bestimmte Sprache holen
\nn\t3::Environment()->getLanguageFallbackChain( 1 );
// --> [1,0] - falls Fallback in Site-Config definiert wurde und der fallbackMode auf "fallback" steht
// --> [1] - falls es keinen Fallback gibt oder der fallbackMode auf "strict" steht
Copied!
@param string|boolean $returnKey
@return string|array
Source Code
public function getLanguageFallbackChain( $langUid = true )
{
if ($langUid === true) {
$langUid = $this->getLanguage();
}
$langSettings = $this->getLanguages()[$langUid] ?? [];
$fallbackType = $langSettings['fallbackType'] ?? 'strict';
$fallbackChain = $langSettings['fallbacks'] ?? '';
if ($fallbackType == 'strict') {
$fallbackChain = '';
}
$fallbackChainArray = array_map( function ( $uid ) {
return intval( $uid );
}, \nn\t3::Arrays($fallbackChain)->intExplode() );
array_unshift( $fallbackChainArray, $langUid );
return $fallbackChainArray;
}
Copied!