---
title: "Im Repository die Sprache manuel setzen"
url: "https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage"]
created: "2011-04-12"
last_reply: "2011-05-26"
replies: 4
solved: false
page: 1
pages: 1
lang: "de"
---

# Im Repository die Sprache manuel setzen

Extensions › Extbase · 4 Antworten · gestartet 2011-04-12

## Eröffnungsbeitrag

**Razor_One** · 2011-04-12 · [Beitrag #1](https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen/1)

Hallo zusammen,

ich bastel gerade an einer Extension die ein neues Contentelement 'catalogpage' zur Verfügung stellt. Dieses Element ist in tt_content gespeichert (benötigt keine speziellen DB-Felder) und wird über den ctype erkannt. Hierdurch kann es einfach in verschiedene Sprachen übersetzt werden.
Im Frontend funktioniert alles soweit, auch Mehrsprachigkeit.

Im Backend gibt es ein Modul um diese Contentelemente in einer ausgewählten Sprache zu exportieren.
(Formular mit Selectbox zur Sprachauswahl und Submit Button)

Das Problem ist das die Elemente im Backend immer nur in der default-Sprache geladen/exportiert werden.

Das Repository sieht so aus:

```php
public function findAll($language='') {        
    $query = $this->createQuery();
    $query->getQuerySettings()->setRespectStoragePage(false);
    $query->matching($query->equals('ctype', 'catalogpage'));

    if (TYPO3_MODE === 'BE') {        
        $query->matching($query->equals('sys_language_uid', $language));
    }
    
    $result = $query->execute();
}
```

Da extbase die Sprache selber verwaltet funktioniert das nicht:
$query->matching($query->equals('sys_language_uid', $language));

Wie kann ich die Sprache im Backend mit einbauen/erzwingen?

## Antworten

### [#2](https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen/2) · greenbanana · 2011-05-24

Hallo

Hast du dazu schon eine Lösung gefunden? Habe das selbe Problem.

Gruss und Danke

### [#3](https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen/3) · Razor_One · 2011-05-25

jain

Die Sprache wird in Extbase\Persistence\Storage\Typo3DbBackend mit der Methode doLanguageAndWorkspaceOverlay() überlagert.
Als optionalen 3. Parameter kann man hier die LanguageId übergeben. Leider ist die Methode protected und wird überall nur ohne den 3. Parameter aufgerufen (Extbase 1.3.0). Vielleicht wird das in einer späteren Version noch eingebaut, oder ich finds einfach nicht wie es besser geht.

Die oben benannte Methode nutzt in Zeile 948 t3lib_div::_GP('L') zur Spracherkennung, also mach ich:

```php
...in meiner Repository Methode

$temp_language = t3lib_div::_GP('L');
$_POST['L'] = $neue_language_id;  // t3lib_div::_GP nutzt direkt die POST Variable

// hier die DB abfrage
$query = $this->createQuery();
.......
$result = $query->execute();

$_POST['L'] = $temp_language;
```

Das ist leider sehr unschön, funktioniert aber für mich.

PS: deine Homepage gefällt mir

### [#4](https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen/4) · greenbanana · 2011-05-26

Hallo

Vielen Dank für den Tipp. Bin heute leider noch nicht dazu gekommen es zu implementieren.
Werde meine Erfolge (und Erkenntnisse) aber bei Gelegenheit hier posten.

Danke auch für das Kompliment für die Seite www.greenbanana.ch ;-)

### [#5](https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen/5) · greenbanana · 2011-05-26

So, habs gleich noch kurz getestet... Wunderbar!!! 1000 DANK !!! ;-)

---

Quelle: „Im Repository die Sprache manuel setzen“, typo3.net, https://www.typo3.net/d/104891-im-repository-die-sprache-manuel-setzen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
