Zur Zeit wird gefiltert nach: i18n
Filter zurücksetzen

24.06.201020:08

Mehrsprachige TYPO3 Extensions: getRecordOverlay richtig einsetzen

typo3-blog

(c) www.typo3.org, CC BY-ND 2.5

Bei der Entwicklung mehrsprachiger Extensions für TYPO3 kommt man früher oder später in die Verlegenheit die richtigen (also in der benötigten Sprache) Datensätze aus der Datenbank zu holen. Viele Entwickler nutzen dazu eigene WHERE Anweisungen mithilfe derer sie den richtigen Datensatz ermitteln. Das sieht dann oftmals so aus:

// don't do this!
$where = 'uid = '.$uid.' AND  sys_language_uid = '.$GLOBALS['TSFE']->sys_language_uid.' AND hidden = 0 AND deleted = 0';
Schlechtes Beispiel für eine TYPO3 Datenbankabfrage

Die benötigte Sprache wird direkt gesetzt was zur Folge hat das man evtl. keinen Datensatz geliefert bekommt. Dies ist logischerweise dann der Fall wenn Der Datensatz noch nicht in die betreffende Sprache übersetzt wurde. Hört sich doch gar nicht so übel an?

 

Nicht ganz. Einerseits  bricht man mit den Coding Guidelines und andererseits macht man ein tolles TYPO3 Feature zunichte: den localization mode. Mit dem localization mode kann das Verhalten von TYPO3 bei Mehrsprachigkeit, oder besser das Verhalten von TYPO3 bei fehlenden Sprachdatensätzen, konfigurieren.

TYPO3 und Mehrsprachigkeit


Ganzen Artikel lesen


Zurück