ifEmpty & related_stdWrap [Gelöst]

  • johanness johanness
    Jedi-Ratsmitglied
    0 x
    916 Beiträge
    0 Hilfreiche Beiträge
    16. 02. 2010, 23:20

    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:
    [TS]related_stdWrap.ifEmpty.field = short
    [/TS]

    DANKE


  • 1
  • johanness johanness
    Jedi-Ratsmitglied
    0 x
    916 Beiträge
    0 Hilfreiche Beiträge
    16. 02. 2010, 23:42

    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:

    1. if ($this->isRenderMarker('###TEXT_RELATED###') || $this->isRenderMarker('###NEWS_RELATED###')) {
    2. $relatedNews = $this->getRelated($row['uid']);
    3. if ($relatedNews) {
    4. $rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['related_stdWrap.']['wrap']);
    5. $markerArray['###TEXT_RELATED###'] = $rel_stdWrap[0] . $this->local_cObj->stdWrap($this->pi_getLL('textRelated'), $this->conf['relatedHeader_stdWrap.']);
    6. $markerArray['###NEWS_RELATED###'] = $relatedNews . $rel_stdWrap[1];
    7.  
    8. // START ZUSATZ
    9. } else {
    10. $markerArray['###TEXT_RELATED###'] = "-no-related-text-";
    11. $markerArray['###NEWS_RELATED###'] = "-no-related-news-";
    12. // ENDE ZUSATZ
    13. }
    14. }

    Wenn keine Related News vorhanden sind, werden jetzt zumindest schon meine beiden Textpassagen gerendert.

    [b]Vielleicht kann man diesen Text jetzt mit TS via if.equal oder so abfangen und dafür die Zusammenfassung (short) einsetzen?[/b]

    Ist das ein Ansatz?
    [TS]plugin.tt_news.getRelatedCObject.10.default {

    30 = TEXT
    30 {
    field = title
    stdWrap.if.equals = -no-related-text-
    }

    }
    [/TS]

  • johanness johanness
    Jedi-Ratsmitglied
    0 x
    916 Beiträge
    0 Hilfreiche Beiträge
    19. 02. 2010, 10:13

    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:

    1. // get related news
    2. if ($this->isRenderMarker('###TEXT_RELATED###') || $this->isRenderMarker('###NEWS_RELATED###')) {
    3. $relatedNews = $this->getRelated($row['uid']);
    4. if ($relatedNews) {
    5. $rel_stdWrap = t3lib_div::trimExplode('|', $this->conf['related_stdWrap.']['wrap']);
    6. $markerArray['###TEXT_RELATED###'] = $rel_stdWrap[0] . $this->local_cObj->stdWrap($this->pi_getLL('textRelated'), $this->conf['relatedHeader_stdWrap.']);
    7. $markerArray['###NEWS_RELATED###'] = $relatedNews . $rel_stdWrap[1];
    8.  
    9. // START ZUSATZ
    10. } else {
    11. // Wenn keine Related News vorhanden sind, soll die Zusammenfassung angezeigt werden.
    12. $markerArray['###TEXT_RELATED###'] = "";
    13. $markerArray['###NEWS_RELATED###'] = $this->hObj->cleanXML($this->local_cObj->stdWrap($row['short'], $lConf['subheader_stdWrap.']));
    14. // ENDE ZUSATZ
    15. }
    16. }

  • 1