Typo3 Snippets  >  Snippets  >  Extension-Programmierung  >  Mehrsprachigkeit und Datenbankabfragen

Mehrsprachigkeit und Datenbankabfragen

Ein elemenaterer Bestandteil von Typo3 ist die Möglichkeit, Content mehrsprachig zu gestalten. Wird eine Extension für eine mehrsprachige Webseite entwickelt, muss diese demnach auch in mehreren Sprachen nutzbar sein.


Wenn innerhalb einer Extension eine Datenbankabfrage auf Felder ausgeführt wurde, welche in mehreren Sprachen verfügbar sind, können mithilfe folgenden Schnipsels die korrekten Werte herausgefiltert werden

while ($temp = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))  {
            // get the translated record if the content language is not the default language
            if ($GLOBALS['TSFE']->sys_language_content) {
                $OLmode = ($this->sys_language_mode == 'strict'?'hideNonTranslated':'');
                $temp = $GLOBALS['TSFE']->sys_page->getRecordOverlay('my_table', $temp, $GLOBALS['TSFE']->sys_language_content, $OLmode);
            }
            $data[] = $temp;
        }

in obigem Fall wurde zunächst eine Abfrage ausgeführt (Ergebnis liegt in res), dann für jede Ergebniszeile (temp) die Sprache geprüft und gegebenenfalls die Werte ersetzt. Somit können ganz leicht Datenbanken abgefragt werden, welche in mehreren Sprachen verfügbar sind.