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.