wPageCur::getCorrespondentLanguageFiles
Ermittelt die Daten als Array zu korrespondierenden Sprachversionen
Funktionsaufruf
Array getCorrespondentLanguageFiles(String path = '', Array options = array())
Parameter
- path
- Pfad der Datei (optional)
- options
- create [false|true]
- gibt an, ob eine Verknüpfung während des Webseitenaufrufs angelegt werden soll
- checkOnline [false|true]
- Online-Status prüfen
- checkPersonalization [false|true]
- Personalisierung prüfen
- languagesExclude
- Sprachen, die ausgeschlossen werden sollen. Mehrere Sprachen können durch | getrennt angegeben werden, z.B. fr|it.
Ausgabe der korrespondierenden Sprachdateien zur aktuellen Seite
<!-- Auszug aus /[IHR-LAYOUT-PROJEKT]/wGlobal/layout/templates/misc/includes.global.php --> ... <!-- Sprachwahl: Hier werden bei aktivierter Sprachwahl die verfügbaren Sprachen angeboten. --> <xsl:template name="languageSelector" wChecksum="cab872472aee6356e45d753d838cd1eb"> <wsl:php> $languagesDisplay = '<xsl:value-of select="php:functionString('wVariables::getValue', 'languages_display', $wGlobalProjectPath)" />'; $languagesExclude = '<xsl:value-of select="php:functionString('wVariables::getValue', 'languages_exclude', $wGlobalProjectPath)" />'; $wGlobalProjectPath = '<xsl:value-of select="$wGlobalProjectPath" />'; <![CDATA[ $correspondentLanguageFiles = wPageCur::getCorrespondentLanguageFiles('', array('create' => true, 'checkOnline' => true, 'checkPersonalization' => true, 'languagesExclude' => $languagesExclude)); $languageKeys = array_keys($correspondentLanguageFiles); if($languagesDisplay != ''){ $languageKeys = explode('|', $languagesDisplay); } foreach($languageKeys as $language){ $data = $correspondentLanguageFiles[$language]; $text = wTexts::getText('languageSelector_'.$language); if($data['available'] == 1 && $language != ''){ $queryString = wStringconverter::applyFilter($_SERVER['QUERY_STRING'], 'secure'); $path = $queryString != '' ? $data['path'].'?'.$queryString : $data['path']; if($data['current'] == 1){ print '<a class="langCurrent" href="'.$path.'"><img src="'.$wGlobalProjectPath.'/wGlobal/layout/images/flags/'.$language.'.gif" alt="'.$text.'" title="'.$text.'"/><span>'.$text.'</span></a>'; } else{ print '<a class="lang" href="'.$path.'"><img src="'.$wGlobalProjectPath.'/wGlobal/layout/images/flags/'.$language.'.gif" alt="'.$text.'" title="'.$text.'"/><span>'.$text.'</span></a>'; } } else if($data['parentPath'] != ''){ print '<a class="lang" href="'.wPathName::getDirTop($data['parentPath']).'"><img src="'.$wGlobalProjectPath.'/wGlobal/layout/images/flags/'.$language.'.gif" alt="'.$text.'" title="'.$text.'"/><span>'.$text.'</span></a>'; } else{ print '<a class="lang" href="'.$data['project'].'"><img src="'.$wGlobalProjectPath.'/wGlobal/layout/images/flags/'.$language.'.gif" alt="'.$text.'" title="'.$text.'"/><span>'.$text.'</span></a>'; } } ]]> </wsl:php> </xsl:template> ...
Das Array gibt jeweils alle definierten Sprachen zurück und kann nach verfügbar (available) und aktueller Sprache (current) geprüft werden (siehe Beispiel oben). Die Funktion unterstützt ab Version 005.040.005.000 die Prüfung auf Online-Status und Personalisierung einer Datei.
Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.