Hallo,
ich lasse in meinem Template die "Related News" wie gewohnt anzeigen. Wenn es keine Related News gibt, soll stattdessen die Zusammenfassung angezeigt werden. Wie bekomme ich das hin?
Ich habe es schon folgendermaßen versucht:
related_stdWrap.ifEmpty.field = short
DANKE
Vielleicht, geht das standardmäßig über TS ja gar nicht …?
Ich habe in meiner Datei "EXT:tt_news/pi/class.tx_ttnews.php" circa aber Zeile 1684 folgendes erweitert:
if ($this->isRenderMarker('###TEXT_RELATED###') || $this->isRenderMarker('###NEWS_RELATED###')) {
$relatedNews = $this->getRelated($row['uid']);
if ($relatedNews) {
$rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['related_stdWrap.']['wrap']);
$markerArray['###TEXT_RELATED###'] = $rel_stdWrap[0] . $this->local_cObj->stdWrap($this->pi_getLL('textRelated'), $this->conf['relatedHeader_stdWrap.']);
$markerArray['###NEWS_RELATED###'] = $relatedNews . $rel_stdWrap[1];
// START ZUSATZ
} else {
$markerArray['###TEXT_RELATED###'] = "-no-related-text-";
$markerArray['###NEWS_RELATED###'] = "-no-related-news-";
// ENDE ZUSATZ
}
}
Wenn keine Related News vorhanden sind, werden jetzt zumindest schon meine beiden Textpassagen gerendert.
Vielleicht kann man diesen Text jetzt mit TS via if.equal oder so abfangen und dafür die Zusammenfassung (short) einsetzen?
Ist das ein Ansatz?
plugin.tt_news.getRelatedCObject.10.default {
30 = TEXT
30 {
field = title
stdWrap.if.equals = -no-related-text-
}
}
Ich habe mir jetzt mit einem Workaround geholfen: Ich habe die Abfrage, ob es Related News gibt, und die entsprechende Reaktion darauf direkt in der PHP-Klasse "EXT:tt_news/pi/class.tx_ttnews.php" geändert:
// get related news
if ($this->isRenderMarker('###TEXT_RELATED###') || $this->isRenderMarker('###NEWS_RELATED###')) {
$relatedNews = $this->getRelated($row['uid']);
if ($relatedNews) {
$rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['related_stdWrap.']['wrap']);
$markerArray['###TEXT_RELATED###'] = $rel_stdWrap[0] . $this->local_cObj->stdWrap($this->pi_getLL('textRelated'), $this->conf['relatedHeader_stdWrap.']);
$markerArray['###NEWS_RELATED###'] = $relatedNews . $rel_stdWrap[1];
// START ZUSATZ
} else {
// Wenn keine Related News vorhanden sind, soll die Zusammenfassung angezeigt werden.
$markerArray['###TEXT_RELATED###'] = "";
$markerArray['###NEWS_RELATED###'] = $this->hObj->cleanXML($this->local_cObj->stdWrap($row['short'], $lConf['subheader_stdWrap.']));
// ENDE ZUSATZ
}
}