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
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
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
Vielen Dank,
eine Erweiterung gibt es aber nicht oder?
Preetz
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
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:
Ich gebe hier nur 21 Kommentare maximal aus ($comzaehler von 0 bis 20).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>
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
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
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
Hallo Frank,
bei mir wird einfach kein Link ausgegeben.
Auch ist bei mir eine Tabellendarstellung.
Was könnte ich da falsch machen?
Danke Preetz
Es gibt doch eine Erweiterung dafür..
https://contao.org/de/extension-list...mments.de.html
Bei mir hat die bei einem Contao 3-Projekt geklappt, mit Autoload.
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
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>
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>
Contao selber verwendet in solchen Fällen \StringUtil::substr() – das kürzt allerdings auf die Wörter, die in die Zeichenzahl passen:
Dort, wo am Ende nur ein leerer String '' übergeben wird, kannst Du z. B. '…' auch nehmen, damit dieses Zeichen am Ende ergänzt wird.PHP-Code:
<?php echo \StringUtil::substr($row['comment']['raw'], 50, ''); ?>
Wenn Du wirklich genau 50 Zeichen möchtest, nimmst Du am besten reines PHP:
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.PHP-Code:
<?php echo mb_strimwidth($row['comment']['raw'], 0, 50, ''); ?>
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 in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen