News Comments -> GlobalComments

Die recht armselige Kommentarfunktion vom News-Modul kann ebenfalls durch GlobalComments ersetzt werden. Und auch das kannst du jederzeit rückgängig machen. Es ist eine kleine Änderung am News-Modul nötig.

Hinweis: Ab Version 6.2 - also demnächst.

 

Im News-Modul werden Kommentare etwas anders gehandhabt als in Global Comments.
Die Unterschiede:

  • Feld "Titel": Im News-Modul gibt es beim Kommentieren ein Feld "Titel". Dieses Feld gibt es auch in GlobalComments, es ist aber per Voreinstellung unsichtbar. Unten steht, wie du es sichtbar machen kannst.
    Wenn ein Kommentar einen Titel hat, wird dieser aber immer ausgegeben.
  • Name / eMail: Gibt es bei News nicht - aber bei News wird die User_id von angemeldeten Nutzern gespeichert.
    Ist eine user_id gespeichert, wird beim Kopieren der alten News-Kommentare der Angezeigte Name und seine eMail-Adresse verwendet. (Die eMail-Adresse ist in GC nie öffentlich sichtbar). 
    Wenn keine user_id gespeichert ist, wird  'Guest' / 'no(at)ma(dot)il' eingesetzt.

Schritt 1

GlobalComments muss natürlich installiert sein. Es können auch schon Kommentare vorhanden sein, diese bleiben unberührt.

Öffne das Script
/modules/globalcomments/inc/copy_news_comments.inc.php
mit einem Editor. Ganz oben steht:
//remove this before starting:
die();

Tu das, indem du es zu //die(); änderst.

Lade das Script hoch und rufe es auf:

www.deine-domain.tld­/modules/globalcomments/­inc/­copy_news_comments.inc.php

Es ist hässlich! Und normalerweise geht es sehr schnell, aber wenn du schon 100e Kommentare hast, kann es sein, dass du es mehrfach aktualisieren musst - bis Done erscheint.

Schritt 2

Da News in den Einstellungen keine Droplets erlaubt, musst du eine kleine Änderung in der view.php von news vornehmen. Such in dieser Datei die Zeilen:

        // Show comments section if we have to
        if (($post['commenting'] == 'private' AND isset($wb) AND $wb->is_authenticated() == true)
            OR $post['commenting'] == 'public'
        ) 

Achte auf die geschweifte Klammer { gleich danach.
Die gehört NICHT mehr dazu, sie muss bestehen bleiben!

Ersetze den Code oben durch diesen:

        // Show comments section if we have to
        /*
        if (($post['commenting'] == 'private' AND isset($wb) AND $wb->is_authenticated() == true)
            OR $post['commenting'] == 'public'
        )*/
        
        if (file_exists(WB_PATH.'/modules/globalcomments/showcomments.php') ) {
            $sid = -2;
            $iid = $post_id;
            include WB_PATH.'/modules/globalcomments/showcomments.php' ;
            echo $alloutput;
        } else {
            echo '<p>GlobalComments not found</p>';
        }
        
        if (4==5)

Das if (4==5) ist eine Bedingung, die nie wahr ist. Daher wird der Code danach nie ausgeführt und du musst ihn nicht löschen.

Wenn du jetzt im Frontend nachsiehst, sollten statt den alten News-Kommentaren die neuen Global-Comments-Kommentare sein.

Machst du if (4==4) draus (immer wahr), siehst du sowohl GlobalComments als auch die News-Kommentare.

Das Feld Titel sichtbar machen

Aus Erfahrung weiß ich, dass ein Feld "Titel" kaum sinnvoll genutzt wird. Deswegen ist es in der Voreinstellung per CSS ausgeblendet.

Suche in /modules/globalcomments­/frontend.css die Zeile:
.gc_wrapper .commenttheheadline {display:none;}

Ändere das display:none; zu display:block;

Noch ein Hinweis

Die News-Kommentare sind unverändert immer noch da - sie werden jetzt nur nicht angezeigt. Wenn du ein Snippet verwendest, das diese Kommentare irgendwo darstellt, werden sie dort auch unverändert angezeigt. Es kommen aber keine neuen mehr dazu - weil das ja ab jetzt GlobalComments verwaltet.

Zurück