Ich mach noch deine Formular-Idee rein und dann landet ne neue Version im ER.
Der gesamte Thread sollte Nachrichtenliste mit Kommentar... heissen. Mmmhh...
Danke. Bin aber über Ostern erstmal off.
Gruß und noch einmal Danke!
Preetz
Hi,
so die neue Version ist im ER:
Hat sich einiges getan. :)
http://www.contao.org/de/extension-l...000009.de.html
Have fun.
? Hab direkt die Vorgaben übernommen. So hat es das System automatisch angezeigt. ?!
Jetzt passt die Versionszuordnung wieder und die Erweiterung taucht auch im Erweiterungskatalog auf.
Hi Tim und Danke für die Änderungen.
Es fehlt noch die Sortiermöglichkeit für die Kommentare.
Sonst sieht es schon ganz gut aus!
Ich werde für mich aber wohl eher mein EFG Formular zum senden der neuen Nachricht nehmen, da ich irgendwann auch Bilder hochladen lassen möchte.
Achso, das Accordeon müsste noch eine eigene Klasse bekommen, wenn es aktiv ist, damit man dieses ausblenden kann.
Danke Preetz!
Wonach sortieren? Absteigend/aufsteigend?
Eigentlich reicht ja das Neuste oben.
Das Formular ist recht schnell ausgebaut. Ich bau es irgendwann mal wie Facebook aus, zum Durchschalten etc.
Aufträge haben gerade Vorrang.
Bei mir ist das älteste immer oben und das neuste immer unten. Liegt es an mir?
Außerdem habe ich das Problem, dass der Text: "Schreibe einen Kommentar ..." nicht verwindet, wenn ich in das Feld klicke, außer es ist bereits ein oder merere Kommentare vorhanden. Mache ich da etwas falsch oder ist das ein Bug?
Danke
Preetz
Sortierung ergänzt.
Das moo_ Template habe ich auch geändert und mit dem neuen accordion ergänzt.
Den Fehler bei "Schreibe einen Kommentar... " kann ich nicht nachvollziehen.
Super, danke!
Super, habs jetzt noch einmal etwas genauer betrachtet. Machst wirklich tolle Arbeit.
Vielleicht hast du ja irgendwann mal Lust und Zeit auch das Profil Avatar zuladen ;-)
Danke
Preetz
Avatare sind drin.
Zusätzlich kann man noch die Größe überschreiben lassen.
Datenbank aktualisierungen und ggf. die alten Templates erneuern, da für die Avatare ein neues HTML Element dazugekommen ist.
Viele Grüße,
Tim
ps. die avatare beziehen sich auf die gleichnamige Erweiterung [avatar]
Du bist echt ne Wucht!
Hi, kann es sein, dass er nur den 1. Kommentar mit Avatar anzeigt?
Hmm, bei mir aber leider nicht :-(
Template ist erneuert?
Mal ganz blöd gefragt :)
Haste auch mal mehr als einen Kommentar mit dem gleichen User innerhalb des gleichen News-Beitrags abgegeben? Bzw. hat der User hier einen Avatar hinterlegt?
Ich habe das Template etwas angepasst, da ich auch die News-Gallerie mit eingebunden habe. Vielleicht liegt es ja wirklich an meiner Arbeit:
PHP-Code:
<div class="layout_latest layout_newslistcomments block<?php echo $this->class; ?>">
<!--<h1><?php echo $this->newsHeadline; ?></h1>-->
<?php if ($this->hasMetaFields): ?>
<?php endif; ?>
<?php if ($this->hasSubHeadline): ?>
<h2><?php echo $this->subHeadline; ?></h2>
<?php endif; ?>
<p class="buschfunk_datum"><time datetime="<?php echo $this->datetime; ?>"><?php echo $this->date; ?></time> <?php echo $this->author; ?> <?php echo $this->commentCount; ?></p>
<div class="ce_text">
<?php if (!$this->addBefore): ?>
<?php echo $this->text; ?>
<?php endif; ?>
<?php if ($this->addImage): ?>
<figure class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
<?php if ($this->href): ?>
<a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
<?php endif; ?>
<img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>">
<?php if ($this->href): ?>
</a>
<?php endif; ?>
<?php if ($this->caption): ?>
<figcaption class="caption"><?php echo $this->caption; ?></figcaption>
<?php endif; ?>
</figure>
<?php endif; ?>
<?php if ($this->addBefore): ?>
<?php echo $this->text; ?>
<?php endif; ?>
</div>
<?php if ($this->enclosure): ?>
<div class="enclosure">
<?php foreach ($this->enclosure as $enclosure): ?>
<p><img src="<?php echo $enclosure['icon']; ?>" width="18" height="18" alt="<?php echo $enclosure['mime']; ?>" class="mime_icon"> <a href="<?php echo $enclosure['href']; ?>" title="<?php echo $enclosure['title']; ?>"><?php echo $enclosure['link']; ?> <span class="size">(<?php echo $enclosure['filesize']; ?>)</span></a></p>
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
<?php if ($this->addGallery):
$objGallery = new NewsGallery($this);
echo $objGallery->generate();
endif; ?>
<!-- comments block // start -->
<?php if($this->limit == 0) $this->limit = $this->total; ?>
<?php if($this->comments): ?>
<div class="commentslist block" id="commentslist<?php echo $this->id; ?>">
<div class="commentshead"><span class="new_comment" style="cursor:pointer;" onclick="">Kommentieren</span></div>
<?php for($i = 0; $i < $this->limit; $i++): ?>
<?php $comment = $this->comments[$i]; if(!$comment) continue; ?>
<div class="comment <?php echo $class; ?> item<?php echo $i+1; ?>">
<div class="info">
<span class="name"><?php echo $comment['name']; ?><br /></span>
<?php if($comment['avatar']): ?><span class="avatar"><img src="<?php echo $comment['avatar']; ?>" title="<?php echo $comment['name']; ?>" alt="<?php echo $comment['name']; ?>" /></span><?php endif; ?>
<?php if($comment['website']): ?><a href="<?php echo $comment['website']; ?>" class="website"><?php echo $comment['website']; ?></a><?php endif; ?>
</div>
<div class="text"><?php echo $comment['comment']; ?></div>
<div class="timestamp"><span class="time"><?php echo $comment['time']; ?></span>[nbsp]·[nbsp]<span class="time"><?php echo $comment['time_elapsed']; ?></span></div>
<?php if($comment['remove_link']): ?><div class="remove"><a href="<?php echo $comment['remove_link']; ?>"><?php echo $GLOBALS['TL_LANG']['newslistcomments']['delete']; ?></a><span class="time_remaining">(<?php echo $comment['time_remaining']; ?>)</span></div><?php endif; ?>
</div>
<?php endfor; ?>
<?php if($this->limit != 0 && $this->limit < $this->total): ?>
<!-- comments accordion // start -->
<div class="ce_accordion ce_newscomments_accordion">
<div class="newscomments_toggler" style="cursor:pointer;">Alle Kommentare anzeigen</div>
<div class="newscomments_accordion">
<?php for($i = $this->limit; $i <= $this->total; $i++): ?>
<?php $comment = $this->comments[$i]; if(!$comment) continue; ?>
<div class="comment <?php echo $class; ?> item<?php echo $i+1; ?>">
<div class="info">
<span class="name"><?php echo $comment['name']; ?></span>
<?php if($comment['website']): ?><a href="<?php echo $comment['website']; ?>" class="website"><?php echo $comment['website']; ?></a><?php endif; ?>
</div>
<div class="text"><?php echo $comment['comment']; ?></div>
<div class="timestamp"><span class="time"><?php echo $comment['time']; ?></span>[nbsp]·[nbsp]<span class="time"><?php echo $comment['time_elapsed']; ?></span></div>
<?php if($comment['remove_link']): ?><div class="remove"><a href="<?php echo $comment['remove_link']; ?>"><?php echo $GLOBALS['TL_LANG']['newslistcomments']['delete']; ?></a><span class="time_remaining">(<?php echo $comment['time_remaining']; ?>)</span></div><?php endif; ?>
</div>
<?php endfor; ?>
</div>
</div>
<!-- comments accordion // end -->
<?php endif; ?>
<!-- comments block // end -->
<?php endif; ?>
<?php if( ($this->allowComments && $this->loggedIn) || $this->allowAll ): ?>
<!-- comments form // start -->
<!-- indexer::stop -->
<div class="form form_newscomments">
<form action="<?php echo $this->Environment->request; ?>" id="<?php echo 'com_form_newscomment' . $this->id; ?>" name="<?php echo 'com_form_newscomment' . $this->id; ?>" method="post">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="<?php echo 'com_form_newscomment' . $this->id; ?>" />
<span class="widget">
<input type="text" class="text" value="<?php echo $GLOBALS['TL_LANG']['newslistcomments']['comment_default']; ?>" name="NEW_COMMENT" />
</span>
<span class="submit_container">
<input type="submit" onclick="" class="submit" name="<?php echo $GLOBALS['TL_LANG']['newslistcomments']['submit']; ?>" value="<?php echo $GLOBALS['TL_LANG']['newslistcomments']['submit']; ?>" />
</span>
</div>
</form>
</div>
<!-- indexer::continue -->
<!-- comments form // end -->
<?php endif;?>
</div><!-- comments blocks // end -->
</div>
Nö, am Template sollte es nicht liegen.
Der Avatar kommt als url in $comment['avatar'] rein.
Ich denke hier fehlt einfach der Avatar für den User bzw. der ist fehlerhaft oder der User war nicht angemeldet.
ODER:
der holt sich nicht den Avatar, weil event. der Username in der Datenbank kleingeschrieben gespeichert wird, hier aber großgeschrieben erscheint.
Muss ich mal testen, aber eigentlich nimmt er strikt den Usernamen, aus dem inserttag {{user::username}}
--> ach nee, kann auch nicht sein. dann würde er ja den ersten auch nicht holen.
Ich bin ein und der selbe ;-)
Mmhhh...
Bei mir klappts ganz normal.
Komisch ist, dass im Firebug vom 2 Avatar nicht mehr steht.
ich habe jetzt die CSS-Dateien mal rausgenommen, das Template ebenfalls gelöscht und das Standart genommen, aber ich bekomme nach dem 1. Avatar keine weiteren mehr angezeigt.
Probier mal hiermit:
Sollte eigentlich das gleiche im ER sein, aber man weiss ja nie.
Ist nur die Hauptklasse, aber da scheint es die Probleme zu geben.
Ich bin jetzt erstmal im Auto zurück nach Berlin,
Viel Erfolg
Danke Tim, aber hat sich nix geändert.
Kommst du an die Datenbank ran?
Schau mal was bei tl_members im Feld "avatar" steht für deinen User.
Da speichert die Avatar Erweiterung den Pfad zum Bild.
Und was im Feld username steht. Das sollte ja Christian sein.
Ja, ist alles so, wie es sein soll Pfad: "tl_files/avatars/member_3.jpg"
Beim 1. Kommentar wird ja mein Avatar noch angezeigt. Nur danach nicht, also ab dem 2. Kommentar.
dito! Ebenfalls 2.11.2. Willst du mal Zugangsdaten haben?
Hi Tim,
habe noch einmal eine Frage.
Wie kann ich die Kommentare von "Heute" farblich hervorheben?
Preetz
Ich könnte bzw. werde noch ein paar mehr Informationen für jeden Kommenatr im raw-Format mitschicken. Da werde ich dann auch den jeweiligen unix Zeitstempel schicken.
Ausserdem werde ich noch ein paar css-Klassen generieren lassen.
Sowas wie: .lastHour, .today, .yesterday, .lastWeek, .lastMonth, .lastYear
Könnte man zwar alles im Template machen, aber das ist schon recht voll. Mit dem Zeitstempel kann man das ja immer noch, wenn man will. :)
Mach ich sobald wie möglich. wird wahrscheinlich erst morgen früh was.
Hast du ne Ahnung, wie man die Benachrichtigung bei neuen Kommentaren auf die PM umlenken kann?
So, neue Version im ER:
Jetzt kommen folgende Klassen mit, entsprechend des Zeitstempels des Kommentars:
'justAdded': Zeit + Zeit zum Löschen (hier könnte man noch ein extra Feld im BE spendieren.)
lastMinute, lastHour, thisMinute, thisHour, today,thisMonth,thisYear
Ausserdem: even, odd
Wer seine templates manuell updaten möchte:
In der foreach-Schleife: (Zeile: 37, 56 im Original)
--PHP-Code:
<div class="comment <?php echo $class; ?> item<?php echo $i+1; ?> <?php echo $comment['class']; ?>">
Checkt mal ob bei Euch auch die Zeit 2 Stunden zu spät läuft. Bei mir ist das gerade so, obwohl alles direkt durch php läuft.
Danke! Ja ist bei mir auch der Fall. Außerdem ist unter dem letzten Kommentar immer ein Punkt.
Ja, sehe schon. Blöder Schnitzer. Ist ausgebessert. Waren auch noch ein paar andere Kleinigkeiten.
Aber warum die Zeit zwei Stunden versetzt ist??? Selbst mit Sommerzeit-/Winterzeitdifferenz wäre es maximal eine Stunde.
Der Zeitstempel aus der Datenbank geht direkt in die date() Funktion von PHP zum umformatieren und der neue Eintrag kriegt direkt mit time() die Zeit als Stempel. Das lässt auf Systemzeit schließen, aber die kann doch nicht bei uns beiden falsch sein.
Krass. Der Zeitstempel ist richtig. Habs mit irgendeinem online unix Umrechner zustätzlich getestet. Lasse ich den aber durch die php date() Funktion leserlich formatieren, ist die Uhrzeit 2 Stunden zurück.???!!!
Ahh, der nimmt die Greenwich-Zeit.
Nachtrag: In den Systemeinstellungen auf Central European also CET stellen. :) Hab ich noch nie gebraucht vorher :)
Nach dem Update habe ich jetzt folgende Fehlermeldung:
PHP-Code:
Fatal error: Could not load class FB in /kunden/324519_24116/u5/system/functions.php on line 104
#0 /kunden/324519_24116/u5/system/functions.php(104): __error(256, 'Could not load ...', '/kunden/324519_...', 104, Array)
#1 /kunden/324519_24116/u5/system/modules/newslistcomments/NewslistComments.php(172): __autoload('Could not load ...', 256)
#2 /kunden/324519_24116/u5/system/modules/news/ModuleNews.php(212): NewslistComments->parseArticlesHook('FB')
#3 /kunden/324519_24116/u5/system/modules/news/ModuleNewsList.php(162): ModuleNews->parseArticles(Object(FrontendTemplate), Array, Object(ModuleNewsList))
#4 /kunden/324519_24116/u5/system/modules/frontend/Module.php(140): ModuleNewsList->compile(Object(DB_Mysql_Result))
#5 /kunden/324519_24116/u5/system/modules/news/ModuleNewsList.php(77): Module->generate()
#6 /kunden/324519_24116/u5/system/modules/frontend/ContentModule.php(72): ModuleNewsList->generate()
#7 /kunden/324519_24116/u5/system/libraries/Controller.php(511): ContentModule->generate()
#8 /kunden/324519_24116/u5/system/modules/frontend/ModuleArticle.php(194): Controller->getContentElement()
#9 /kunden/324519_24116/u5/system/modules/frontend/Module.php(140): ModuleArticle->compile('316')
#10 /kunden/324519_24116/u5/system/modules/frontend/ModuleArticle.php(71): Module->generate()
#11 /kunden/324519_24116/u5/system/libraries/Controller.php(443): ModuleArticle->generate()
#12 /kunden/324519_24116/u5/system/libraries/Controller.php(307): Controller->getArticle(false)
#13 /kunden/324519_24116/u5/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('89', false, false, 'main')
#14 /kunden/324519_24116/u5/index.php(266): PageRegular->generate('0', 'main')
#15 /kunden/324519_24116/u5/index.php(401): Index->run(Object(DB_Mysql_Result))
#16 {main}
Ach mist, da ist noch irgendwo ein FirePHP Aufruf.
FB::
Wenns mal schnell gehen muss... :)
Zeile: 172
Ich update das ER