Ergebnis 1 bis 19 von 19

Thema: Letzte Kommentare ausgeben?

  1. #1
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard Letzte Kommentare ausgeben?

    Guten Tag zusammen,

    gibt es eine Möglichkeit die letzten Kommentare die auf der Homepage erstellt wurden in einem Modul anzeigen zulassen und entsprechend in den Beitrag zu springen?

    Danke
    Preetz

  2. #2
    Contao-Fan Avatar von joe
    Registriert seit
    20.06.2009.
    Ort
    Lüneburg
    Beiträge
    687
    User beschenken
    Wunschliste

    Standard

    Schau dir mal das auflisten Modul in der Contao Demo an http://demo.contao.org/en/applications.html
    Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.

    Mehr unter jgreg.dev

    Follow me on Twitter @JoeRayGregory

  3. #3
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard

    Vielen Dank,

    eine Erweiterung gibt es aber nicht oder?

    Preetz

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Ich nutze dazu den Modultyp Auflistung, in Aktion z.B. hier. Details später.
    Geändert von Samson1964 (21.11.2014 um 20:19 Uhr)
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Modultyp Auflistung

    Abschnitt Modul-Konfiguration:
    Tabelle = tl_comments
    Felder = date,source,parent,name,comment,published
    Sortieren nach = date DESC
    Elemente pro Seite = 50
    (Rest ist leer)

    Das Listentemplate sieht bei mir so aus:
    PHP-Code:
    <div class="<?php echo $this->class?> ce_kommentarliste block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?php echo $this->hl?>><?php echo $this->headline?></<?php echo $this->hl?>>
      <?php endif; ?>

        <?php foreach ($this->tbody as $class=>$row): ?>
            <?php if($row['source']['raw'] == "tl_news" && $row['published']['content'] == 1): ?>
                <?php $comzaehler++; ?>
                <?php ($klasse == "odd") ? $klasse "even" $klasse "odd"?>
                  <div class="<?php echo $klasse?>">
                    <div class="title"><a href="{{news_url::<?php echo $row['parent']['raw']; ?>}}">{{news_title::<?php echo $row['parent']['raw']; ?>}}</a></div>
                    <div class="time"><?php echo date("d.m.Y H:i",$row['date']['raw']); ?> <?php echo $row['name']['raw']; ?></div>
                    <div class="comment"><?php echo $row['comment']['raw']; ?></div>
                  </div>
              <?php endif; ?>
            <?php if($comzaehler == 20) break; ?>
           <?php endforeach; ?>

    </div>
    Ich gebe hier nur 21 Kommentare maximal aus ($comzaehler von 0 bis 20).

    Eine Überprüfung wo die Kommentare stehen, findet bei mir nur hinsichtlich tl_news statt. Bei mir sind das eh nur News, weshalb ich die Links von den beiden Inserttags news_url und news_title generieren lasse.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  6. #6
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard

    Hallo und vielen Dank.
    Das ist ja schon mal super!

    2 Fragen noch. Wie kann ich das Datum richtig ausgeben? Zurzeit sind es nur Zahlen nebeneinander.
    Wie kann ich direkt in den Kommentar bei den News springen (link)?

    Vielen Dank
    Preetz

  7. #7
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard

    Zitat Zitat von Samson1964 Beitrag anzeigen
    Modultyp Auflistung

    Abschnitt Modul-Konfiguration:
    Tabelle = tl_comments
    Felder = date,source,parent,name,comment,published
    Sortieren nach = date DESC
    Elemente pro Seite = 50
    (Rest ist leer)

    Das Listentemplate sieht bei mir so aus:
    PHP-Code:
    <div class="<?php echo $this->class?> ce_kommentarliste block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?php echo $this->hl?>><?php echo $this->headline?></<?php echo $this->hl?>>
      <?php endif; ?>

        <?php foreach ($this->tbody as $class=>$row): ?>
            <?php if($row['source']['raw'] == "tl_news" && $row['published']['content'] == 1): ?>
                <?php $comzaehler++; ?>
                <?php ($klasse == "odd") ? $klasse "even" $klasse "odd"?>
                  <div class="<?php echo $klasse?>">
                    <div class="title"><a href="{{news_url::<?php echo $row['parent']['raw']; ?>}}">{{news_title::<?php echo $row['parent']['raw']; ?>}}</a></div>
                    <div class="time"><?php echo date("d.m.Y H:i",$row['date']['raw']); ?> <?php echo $row['name']['raw']; ?></div>
                    <div class="comment"><?php echo $row['comment']['raw']; ?></div>
                  </div>
              <?php endif; ?>
            <?php if($comzaehler == 20) break; ?>
           <?php endforeach; ?>

    </div>
    Ich gebe hier nur 21 Kommentare maximal aus ($comzaehler von 0 bis 20).

    Eine Überprüfung wo die Kommentare stehen, findet bei mir nur hinsichtlich tl_news statt. Bei mir sind das eh nur News, weshalb ich die Links von den beiden Inserttags news_url und news_title generieren lasse.
    Hallo Frank,

    hast du noch einen Tipp wie ich einen Link zur direkten Weiterleitung zu den News hinbekomme?

    Danke
    Preetz

  8. #8
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Der steht ja hier:
    PHP-Code:
    {{news_url::<?php echo $row['parent']['raw']; ?>}}
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  9. #9
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard

    Hallo Frank,

    bei mir wird einfach kein Link ausgegeben.
    Auch ist bei mir eine Tabellendarstellung.

    Was könnte ich da falsch machen?

    Danke Preetz

  10. #10
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard

    Es gibt doch eine Erweiterung dafür..

    https://contao.org/de/extension-list...mments.de.html

  11. #11
    Contao-Fan
    Registriert seit
    15.12.2011.
    Beiträge
    812

    Standard

    Zitat Zitat von dazzle89 Beitrag anzeigen
    Es gibt doch eine Erweiterung dafür..

    https://contao.org/de/extension-list...mments.de.html
    Aber nur bis zur Version 2. Nicht aber 3.

  12. #12
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard

    Bei mir hat die bei einem Contao 3-Projekt geklappt, mit Autoload.

  13. #13
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    Zitat Zitat von Preetz Beitrag anzeigen
    Hallo Frank,

    bei mir wird einfach kein Link ausgegeben.
    Auch ist bei mir eine Tabellendarstellung.

    Was könnte ich da falsch machen?

    Danke Preetz
    Die HTML-Tabelle ist die Voreinstellung des Moduls Auflistung. Da gibt es keine Verlinkung, sondern nur die tabellarische Auflistung der Datensätze. Nimm Dein eigenes Template (mein Beispiel siehst Du oben), packe noch Dein CSS dazu und schon sieht es fast so aus, wie bei mir.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  14. #14
    Contao-Nutzer
    Registriert seit
    07.04.2010.
    Ort
    Berlin
    Beiträge
    155

    Standard

    Hallo, erstmal vielen Dank an Samson1964 für das Template! Ich hatte ein ähnliches Problem, aber meine Kommentare standen auf statischen Seiten und nicht in Newsbeiträgen. Ich habe daher das Template ein wenig angepasst, so dass nun unter jedem Kommentar ein Link zur entsprechenden Elternseite angezeigt wird:

    HTML-Code:
    <div class="<?php echo $this->class; ?> ce_kommentarliste block"<?php echo $this->cssID; ?><?php if ($this->style): ?> style="<?php echo $this->style; ?>"<?php endif; ?>>
    
      <?php if ($this->headline): ?>
        <<?php echo $this->hl; ?>><?php echo $this->headline; ?></<?php echo $this->hl; ?>>
      <?php endif; ?>
    
      <div class="comment-block">
        <?php foreach ($this->tbody as $class=>$row): ?>
                <?php $comzaehler++; ?>
                <?php ($klasse == "odd") ? $klasse = "even" : $klasse = "odd"; ?>
                  <div class="comment <?php echo $klasse; ?>">
                    <div class="time"><?php echo date("d.m.Y H:i",$row['date']['raw']); ?></div> 
                    <div class="autor"><?php echo $row['name']['raw']; ?></div>
                    <div class="comment"><?php echo $row['comment']['raw']; ?></div>
                    <div class="more"><a href="{{link_url::<?php echo $row['parent']['raw']; ?>}}">Mehr lesen</a></div>
                  </div>
           <?php endforeach; ?>
        </div>
    
    </div>

  15. #15
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    494

    Standard

    Wie könnte ich den die Länge kürzen, auf z.B. 50 Zeichen?

    PHP-Code:
    <div class="comment"><?php echo $row['comment']['raw']; ?></div>

  16. #16
    Contao-Nutzer Avatar von alexgr
    Registriert seit
    01.10.2012.
    Beiträge
    69

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Wie könnte ich den die Länge kürzen, auf z.B. 50 Zeichen?
    Contao selber verwendet in solchen Fällen \StringUtil::substr() – das kürzt allerdings auf die Wörter, die in die Zeichenzahl passen:

    PHP-Code:
    <?php echo \StringUtil::substr($row['comment']['raw'], 50''); ?>
    Dort, wo am Ende nur ein leerer String '' übergeben wird, kannst Du z. B. '…' auch nehmen, damit dieses Zeichen am Ende ergänzt wird.

    Wenn Du wirklich genau 50 Zeichen möchtest, nimmst Du am besten reines PHP:
    PHP-Code:
    <?php echo mb_strimwidth($row['comment']['raw'], 050''); ?>
    Auch hier kannst Du anstelle des leeren Strings '' z. B. '…' übergeben. Dann wird allerdings dieses Zeichen als letztes der 50 Zeichen genommen. Wenn du also 50 Zeichen plus das Zeichen '…' möchtest, musst Du dementsprechend 51 statt 50 übergeben.

  17. #17
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    494

    Standard

    Zitat Zitat von alexgr Beitrag anzeigen
    Contao selber verwendet in solchen Fällen \StringUtil::substr() – das kürzt allerdings auf die Wörter, die in die Zeichenzahl passen:

    PHP-Code:
    <?php echo \StringUtil::substr($row['comment']['raw'], 50''); ?>
    Dort, wo am Ende nur ein leerer String '' übergeben wird, kannst Du z. B. '…' auch nehmen, damit dieses Zeichen am Ende ergänzt wird.
    Top Antwort. Danke genau danach hab ich gesucht

  18. #18
    Contao-Nutzer Avatar von alexgr
    Registriert seit
    01.10.2012.
    Beiträge
    69

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Top Antwort. Danke genau danach hab ich gesucht
    Sehr schön!

    Ergänzung: Wenn man an der letzten Stelle gar nichts übergibt, also
    PHP-Code:
    <?php echo \StringUtil::substr($row['comment']['raw'], 50); ?>
    dann ergänzt Contao von selbst ' …', also mit einem Leerzeichen vor den drei Punkten.

  19. #19
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    494

    Standard

    Nochmal Ergänzung zum Thema falls es jemand benötigt

    Kommentar direkt anspringen:

    Felder = id,date,source,parent,name,comment,published

    Code:
    <a href="{{event_url::<?php echo $row['parent']['raw']; ?>}}#c<?php echo $row['id']['raw']; ?>">Kommentar anzeigen</a>

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •