---
title: "Content mehrsprachig über eigene Extension rendern"
url: "https://www.typo3.net/d/67517-content-mehrsprachig-ueber-eigene-extension-rendern"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","PHP"]
created: "2007-08-30"
last_reply: "2007-08-31"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# Content mehrsprachig über eigene Extension rendern

Extensions › Entwicklung · 1 Antwort · gestartet 2007-08-30

## Eröffnungsbeitrag

**viktor** · 2007-08-30 · [Beitrag #1](https://www.typo3.net/d/67517-content-mehrsprachig-ueber-eigene-extension-rendern/1)

Hallo,

Ich schreibe gerade eine Extension, die über

```php
function getIds($l=0) {
		$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
			'uid',
			'tt_content',
			'pid='.$GLOBALS['TSFE']->id.' AND sys_language_uid='.intval($l),
			'',
			'sorting',
			''
		);
		$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
		$idList = $row['uid'];
		while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
			$idList .= ','.$row['uid'];
		}   
		return $idList;
}
```

...

```php
$idList = $this->getIds($l);
		
$conf_content = array('tables' => 'tt_content','source' => $idList,'dontCheckPid' => 0);

$content = $this->cObj->RECORDS($conf_content);
```

einzelne Contentelemente aus der Datenbank liest und später in ein Template einfügt. Das klappt auch wunderbar... Nur leider habe ich eine Sache übersehen, durch

```php
... 'pid='.$GLOBALS['TSFE']->id.' AND sys_language_uid='.intval($l), ...
```

werden nur Records angezeigt, die auch explizit in dieser Sprache vorhanden sind. Wenn sie nur in der Default Sprache existieren, werden sie nicht gelesen. Es würde halt auch den weg geben, mit dem ich bei einem leeren Datensatz im nachhinein nocheinmal mit "sys_language_uid='.$defaultLanguageOderSo" suche, aber ich vermute, das es hierfür eine elegantere Lösung mit Typo3 Boardmitteln gibt...

Ich möchte Content aus der Datenbank rendern und in der jeweils verfügbaren Sprache darstellen.

Was meint ihr?

Vielen Dank und beste Grüße,

Viktor

## Antworten

### [#2](https://www.typo3.net/d/67517-content-mehrsprachig-ueber-eigene-extension-rendern/2) · viktor · 2007-08-31

Ich habe das jetzt etwas anders gemacht. Zuerst im TS folgendes eingetragen (da ich auf einen bestimmten Page type reagieren muss, rufe ich die methode "method" direkt aus TS auf - so habe ich keinen Zugriff auf $this->conf):

```typoscript
includeLibs.ext_name = EXT:ext_name/pi1/class.extension_class.php

page_obj 					= PAGE
page_obj  {
	typeNum 				= {$TYPE_NUMBER_DOWNLOAD_PAGE}
	10 					= USER_INT
	10.userFunc 				= extension_class->method 
	10.templateFile				= {$TEMPLATE_DOWNLOAD_PAGE}
	10.myContent {
		normal 				< styles.content.get
		left 				< styles.content.getLeft
		right 				< styles.content.getRight
		border 				< styles.content.getBorder
	}
}
```

So wird der Content direkt mit css_styled_content gerendert und ich muss mich nicht selber darum kümmern (Spracheinstellungen usw.). Innerhalb der Klasse "class.extension_class.php" wird dann die methode "method" geöffnet:

```php
function method($content, $cObj) {
		  
		// ...
  
		$contentNormal = $this->cObj->cObjGetSingle($cObj["myContent."]['normal'], $cObj["myContent."]['normal.']);
		$contentLeft = $this->cObj->cObjGetSingle($cObj["myContent."]['left'], $cObj["myContent."]['left.']);
		$contentRight = $this->cObj->cObjGetSingle($cObj["myContent."]['right'], $cObj["myContent."]['right.']);
		$contentBorder = $this->cObj->cObjGetSingle($cObj["myContent."]['border'], $cObj["myContent."]['border.']);	
			
		// ...		
	
}
```

Das klappt nun wunderbar. Falls es aber dennoch eine tolle Möglichkeit gibt mit Typo3 Bordmitteln auf Spracheinstellungen der Page records zuzugreifen, wäre ich für jeden Tip sehr dankbar.

Vielen Dank und beste Grüße,

Viktor

---

Quelle: „Content mehrsprachig über eigene Extension rendern“, typo3.net, https://www.typo3.net/d/67517-content-mehrsprachig-ueber-eigene-extension-rendern
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
