Zum Inhalt springen

Seitentitel (mehrsprachig) anhand von pid ermitteln

Erstellt am 28. Juli 2008 · 5 Antworten · letzte Antwort am 28. Juli 2008

Tags: PHP, Frage

dyne ·

Ich möchte anhand der PageID den Titel der Seite ermitteln in Abhängigkeit von der gewählten Sprache.
Es soll aber kein Link gesetzt werden.
Ich weiß ja, dass man per typolink-Eigenschaft returnLast auch nur die url zurückgeben lassen kann.
Gibt es auch die umgekehrte Möglichkeit nur den Titel ohne <a>-Tag zu holen?

Edit: Ich rede übrigens von PHP und nicht von TS.

einpraegsam.​net ·

Ich bin mir nicht ganz sicher, aber ich könnte mir vorstellen, dass der Seitentitel im TSFE Array steht.

Alternativ kann man diesen natürlich über eine SELECT Abfrage aus der Datenbank holen

dyne ·

Es geht nicht um den aktuellen Seitentitel sondern um einen beliebigen anhand einer pid. Also fällt TSFE schon mal weg.

Die momentane Lösung liest einfach aus der pages-Tabelle den titel aus, das berücksichtigt aber nicht die Mehrsprachichkeit. Ich habe das One-Tree-Fits-All-Languages-Prinzip umgesetzt. Eine Pid hat also über die Sprachen gesehen mehrere Titel.

Da typolink eigentlich auch immer den richtigen Titel ermittelt, hatte ich auf eine geschickte Lösung gehofft.

Dann versuch ich mal den Titel über DB-Anfragen an pages und pages_language_overlay herauszubekommen.

dyne ·

Lösung ohne SQL-Injection:

<?
$gp = t3lib_div::_GP($this->prefixId);
$tmp['pid'] = intval($gp['backPid']);
$tmp['L'] = intval(t3lib_div::GPvar('L'));
if($tmp['L']>0){
  $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('title','pages_language_overlay','pid = '.$tmp['pid'].' AND sys_language_uid = '.$tmp['L']);
}else{
  $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('title','pages','uid = '.$tmp['pid']);
}
$trow = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
$markerArray['###BACKPAGE###'] = $trow['title'];
?>

Danke Georg

just2b ·

das andere posting hab ich gelöscht, das braucht erst gar nicht weiter zu existieren.

lg georg
PS: thread auf gelöst setzen übernehm ich, sonst bitte selber machen