dito! Ebenfalls 2.11.2. Willst du mal Zugangsdaten haben?
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
Danke!
Wie kann ich die Usernamen mit der memberlist verlinken?
memberlist hab ich noch nie genutzt.
Ich werds morgen mal installieren. Ich nehme an, man muss einen Link generieren, der zu einem Leser-Modul führt, das auf den Benutzernamen reagiert.
Ja du musst eine Seite anlegen die memberlist heißt. Wenn man dann entsprechend auf einen Profillink klickt, dann schickt er dich zur Seite mittels der ID des Users.
Mir ist gerade aufgefallen, dass ein Standard-Avatar gar nicht angezeigt wird, wenn jemand kein eigenes hinterlegt hat. Mache ich da was falsch? Ich meinte du hattest das schon irgendwie berücksichtigt ...
Nö, ich nicht :)
Aber geht im template z.B ganz simpel mit einem {{image::FILE}} inserttag, falls die Abfrage nach dem Avatar scheitert.
Ich kann noch ne Dateiauswahl im Modul betreitstellen.
Memberlist schau ich mir an und generiere die links.
Mach ich in einer ruhigen Minute morgen, wenn ich es schaffe.
Grüße,
Tim
So, hab memberlist und Persönliche Daten angelegt.
Memberlist gibt mir keine Detailseite zu einem öffentlichen Profil, oder mach ich hier was falsch? Das ist nur ne Auflistung von Datensätzen.
Mit dem anhängen vonsolltest du die Detailinfos bekommen. Wie das genau läuft weiß ich aber nicht.PHP-Code:
?show=ID
Neue Version im ER
kurzer changelog:
added: database fields for default avatar selection, jump To page
modified: getAvatar returns the whole html element. Either an <img> or an anchor with an image wrapped in
modified: templates to handle new avatar return
added: new language string for jump to link
Der Avatar kommt jetzt als vorgeneriertes HTML Element rein. Wenn es den User gibt und wenn eine Detailseite gewähl ist, wird automatisch der Anchor um das Bild gesetzt.
Das macht vieles übersichtlicher im Template.
Ich hab die Zeile bereits in den online templates geändert. Hier noch für manuell:
Wer den Text ändern möchte, einfach in die localconfig.php ergänzen.PHP-Code:
<?php if($comment['avatar']): ?><span class="avatar"><?php echo $comment['avatar']; ?></span><?php endif; ?>
Der Platzhalter wird mit dem realen Namen des Users ergänzt, fall eingetragen.PHP-Code:
$GLOBALS['TL_LANG']['newslistcomments']['jumpTo'] = "Sieh Dir %s's Profil an.";
Grüße,
Tim
Hi Tim,
so ganz klappt es bei mir noch nicht. Kannst du mal schauen:
ja, fehlte noch der fallback für users, die keinen Avatar haben. Nicht nur für unbekannte.
Habs im ER geupdated.
Du bist ne wucht ;-)
Hi Tim,
habe mir jetzt deine MassageBox auch einmal angeguckt. Mir ist ausgefallen, dass nirgends der Verfasser gespeichert wird. Somit weiß man ja gar nicht von wem die Nachricht kommt.
Oder habe ich da etwas übersehen?
Preetz
Eigentlich nicht.
Der Author einer Nachricht in Contao ist ein BE User. Wir würden hier FE User zu BE Usern machen. Bin mir nicht sicher ob das nicht vom System beim späteren editieren als Fehler interpretiert wird, da es den BE User nicht findet.
Probiers doch mit deinem eigenen Formular mal aus.
Falls alles gut geht kann man es immer noch übernehmen.
Zurzeit trage ich die User einfach mittels inserttag in die Subheadline und gebe diese dann nachher aus.
Auch ich habe keine wirklich Lösung gefunden die Mitglieder zu Benutzern zu machen.
Es gibt zwar ne ext. aber die habe ich noch nicht probiert.
Denkbar wäre ja auch sonst, dass wir das Nachrichten Modul klonen?!
Was meinst du mit Nachrichten Modul klonen?
- Du meinst die ganze newslistcomments als eigenes Modul abkapseln? Klar, ginge das. Aber das wäre mir zuaufwendig und FB nachbauen wollte ich auch nicht ganz :)
Was genau macht die andere Erweiterung?
Ich meine, klar könnte man einfach im gleichen Zug einen BE User anlegen und ein PW vergeben, aber man würde sich da eigentlich die Datenbank vollkleistern mit Usern, die eigentlich keiner im BE will.
Ich könnte mir nur noch vorstellen die tl_news um ein Feld für FE-User als Authoren zu erweitern und das SELECT für die normalen Authoren nicht als Pflichtfeld zu setzen.
Hi Tim,
wäre es möglich Youtube-Links automatisch umzuwandeln und dann direkt anzeigen zulassen mit Vorschlaubild vom Video?
Christian
Möglich ist sicher alles, aber ich habe zur Zeit nicht die Kapazitäten das parallel zu leisten.
Sorry
Sent from my iphone using Tapatalk
Hallo zusammen,
habe die extension gerade einmal aus spaß probieren wollen und bekomme folgenden Fehler.
Das alles mit contao Version 2.11.3Zitat:
Invalid request token!
The request token could not be verified. Please go back and try again.
This error occurres if there is a POST request without a valid authentication token. In Contao 2.10, the referer check has been replaced with a request token system. If the problem persists, you are maybe using an incompatible third-party extension or have not correctly updated your Contao installation.
Die Extension wird ansonsten einwandfrei angezeigt.
LG
Schau mal im Template, im Formular ggf. dort den Request-Token inserttag ergänzen.
Danke für den Tipp,
dies wird wohl die besagte Stelle im Template sein.
Wenn du jetzt noch so nett bist und mir sagst was du direkt mit dem token tag meinst :)Code:<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">
Einfach ein hidden Field mitschicken:
<input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}" />
Mich nervt der Request token immer, weil man die Seite nicht neuladen kann, ohne dass dieser Fehler kommt. Jeder User denkt sofort er hätte den schlimmsten Fehler gemacht und schließt die Seite.
Dann lieber zweimal das Formular feuern, als diesen Fehler zu bekommen. :)
Hallo,
also das mit request token funktioniert jetzt einigermaßen, er leitet beim ersten kommentar immer auf eine Seite weiter wo das kommentar als eigenständige Nachricht angezeigt wird :/
Egal, damit kann ich leben.
Aber wie bekommt man denn das accordion ans laufen? Bei mir tut sich da garnichts.
Die Standart mootools accordion funktionieren hingegen problemlos.
Angemerkt sei, ich nutze jquery & mootools. Habe allerdings bis dato keine probleme gehabt.
Desweiteren habe ich noch eine Frage,
ist es so gewollt dass man in der Nachricht an sich "kommentare deaktivieren" auswählen muss, damit die standart contao kommentarfunktion nicht erscheint.
Denn wenn ich diese ausstelle, zeigt er oben neben dem Autor etc. auch nicht mehr die gesamtanzahl der Kommentare an :(
########## vorerst erledigt ############
Hat vlt. auch noch jemand einen Tipp wie man die ganze Geschichte ordentlich mit css ansprechen kann?
Die div id ist ja immer commentslist1 commentslist2 und so weiter, je nach dem wie viele Newsbeiträge es gibt.
Wenn ich jetzt die einzelnen classen ansprechen will wie .name .text und .remove muss ich ja schon im vorfeld dutzende anlegen mit der id commentslist"nummer"
Das muss doch schöner zu lösen sein oder?
########## Habe als id nun die des hauptcontainers in diesem Fall home genommen. Mal sehen wie lange dies klappt ohne konflikte ##############
Was mir aber noch aufgefallen ist, wenn man die avatar funktion nutzt, zeigt er bei leuten anstelle des avatars auch die variable "unknown" an.
Habe den code schon durchforstet in der hoffnun diese variable dort durch ein standart Foto ersetzen zu können oder ganz verschwinden zu lassen.
Der Entwickler hat bestimmt einen Tipp :)
LG
Will ja nicht nerven, vlt. ist dass auch nur bei mir so.
Hatte leider noch nicht die gelegenheit das bei einer anderen installation zu testen aber:
Bei der Option maximale Anzahl der Kommentare war bei mir 0 eingetragen, für alle.
Dabei zeigt er mir nur so viele an wie ich bei Limit angegeben habe. Es erscheint auch kein dropdown. Selbst im newsreader werden nur die ersten 3 von Limit angezeigt.
Jetzt habe ich mal so rumprobiert, gebe ich bei maximale Anzahl beispielsweise 30 an, bekomme ich ein dropdown mit "alle 30 Kommentare anzeigen" obwohl es vlt. nur 12 Kommentare gib. wobei jedoch auch hier wieder
aus der Angabe Limit in meinem Fall "3" angezeigt werden die eigentlich im dropdown verborgen sein sollten. Erst nachdem ich einmal das dropdown auf und zu mache, sind alle weiteren bis auf die neusten drei im dropdown versteckt.
Die Idee ansich finde ich total Klasse, dass ich dies auch sehr gerne umsetzen möchte, Aber die Dinge aus dem Post oben und diesem hier machen mir kopfzerbrechen.
Ich bin auch nicht ganz PHP und mysql unbeholfen, aber hier finde ich einfach nicht die entscheidenden codesegmente.
Ok Selbstgespräch ;)
Aber damit andere dies vlt. auch rekonstruieren können.
Damit wirklich alle weiteren Kommentare im dropdown versteckt bleiben hat bei mir folgende änderung in dem template moo_newslistscomments bewirkt
Meine restlichen Probleme haben sich leider noch nicht gelöst.Code:new Accordion($$('div.newscomments_toggler'), $$('div.newscomments_accordion'), {
opacity: false, <---------------- in true ändern
display: false,
alwaysHide: true,
onActive: function(tog, el) {
el.setProperty('aria-hidden', 'false');
tog.addClass('active');
tog.getNext('div').fade('in');
tog.setProperty('aria-expanded', 'true');
return false;
},
Hat vlt. jemand schon geschafft dass ein default Avatar anstelle des festgelegten Namens für nicht registrierte angezeigt wird?
EDIT: obwohl in der news_latest_comments.xhtml der befehlangesprochen wird, wird dieser bei mir nicht ausgegeben?!Code:<?php echo $this->commentCount; ?>
Hi,
eigentlich gibt es mehr als genug Klassen alles einheitlich zu stylen. Die Templates sind auch sehr großzügig zum Ergänzen eigener Klassen.
Du solltest eh nicht mit ids stylen sondern über Klassen! Id nur für einzelne individuelle Styles.
Maximale Anzahl auf 0 bringt alle, wenn Limit (hier ein richtiges sql limit) auch auf 0 ist. Sonst holt er auch nur die Anzahl an Einträgen im Limit.
Kommentare müssen aktiviert sein für das Archiv.
Sent from my iphone using Tapatalk
da hier nichts mehr passiert u noch fragen offen sind, push....
- was muss eingestellt werden damit alle "?" kommentare anzeigen der Menge an vorhandenen Kommentaren entspricht.
- wo kann man ein default avatar festlegen? es wird nur der festgelegte "mr nobody" anstelle des avatars angezeigt, zusätzlich zu dem usernamen mr nobody
- trotz abfrage, wird in dem template nicht der totalcommentszähler angezeigt
- kann der admin o.ä. irgendwo kommentare löschen bis auf direkt in der db?
- ist es schon irgendwie möglich dass registrierte user Ihre Beiträge selber löschen können.
um das ganze vlt zu veranschaulichen http://www.vaughn-music.com/relaunch
Vorab:
Zur Zeit habe ich keine Testumgebung, weil meine Macs über meinen Urlaub aus meinem Büro gestohlen wurden bei einem Einbruch.
Ich versuche trotzdem nach bestem Wissen zu antworten.
Überall 0.Zitat:
- was muss eingestellt werden damit alle "?" kommentare anzeigen der Menge an vorhandenen Kommentaren entspricht.
Aber dann brauchst du eigentlich die Erweiterung nicht, sondern nutz einfach die normale Contao News-Kommentar Funktion, die zeigt immer alle an
Den Namen kannst du doch in den Moduleinstellungen der verwendeten Nachrichtenliste auch ändern, oder? Ich glaube den default Avatar auch.Zitat:
- wo kann man ein default avatar festlegen? es wird nur der festgelegte "mr nobody" anstelle des avatars angezeigt, zusätzlich zu dem usernamen mr nobody
Wird gar nichts angezeigt, oder ein falscher Wert? Könnte ein kleiner Bug sein, kann ich leider zur Zeit nicht testen. Zur Not eine eigene kleine Datenbankabfrage im Template setzen, bis ich wieder meine Testumgebung habe.Zitat:
- trotz abfrage, wird in dem template nicht der totalcommentszähler angezeigt
Im Kommentar BackendModulZitat:
- kann der admin o.ä. irgendwo kommentare löschen bis auf direkt in der db?
Ja, ist per default mit einer Zeitspanne definiert in der Beiträge gelöscht werden können. Diese kann man auch auf immer löschbar stellen.Zitat:
- ist es schon irgendwie möglich dass registrierte user Ihre Beiträge selber löschen können.
Siehe Moduleinstellungen der entsprechenden Nachrichtenliste.
Grüße,
Tim
Hallo,
also zwei Dinge sind bei mir jetzt noch offen...
1:
Ich finde nirgends die Möglichkeit ein default avatar für die comments festzulegen. Es wird immer der username verlinkt angezeigt wenn kein avatar vom user hochgeladen wurde.
2:
Wenn ich ein limit setzte, werden auch nur die anzahl der Kommentare angezeigt welche über das limit definiert sind. Es wird bsp. weise angezeigt "alle 4 Kommentare anzeigen".
Sind insgesamt 10 kommentare vorhanden, wird nirgends die gesamten kommentare angezeigt. Setze ich das limit auf 30, wird angezeigt "alle 30 kommentare anzeigen" obwohl nur 10 vorhanden sind. Das kann doch nicht normal sein?
Kann mir mal jemand eine Seite zeigen wo diese Erweiterung erfolgreich eingesetzt wird?
Scheint ein kleiner bug zu sein mit der Anzahl.
Ich denke das kannst du selber fixen und schickst mir einfach die geänderten Zeilen.
Nein, ich glaube einen default avatar habe ich nicht eingebaut, aber das kannst du auch direkt im template beinflussen.
Einfach, falls es keinen Avatar gibt, ein img rendern lassen mit deinem default.
Sent from my iphone using Tapatalk
Fast alles super jetzt, aber auf einmal ist die textarea zum kommentieren verschwunden... ich dreh durch.
Selbst wenn ich das gesamte Modul deinstalliere u neu aufsetze, ist es verschwunden.
Woran kann das liegen?
Du stellst Fragen... ?!
Vielleicht hast du was im Template gelöscht, oder ein display:none im css, oder in den Moduleinstellungen die Box deaktiviert...
Wir können nur raten.
Sent from my iphone using Tapatalk
Ich habe jetzt in die Erweiterung geguckt und eine neue Version ins ER gestellt. (Build: 20)
Eine Standard-Avatar Funktion ist bereits vorhanden.
Um alle Nachrichten anzuzeigen ohne Akkordeon etc. einfach bei Limit und Max. Anzahl 0 eintragen.
Ich habe ein paar Erklärungen für die Felder im BE geändert. Vielleicht ist einiges jetzt leichter verständlich.
Hallo Tim,
habe nen Update gemacht. Jetzt bekomme ich einen Fehler:
PreetzZitat:
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(132): __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}
Ah, Mist. Noch nen Firephp Aufruf vergessen zu löschen.
Kommentier den FB:: Befehl erstmal selbst aus.
Sent from my iphone using Tapatalk
Hi,
jetzt läuft gar nix mehr. Kannst du bitte nen Update hochladen?
Danke
Hallo Tim,
dass Problem besteht immer noch. Kannst du bitte Abhilfe schaffen?
Danke
Christian
Kannst jederzeit downgraden.
Ich guck nachher nochmal drauf.
Sent from my iphone using Tapatalk
Hi,
danke für´s Update! Klappt wieder!
Preetz
Hi Tim,
top Erweiterung!
Kann man es auch einrichten, dass ein User ohne sich anzumelden einen Kommentar abgeben kann und dabei ganz normal seinen Namen angibt? Also wie beim normalen Kommentarfeld auch, nur dass die coole weitere Funktionalität erhalten bleibt.
Grüße
MNO
:)
Dann bräuchten wir ein zusätzliches Feld dafür.
Wenn du bissel fitt in php bist, kannst das selbst machen.
Das Feld im Template im Form ergänzen und nach dem Abschicken den Wert aus der POST Variablen in die DB knallen.
Sent from my iphone using Tapatalk
Hi Tim,
leider nein, kann kein PHP. Dann muss ich halt drauf verzichten und das "normale" Kommentarmodul verwenden - ohne den SchnickSchnack drumherum :-). Ist zwar schade, aber da kann man ja glaub ich zumindest die Kommentarmenge einstellen, die angezeigt werden soll.
Gruß
MNO
Kommentarmenge etc. kannst du hier auch einstellen.
Ich muss mal den Beschreibungstext updaten. Sind ne Menge Features dazugekommen.
Sent from my iphone using Tapatalk
Aso ja, das habe ich gesehen. Leider kann man aber keinen eigenen Namen und keine Webseite angeben, wenn man dieses Modul nutzen möchte - außer man macht halt mir Registrierung, dann könnte man die Felder sicher aus der Datenbank holen.
Ich meinte nur, dass ich ja beim normalen Modul auch die Kommentarmenge begrenzen kann, nur der coole Javakram fällt dann weg :P.
Hallo Tim,
ich würde auch gerne nicht angemeldeten Benutzern die Möglichkeit geben ihren Namen, E-Mailadresse etc. anzugeben.
Das erstellen des zusätzlichen Textfeldes ist kein Problem (habe das vorhandene gegen <textarea> ausgetauscht). PHP kann ich auch ein biss'l. Mein Problem ist nur, dass ich nicht weiß wo ich diese Variable nun "weiterverarbeiten" muss. Welche Datei ist dafür zuständig?
Noch was anderes: Ich habe auch versucht durch umschreiben des Template zu erreichen, dass alle Kommentare im Accordion verschwinden. Hatte dann aber die Eingebung im BE unter 'Limit' -1 einzutragen. Und siehe da, es funktioniert. Ist dies so von Dir vorgesehen, oder kann es zu einer Fehlermeldung kommen? Im Debugmodus gibt es auf jeden Fall keine.
Hallo,
den ersten Teil meiner Frage habe ich nun selbst gelöst. Dazu habe ich Änderungen in der Datei 'NewslistComments.php' vorgenommen, und zwar an dieser Stelle:
Zuvor habe ich im Formular noch die Felder NEW_WEBSITE und NEW_NAME eingefügt. Bei Tests des Formulars sind bisher keine Fehler aufgetreten. Trotzdem meine Frage, muss ich noch an anderer Stelle etwas ändern?PHP-Code:
/**
* Create a new comment to the database
* @param string -> source table
*/
public function createComment($strSource)
{
$tstamp = time();
$date = time();
$source = $strSource;
// $username = $this->replaceInsertTags('{{user::username}}'); // wik
$username = $this->Input->post('NEW_NAME'); // wik: neu!
if(!strlen($username)) $username = $this->strUnknownUser;
$website = $this->Input->post('NEW_WEBSITE'); // wik: neu!
$parent = str_replace('com_form_newscomment', '', $this->Input->post('FORM_SUBMIT'));
$comment = $this->Input->post('NEW_COMMENT');
// insert new comment
/*$this->Database->prepare("INSERT INTO tl_comments (tstamp, source, parent, name, comment, published, date, ip) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ")
->execute($tstamp, $source, $parent, $username, $comment, 1, $date, $this->Environment->ip); // wik */
$this->Database->prepare("INSERT INTO tl_comments (tstamp, source, parent, name, comment, website, published, date, ip) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) ")
->execute($tstamp, $source, $parent, $username, $comment, $website, 1, $date, $this->Environment->ip); // wik: neu!
//--
// get id of current post
$objField = $this->Database->prepare("SELECT id FROM tl_comments WHERE tstamp=? AND source=? AND parent=? AND name=?")
->limit(1)
->execute($tstamp, $source, $parent, $username);
if(!$objField->numRows) return '';
// write information to session
$arrData = array(
'tstamp' => $tstamp,
'id' => $objField->id,
'source' => 'tl_news',
'pid' => $parent,
'user' => $username,
'comment' => $comment,
'website' => $website, // wik: neu!
'ip' => $this->Environment->ip,
'raw' => array('tstamp'=>$tstamp),
);
$this->setSessionData($arrData);
}
Das ganze dürfte auch nicht updatesicher sein da die Datei 'NewslistComments.php' sich im system/module Ordner befindet. Gibt es trotzdem eine Möglichkeit das ganze updatesicher zu speichern (ohne eine eigene Erweiterung zu erstellen)?
Was fehlt noch? Ich suche noch nach einer Möglichkeit im Formular die Eingabe der URL bei 'Website' zu überprüfen, um Falscheingaben zu unterbinden.
Wenn keine Fehler kommen ist doch alles gut. :)
Updatesicher ist das nicht, richtig.
Dafür würde man eine kleine Erweiterung/Klasse erstellen, die die NewslistComments erweitert und von dieser erbt und mit Hilfe von Vererbung erst die normalen Aktionen startet m, dann die eigenen.
Du kannst Deine Felder validieren lassen. Dafür gibts hier auch Threads. Das ganz geht auch gut in einem Hook. Das gleiche macht die Erweiterung auch um das Formular auszuwerten.
Sent from my iphone using Tapatalk
hallo,
hab eigentlich nur folgende Frage dazu - bei mir läuft alles Prima von der Anzeige her, nur das Problem beim senden auf dem "abschicken" Button nach einer Kommentar Eingabe erhalte ich immer einen doppelten index.php Eintrag in der Adressleiste. Was muss ich denn da wo ändern das ich normal auf eine andere Seite weitergeleitet werde?
also aus http//www.meineseite.de/index.php/start.html
wird nach dem abschicken Button immer
http//www.meineseite.de/index.php/index.php/start.html
und somit erscheint natürlich eine Fehlermeldung
Danke für Hilfestellung im vorraus
Stell mal ein, dass die Seite komplett ohne index.php geschrieben wird, ob dann trotzdem ein index.php ergänzt wird.
Einstellen tust du das in den Contao Einstellungen > Url umschreiben und die .htaccess_default auf nur .htaccess umbenennen im FTP Wurzelverzeichnis von contao.
Hallo,
wie bereits im Titel beschrieben würde ich das Formular zur Kommentareingabe mit der im Formulareditor enthaltenden Sicherheitsfrage ausstatten. Dies ist nötig da in den letzten Tagen die Seite die mit diesem Modul ausgestattet ist Opfer eines Spamangriff wurde. Alle paar Minuten wurde ein Block von 5 Kommentare generiert sodass in kurzer Zeit über 500 Kommentare eingetragen wurden.
Hat schon jemand dieses Feld eingebaut? Wenn ja, wo? und wie? Dies wäre doch auch als grundsätzliche Option im Modul ganz interessant, wie ich finde. Eine andere Möglichkeit wäre auch, das ein Formular im Formulareditor entworfen wird, und dieses dann vom Modul angezeigt wird. Quasi so eine Art {{insert_form::ID}}.
Was mir noch aufgefallen ist, ist folgendes. Es wurden nur max. 30 Kommentare angezeigt, obwohl unter 'Maximale Anzahl' 0 (also Alle) eingetragen war. Wie bereits erwähnt handelte es sich um über 500 Kommentare. Woran kann das liegen?
Das ist nicht so einfach möglich. Du benötigst für jeden News-Eintrag ein individuelles Formular zur Übergabe der ID und PID für die Kommentare. Daher wird das Formular im Template generiert.
Ich schreib mir ein mal auf, das hier ein captcha-Feld gut wäre.
Ich denke das liegt an der contao-internen Bremse von standardmäßig 30 Einträgen. Schau mal unter Einstellungen und änder die Anzahl. Wenn es weiterhin 30 Einträge bleiben, ist es vielleicht ein kleiner Bug bzw. ist es nicht schlecht, weil dann nicht für alle Einträge diese hohe Summe entsteht. Bei vielen Einträgen ist das schon eine ordentliche Liste.Zitat:
Was mir noch aufgefallen ist, ist folgendes. Es wurden nur max. 30 Kommentare angezeigt, obwohl unter 'Maximale Anzahl' 0 (also Alle) eingetragen war. Wie bereits erwähnt handelte es sich um über 500 Kommentare. Woran kann das liegen?
Hallo Tim,
Diese Einstellung kann ich nirgendwo finden. Die Begrenzung auf 30 Kommentare tritt auch nur auf, wenn bei 'Maximale Anzahl' 0 eingetragen ist. Setzt ich sie höher, werden alle (bis zur maximalen Anzahl) ausgegeben. Kann man mit leben, aber vielleicht ein kleiner Hinweis im BE-Modul beim Hinweistext. ;)
Vielleicht schaffe ich es morgen mal in die Erw. zu gucken.
Danke für den Hinweis.
Sent from my iphone using Tapatalk
Besteht auch die Möglichkeit, Kommentare mit einem Bild zu versehen?
Mark
Hi Tim,
passt du die Eriweterung noch auf die aktuelle Contao-Version an?
Preetz
Hey Preetz,
ich hab nen großes Update bei Github hochgeladen.
Hier die wichtigsten Änderungen:
- Contao 3.2 Support
- Kommentare laden jetzt via Ajax und Session
- Kommentare löschen via Ajax
- Akkordeon ist raus, weil jetzt Ajax
- Neue Templates und neuer Template aufbau. Eigenes Template nur für die Kommentar-Liste
- Umbau auf Namespaces, Sauberer Code
Ein Feature (Verschachtelte Kommentare) ist bereits als Checkboxes angelegt, aber noch nicht implementiert. Es sollen noch Kommentare für Kommentare kommen.
https://github.com/timgatzky/newslistcomments/tree/dev
Viele Grüße,
Tim
Hi,
wollte jetzt auch mal die Erweiterung unter Contao 3.2.x ausprobieren und habe dafür die Version aus GitHub verwendet. Dabei ist mir aufgefallen, dass das wohl noch nicht so ganz passt. U.a. wird z.B. das Formular zur Eingabe von Kommentaren (form_newslistcomments) nicht angezeigt (entsprechende Codestellen im Modul fehlen), oder auch das Erzeugen neuer Beiträge klappt nicht, da versucht wird, in tl_news.text zu schreiben, was es nun nicht mehr gibt (-> tl_news.teaser) sollte wohl passen, ansonsten müsste man das über tl_content regeln.
Wird es in absehbarer Zeit ein offizielles 3.2-kompatibles Build im ER geben?
Danke und viele Grüße,
Fabio
Hast Du den dev Zweig ausprobiert? https://github.com/timgatzky/newslistcomments/tree/dev