Zum Inhalt springen

Erweiterung tt_news

Erstellt am 7. Juni 2011 · 3 Antworten · letzte Antwort am 7. Juni 2011

Tags: tt_news, Frage

Coreblade ·

Hallo zusammen

Ich bin am verzweifeln... Ich bin neu in Typo3 und muss tt_news erweitern.
Dies habe ich anhand http://www.thomas-hirt.at/blog/detailansicht/datum/2010/12/13/tt-news-um-ein-feld-mit-rte-erweitern-und-links-ermoeglichen.html gemacht. Nun wird aber das Datum als int ausgegeben, da der Kickstarter in der DB int(11) Felder gemacht hat. Nun weis ich nicht wo und wie ich das umformatieren muss.

Im Anhand ist meine Dateistruktur zu sehen. Sorry wenn ich mühsam bin. Aber komme alleine leider nicht mehr weiter...

Gruss Coreblade

Struktur.jpg

vince ·

Hallo,

Das Datum wird (wahrscheinlich) als UNIX timestamp gespeichert.

Umformatieren (für's Front-End):

Wie: z.B. mit der php methode date()

Wo: da wo der entsprechende Marker mit dem Datum gefüllt wird (keine Ahnung wo genau das ist)

für die Darstellung im BE: kann man im tca array einstellen

Gruß,

Vince.

Coreblade ·

Hallo Vince

Danke für Deine Antwort. Habe nun folgenden Code, welcher funktioniert. Allerdings habe ich noch eine weitere Frage: Wie mache ich eigene Labels? Habe die locallang.xml von tt_news angepasst. Gibt es eine bessere möglichkeit für neue Marker bzw. Labels?

<?php
class tx_ttnewsagenda_marker {
    function extraItemMarkerProcessor($markerArray, $row, $lConf, $obj) {
        $markerArray['###NEWS_STARTDATE###'] = date("d.m.Y", nl2br($obj->local_cObj->stdWrap($row['tx_ttnewsagenda_startdate'], $lConf['tx_ttnewsagenda_startdate_stdWrap.'])));
		$markerArray['###NEWS_ENDDATE###'] = date("d.m.Y", nl2br($obj->local_cObj->stdWrap($row['tx_ttnewsagenda_enddate'], $lConf['tx_ttnewsagenda_enddate_stdWrap.'])));
		$markerArray['###NEWS_DURATION###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewsagenda_duration'], $lConf['tx_ttnewsagenda_duration_stdWrap.']));
		$markerArray['###NEWS_PLACE###'] = nl2br($obj->local_cObj->stdWrap($row['tx_ttnewsagenda_place'], $lConf['tx_ttnewsagenda_place_stdWrap.']));
		
		If (strlen($markerArray['###NEWS_ENDDATE###']) > 0){
			$markerArray['###NEWS_ENDDATE###'] = "&#8211 " . $markerArray['###NEWS_ENDDATE###'];
		}
		Else{
			$markerArray['###NEWS_ENDDATE###'] = "";
		}
		$markerArray['###TEXT_PLACE###'] = $obj->pi_getLL('textPlace') ;
		$markerArray['###TEXT_DURATION###'] = $obj->pi_getLL('textDuration') ;
		$markerArray['###TEXT_DESC###'] = $obj->pi_getLL('textDesc') ;
		$markerArray['###TEXT_MORE###'] = $obj->pi_getLL('textMore') ;
				
        return $markerArray;
    }
}
?>

Gr. Coreblade

vince ·

Hallo,

Um die Lables in verschiedenen Sprachen zu haben sind mir 2 Methoden bekannt:

- locallang und die Labels als Marker (so wie Du es gemacht hast)

- oder je nach Sprache eine andere Template-datei auswählen.

Ich weiß nicht, was von beiden besser ist.

Gruß,

Vince.