Zum Inhalt springen

Titel mit userfunc in TT_News- Listenansicht ändern

Erstellt am 25. Februar 2009 · 1 Antwort · letzte Antwort am 26. Februar 2009

Tags: tt_news, PHP, Frage

k.​ito ·

Hallo Leute,
ich versuche in der Listenansicht von tt_news die titel der gelisteten Artikel zu manipulieren. prinzpiell ist das ziel die titel aus den event- angaben von tt_news zusammensetzen. geht das evt. auch rein mit TS? mein ansatz bisher benutzt eine userfunc, die aber leider auch noch nicht korrekt funktioniert:

plugin.tt_news.pidInList = 56
plugin.tt_news {

displayList {

title_stdWrap {
postUserFunc = user_dateHeadline->main

}
}
}

die tt_news- id der seite in der die liste angezeigt werden soll ist also 56.

   <?php
require_once(PATH_tslib.'class.tslib_pibase.php');

class user_dateHeadline {

    function main($content, $conf){
        $res = $this->cObj->getQuery('tt_news', array('pidInList' => '56'));

        $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);    
        
        return $row['tx_mblnewsevent_from'];
     }

}

?>

wenn ich das so aufrufe bekomme ich bei allen artikeln die gleiche ausgabe im titel. nämlich tx_mblnewsevent_from des ersten artikels.

mir fehlt warscheinlich eine where abfrage. habe schon viel recherchiert. bin aber leider auf nicht gestoßen was mir helfen konnte.

k.​ito ·

habs nach etwas überlegung doch hinbekommen. hier die lösung für alle dies interessiert:

<?php
require_once(PATH_tslib.'class.tslib_pibase.php');

class user_dateHeadline {

	function main($content, $conf){
		
		$res = $this->cObj->exec_GETQuery('tt_news', array('pidInList' => $conf['list'], 'where' => 'title ="' . $content. '"'));
		$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
		if(!$row['tx_mblnewsevent_isevent']){	
			return $content;
		}
		else{
			$d1 = date("d.M y", $row['tx_mblnewsevent_from']);
			if($row['tx_mblnewsevent_to']){
				$d2 = date("d.M y", $row['tx_mblnewsevent_to']);
				$d1 = substr($d1, 0, 3) . '&thinsp;&ndash;&thinsp;' . $d2;
			}
			$place = $row['tx_mblnewsevent_where'];
			$arr = split("\|", $place);
			return $d1 . ' / ' . ' @ ' . $arr[0] . ' / ' . $arr[1];
		}

	}

}


?>