Zum Inhalt springen

Inhaltsangabe in anderer Sprache ansprechen?

Erstellt am 3. September 2007 · 4 Antworten · letzte Antwort am 4. September 2007

Tags: Frage

Sharami ·

Weiß jemand, wie ich die Inhaltsangabe aus den Seiteneigenschaften in einer andere als der Standard Sprache ausgeben kann?
Ich schlage mich nämlich mit einer Extension rum, die nicht mehrsprachig ist und einen Teasertext mit Hilfe der Abstracts der Unterseiten erstellt... allerdings immer nur mit den original Abstracts. Lässt sich das vielleicht irgendwie über Typo-Script und Conditions regeln?

Sharami ·

Das würde ich ja machen, aber ich hab' leider so gut wie keine Ahnung von PHP, also fällt das flach, wenn mir da nicht jemand was Konkretes zu sagen kann.

//get Teasercontent
$this->conf["pidList"]=0;
$exclude=t3lib_div::trimExplode(",",$this->conf['excludUIDs']);
while ($part=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
	#debug($part);
	if (!in_array($part['uid'],$exclude)){
		$pagetitle[$part['uid']]=$part['title'];
		$pagetext[$part['uid']]=$part['abstract'];
		$pageimage[$part['uid']]=$part['media'];
		$this->conf["pidList"].=",".$part["uid"];
		}

Dürfte wohl die Stelle sein.

Öh... das ist jetzt vielleicht eine blöde Frage, aber damit das funktionieren kann mit mehreren Sprachen, muss doch auch in der DB ein Feld "abstract" da sein, oder? Ich habe da nämlich mit phpMyAdmin mal geguckt, aber bei sys_language gibt es das nicht. Das müsste ich dann wohl auch noch anlegen, fürchte ich. Kann ich das einfach mit den gleichen Werten machen, die unter "pages" bei abstract stehen? (komme mir jetzt gerade wie ein Vollnoob vor 😢 )

brokemeister ·

Ne leider fehlt genau die Abfrage...

Vielleicht mit TS lösen...
Beispiel aus dem CSS-Styled-Content nehmen von:

styles.content.get etc.

und ummünzen auf die entsprechende Tabelle...

Sharami ·

Schade, dann schaue ich nochmal. Wonach suche ich dann eigentlich genau?

$res2=$this->pi_exec_query("tt_content");
	while ($content=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res2)){
	  if ($content['bodytext']) $text[$content['pid']][]=$content['bodytext'];
	  if ($content['header']) $headline[$content['pid']][]=$content['header'];
	  if ($content['image']) $pic[$content['pid']][]=$content['image'];
			}

Das hier?

oder das?

function main($content,$conf)	{
		$this->conf=$conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
		$this->pi_USER_INT_obj=1;
		$this->internal['orderBy']="sorting";
		$this->internal['orderByList']="sorting";
		//Hole Template
		$this->tmpl =$this->cObj->fileResource($this->conf["file."]["templateFile"]);
		//Checke PidList (typoscript/pages/pid der seite)
		$this->conf["pidList"]=$this->conf["pidList"]?$this->conf["pidList"]:($this->cObj->data[pages]?$this->cObj->data[pages]:$this->cObj->data[pid]);

Kann es sein, dass es keine Tabelle gibt, wo die anderssprachen Inhaltsangaben landen? ...Ok, irgendwo müssen sie ja auch gespeichert werden, aber ich habe sie nicht finden können.

EDIT: Hab sie gefunden, die sind unter "pages_language_overlay" und nicht unter "pages" wie die deutschen Inhaltsangaben.

EDIT 2: So, nun reicht es mir endgültig mit dieser sch... Extension. Ich hab das ganze jetzt über rgTeaser geregelt und das klappt einwandfrei und hat nicht lange gedauert, bis alles klappte.