---
title: "Datensatz in default Sprache (egal welcher language Parameter)"
url: "https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter"
source: "typo3.net"
tags: ["Extensions","Extbase","Frage","Kategorien"]
created: "2014-02-24"
last_reply: "2014-02-25"
replies: 3
solved: false
page: 1
pages: 1
lang: "de"
---

# Datensatz in default Sprache (egal welcher language Parameter)

Extensions › Extbase · 3 Antworten · gestartet 2014-02-24

## Eröffnungsbeitrag

**zappzarapp** · 2014-02-24 · [Beitrag #1](https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter/1)

Hallo,

ich versuche gerade von einem Datensatz die default Sprache auszulesen egal welcher Language-Parameter gerade an der URL hängt.

Prinzipiell möchte ich alle (default und übersetzten) Datensätze bekommen und bin bis jetzt so weit gekommen:

```php
function getLLCategories($categoryUid) {
    $query = $this->createQuery();
    $query->getQuerySettings()->setRespectSysLanguage(FALSE);
    $query->matching($query->logicalOr($query->equals('l10n_parent', $categoryUid),$query->equals('uid',$categoryUid)));
    $query->setOrderings(array('sys_language_uid' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING));
    $categories = $query->execute();
    return $categories;
}
```

Das funktioniert super solange meine sys_language_uid = 0 ist:
'Kategoriename ' - sys_language_uid
'Kategorie (de)' - 0
'Kategorie (en)' - 1
'Kategorie (fr)' - 2

Sobald ich aber eine andere Sprache einstelle bekomme ich den Datensatz der eigentlich in der sys_language_uid 0 auf Deutsch sein sollte immer in der übersetzten Sprache (wenn es eine Übersetzung gibt)

'Kategorie (en)' - 1
'Kategorie (en)' - 1
'Kategorie (fr)' - 2

Habe auch versucht eine Funktion zu machen die mir nur diesen einen Datensatz ausliest:

```php
function getDefaultCategory($categoryUid) {
    $query = $this->createQuery();
    $query->getQuerySettings()->setRespectSysLanguage(FALSE);
    $query->matching($query->logicalAnd($query->equals('uid', $categoryUid),$query->equals('sys_language_uid', 0)));
    $category = $query->execute();
    return $category;
}
```

Habe hier auch schon extra ein sys_language_uid=0 dazugegeben und dachte, dass mit $query->getQuerySettings()->setRespectSysLanguage(FALSE); die Sprache quasi komplett ignoriert wird aber ich bekomme den Datensatz immer übersetzt zurück (was ich in dem Fall eben nicht mag)

Liebe Grüße,
Matthias

## Antworten

### [#2](https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter/2) · zappzarapp · 2014-02-24

Auch ein "raw sql statement" macht mir _immer_ ein language overlay über meinen default Datensatz (was ich ziemlich bescheiden finde)

```php
function getLLCategories1($categoryUid) {
    $query = $this->createQuery();
    $query->getQuerySettings()->setRespectSysLanguage(FALSE);
    $sql = 'SELECT * FROM tx_affiliate_domain_model_category WHERE l10n_parent='.$categoryUid.' OR uid='.$categoryUid;
    $result = $query->statement($sql)->execute();
    return $result;
}
```

Wenn ich die SQL Query in phpMyAdmin ausführe bekomme ich korrekt meine Kategorien in der richtigen Sprache zurück:
'Kategorie (de)' - 0
'Kategorie (en)' - 1
'Kategorie (es)' - 2
'Kategorie (fr)' - 3

Aber sobald das mit $query->execute() ausgeführt wird bekomme ich das wenn ich L=1 habe:
'Kategorie (en)' -- 1
'Kategorie (en)' -- 1
'Kategorie (fr)' -- 3
'Kategorie (es)' -- 2

Muss ich hier jetzt wirklich ein $GLOBALS['TYPO3_DB'] in die extbase Extension hineinpfuschen?

```php
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_affiliate_domain_model_category','l10n_parent='.$categoryUid.' OR uid='.$categoryUid);
```

Das klappt nämlich natürlich.

lg Matthias

### [#3](https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter/3) · Julian.​Hofmann · 2014-02-25

Hallo Matthias.

Beim genaueren betrachten der Methode setRespectSysLanguage() in die Klasse \TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings fiel mir eine weitere Methode auf, die Dein Problem betreffen könnte: setSysLanguageUid()
Evtl. klappt's damit.

Viele Grüße
Julian

### [#4](https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter/4) · zappzarapp · 2014-02-25

Hallo Julian,

diese Option dürfte es aber noch nicht in Extbase für die Version 4.5 geben (für die ich diese Extension derzeit entwickeln muss) - werde es jetzt einfach mit $GLOBALS['TYPO3_DB'] lösen müssen (und evtl. ändern wenn die Extension dann 6.2 fit gemacht werden soll in den nächsten Monaten)

lg Matthias

---

Quelle: „Datensatz in default Sprache (egal welcher language Parameter)“, typo3.net, https://www.typo3.net/d/117480-datensatz-in-default-sprache-egal-welcher-language-parameter
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
