Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: MODUL: Bewertungen als Admin freischalten  (Gelesen 23232 mal)

Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
MODUL: Bewertungen als Admin freischalten
« am: 21. September 2009, 15:30:13 »
Ein sehr schönes Modul wurde heute auf xtc-load.de veröffentlicht: Bewertungen als Admin freischalten

Damit ist es dem Admin möglich, jede einzelne Bewertung zu moderieren und ggf. zu löschen, damit die Bewertungsfunktion nicht für SPAM missbraucht wird.

Bitte testet das Modul ausgiebig, ich könnte mir vorstellen das als Standard zu integrieren.

Damit die die inaktiven Bewertungen nicht angezeigt werden ist zusätzlich noch folgende Änderung notwendig:

[...]
Bei meinem Shop wurde beim einzelnen Produkt auch Produktbewertungen mit Status = 0 angezeigt.

Wenn man möchte dass auch bei den einzelnen Produkten nur Bewertungen mit Status = 1 angezeigt werden dann einfach diesen Block in der "/includes/classes/product.php"

Code: PHP  [Auswählen]
/**
         *
         * select reviews
         *
         */


        function getReviews() {

                $data_reviews = array ();
                $reviews_query = xtDBquery("select
                                                                                                         r.reviews_rating,
                                                                                                         r.reviews_id,
                                                                                                         r.customers_name,
                                                                                                         r.date_added,
                                                                                                         r.last_modified,
                                                                                                         r.reviews_read,
                                                                                                         rd.reviews_text
                                                                                                         from "
.TABLE_REVIEWS." r,
                                                                                                         "
.TABLE_REVIEWS_DESCRIPTION." rd
                                                                                                         where r.products_id = '"
.$this->pID."'
                                                                                                         and  r.reviews_id=rd.reviews_id
                                                                                                         and rd.languages_id = '"
.$_SESSION['languages_id']."'
                                                                                                         order by reviews_id DESC"
);
                if (xtc_db_num_rows($reviews_query, true)) {
                        $row = 0;
                        $data_reviews = array ();
                        while ($reviews = xtc_db_fetch_array($reviews_query, true)) {
                                $row ++;
                                $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => xtc_date_short($reviews['date_added']), 'RATING' => xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => $reviews['reviews_text']);
                                if ($row == PRODUCT_REVIEWS_VIEW)
                                        break;
                        }
                }
                return $data_reviews;

        }

mit diesem ersetzen

Code: PHP  [Auswählen]
/**
    *
    * SELECT reviews
    *
    */


    function getReviews() {

        $data_reviews = array ();
        $reviews_query = xtDBquery("SELECT r.reviews_rating, r.reviews_id, r.customers_name, r.date_added,
                                           r.last_modified, r.reviews_read, rd.reviews_text
                                    FROM "
.TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd
                                    WHERE r.products_id = '"
.$this->pID."'
                                    AND r.reviews_id=rd.reviews_id
                                    AND r.reviews_status = '1'
                                    AND rd.languages_id = '"
.$_SESSION['languages_id']."'
                                    ORDER BY reviews_id DESC"
);
        if (xtc_db_num_rows($reviews_query, true)) {
            $row = 0;
            $data_reviews = array ();
            while ($reviews = xtc_db_fetch_array($reviews_query, true)) {
                $row ++;
                $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => xtc_date_short($reviews['date_added']), 'RATING' => xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => $reviews['reviews_text']);
                if ($row == PRODUCT_REVIEWS_VIEW)
                break;
            }
        }
        return $data_reviews;

    }
 

Modul für Shopversion 2.0.0.0 rev 9678:

[...]
-------------------------------------------------------------------

BEWERTUNGEN FREISCHALTEN

ursprünglich von: XT Shopservice (scheint es nicht mehr zu geben)
angepasst an aktuelle Shopversion (2.0.0.0) von: |Alex|

## Neue Dateien
-------------------------------------------------------------------
product_reviews_write_success.php
inc/xtc_set_reviews_status.inc.php
includes/extra/filenames/filename_prws.php
lang/english/extra/admin/review_status.php
lang/english/extra/lang_prws.php
lang/german/extra/admin/review_status.php
lang/german/extra/lang_prws.php
templates/tpl_modified/module/product_reviews_write_success.html

## Geänderte Dateien
-------------------------------------------------------------------
reviews.php
product_reviews_write.php
admin/reviews.php
includes/classes/product.php
templates/tpl_modified/lang/lang_english.custom
templates/tpl_modified/lang/lang_german.custom
templates/tpl_modified/source/boxes/reviews.php

## Vor der Installation:
------------------------------------------------
Das Produkt ist für die Version modified eCommerce Shopsoftware 2.0.0.0 und ausschließlich mit dieser getestet worden. Ggf. muss für nachfolgende Shopversionen eine erneute Anpassung vorgenommen werden.

Fertigen Sie bitte aus Sicherheitsgründen von allen Dateien Ihres Shops ein Backup an. Die Verwendung erfolgt auf eigene Gefahr ohne ausdrückliche Gewährleitung der Funktionalität oder Schadensfreiheit, wobei dies i. d. R. auszuschließen ist. Support erhalten Sie dennoch jederzeit über das Forum der modified eCommerce Shopsoftware.

## Die Installation:
------------------------------------------------

Die Installation:

1. Entpacken Sie die zip-Datei.
2. Datenbank importieren: Importieren Sie die datenbank.sql in Ihre Shopdatenbank, nachdem Sie ein Backup angefertigt haben.
3. Kopieren Sie die beigefügten Dateien abhängig von ihrer Orderstruktur in Ihr Shopverzeichnis.

Die Installation ist abgeschlossen!

## Abschließende, zusätzliche Hinweise:
------------------------------------------------

ICH WEISE AUSDRÜCKLICH DARAUF HIN:
- Diese Erweiterung ist *NICHT* vollständig updatesicher

Ich gehe davon aus, dass Ihr Shop noch nicht erweitert wurde und sich Ihre Dateien im Originalzustand befinden. Sollte dies nicht der Fall sein, ist in allen geänderten Dateien genau dokumentiert, welche Änderungen vorgenommen wurden. Je nach Sprache ist die Dokumentation wie folgt zu erkennen:

[PHP]

Code: PHP  [Auswählen]
// Bewertungen freischalten-Modul
... hier befindet sich neuer Code ...

# Bewertungen freischalten-Modul - START
  ... hier befindet sich neuer oder geänderter Code ...
# Bewertungen freischalten-Modul - ENDE

[HTML]

Code: XML  [Auswählen]
<!-- Bewertungen freischalten-Modul - START -->
   ... hier befindet sich neuer oder geänderter Code ...
<!-- Bewertungen freischalten-Modul - ENDE -->
[...]

Grüße

Torsten

[EDIT Tomcraft 06.12.2011: Erweiterung von lexus mit eingefügt.]
[EDIT Tomcraft 06.05.2013: Modul für Shopversion 1.06 angepasst.]
[EDIT Tomcraft 17.09.2016: Modul für Shopversion 2.0.0.0 rev 9678 ergänzt. Danke an |Alex|.]
[EDIT Tomcraft 18.10.2016: Modul für Shopversion 2.0.0.0 rev 9678 aktualisiert. Danke an |Alex|.]

Linkback: https://www.modified-shop.org/forum/index.php?topic=2090.0

Offline blueprint

  • Neu im Forum
  • *
  • Beiträge: 3
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #1 am: 21. September 2009, 20:53:54 »
Das Teil hat nen kleinen Schönheitsfehler.

Kunde schreibt Bewertung, sieht aber danach seine eigene geschriebe Bewertung im nächsten Fenster nicht. Weil! Noch nicht freigegeben. :/

Hatte eben den Fall, wo ein Kunde selbiges Verhalten moniert hat, nachdem ich das Modul in den neuen Shop - basierend auf modified eCommerce Shopsoftware :) - integriert hatte.

Ansonsten läuft das Modul anstandsfrei.


Offline guensi

  • Viel Schreiber
  • *****
  • Beiträge: 2.288
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #2 am: 21. September 2009, 21:55:27 »
Zitat
Das Teil hat nen kleinen Schönheitsfehler.

Dazu brauchts eigentlich nur die Ergänzung eines Hinweises bei der Erstellung der Bewertung, dass die erst nach Freigabe veröffentlicht wird.

Problem - das riecht nach Zensur, auch wenns anders gemeint ist.

Besser fänd ich, wenn der Beitrag zunächst veröffentlich wird, ich aber ne E-Mail für diesen Beitrag kriege. Dann müsste ich den Beitrag entweder drin lassen oder löschen können. Bei Spam hat da sicher keiner der normalen User Probleme, wenn der gelöscht wird. Noch besser wäre eine Prüfung des Eintrages auf "Spam-Qualität" und unflätige Ausdrücke, damit Standard-Müll erst gar nicht eingetragen wird.

Kenne das von verschiedenen Gästebüchern. Gut gelöst finde ich das z.B. beim unmöglichen Gästebuch:
http://www.atomic-eggs.com/cwi/cwi_4.shtml

Ob ich nun jeden Eintrag frei schalten muss, oder prüfen ob ich ihn rauswerfe, der Aufwand bleibt derselbe.


Offline AndyFAQ

  • Neu im Forum
  • *
  • Beiträge: 26
    • Teile Beitrag
    • http://www.AndyFAQ.de
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #3 am: 22. September 2009, 08:21:46 »
Zitat
Problem - das riecht nach Zensur, auch wenns anders gemeint ist.
Ich denke mal, die Mehrzahl der Onlineshops nehmen sich das Recht heraus, die Beiträge zu zensieren. Bei den Großen ist es sowieso egal, weil bei der Vielzahl von Einträgen keiner mehr durchblickt. Ich kenne kleine Händler, die Ihren Account bei EBay löschen, weil Sie ein oder zwei heftige nagative Bewertungen haben.

Vielleicht soll man es entscheidbar machen, ob man erst nach Freigabe veröffentlicht oder bereits bei Erstellung. Dann hat jeder Shopbetreiber selbst den schwarzen Peter.

Gruß
Andreas


Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #4 am: 22. September 2009, 11:50:06 »
@guensi: Das Problem ist aber wirklich, dass es massiv ausgenutzt wird für SPAM!

Siehe hier: Kundenrezensionen - Spam

Grüße

Torsten


Offline guensi

  • Viel Schreiber
  • *****
  • Beiträge: 2.288
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #5 am: 22. September 2009, 19:30:00 »
Zitat
...
Vielleicht soll man es entscheidbar machen, ob man erst nach Freigabe veröffentlicht oder bereits bei Erstellung. Dann hat jeder Shopbetreiber selbst den schwarzen Peter.

Zitat
Das Problem ist aber wirklich, dass es massiv ausgenutzt wird für SPAM!

Das Problem mit dem SPAM sehe ich schon, aber ich denke, man sollte das doch wie AndyFAQ oben sagte jedem selbst überlassen, wie er das handhaben will.


Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #6 am: 22. September 2009, 19:44:05 »
Na klar, habe ja nie etwas anders gesagt! Ich weiss, dass das Thema Zensur bei dir sehr kritisch ist. ;-)
Ich habe das Modul ja nur veröffentlicht für Interessierte!

Grüße

Torsten


Offline kalero

  • Neu im Forum
  • *
  • Beiträge: 20
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #7 am: 22. März 2010, 11:00:35 »
um das Thema nochmal aus der Versenke zu holen..

wir haben ein tool eingebaut, welches den Kunden nach X Tagen automatisch an die Abgabe einer Bewertung erinnert.

Nun klickt der Kunde auf den Link in der eMail um das entsprechende Produkt zu bewerten und landet auf der Bewertungsseite. Wenn er sich dann als User anmelden muss, weil die Bewertung als "Gast" nicht erlaubt ist, dann landert er nach der Anmeldung automatisch auf der Startseite und verliert zu geschätzten 90% die Lust an der Bewertung.

Gibt es nicht eine Möglichkeit, dass wenn ein Kunde eine Bewertung abgeben möchte und noch nicht eingeloggt ist, er nach dem LogIn gleich auf der Seite für die entsprechende Bewertung landet? Also eine Art redirect? Bin da leider nicht so der Fachmann..

Ich hoffe Ihr versteht was ich meine..  `:/

gruß

kalero


Offline lexus

  • Neu im Forum
  • *
  • Beiträge: 29
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #8 am: 06. Dezember 2011, 01:46:51 »
Bin mir jetzt nicht sicher ob dies wirklich ein Bug ist?

Bei meinem Shop wurde beim einzelnen Produkt auch Produktbewertungen mit Status = 0 angezeigt.

Wenn man möchte dass auch bei den einzelnen Produkten nur Bewertungen mit Status = 1 angezeigt werden dann einfach diesen Block in der "/includes/classes/product.php"

Code: PHP  [Auswählen]
/**
         *
         * select reviews
         *
         */


        function getReviews() {

                $data_reviews = array ();
                $reviews_query = xtDBquery("select
                                                                                                         r.reviews_rating,
                                                                                                         r.reviews_id,
                                                                                                         r.customers_name,
                                                                                                         r.date_added,
                                                                                                         r.last_modified,
                                                                                                         r.reviews_read,
                                                                                                         rd.reviews_text
                                                                                                         from "
.TABLE_REVIEWS." r,
                                                                                                         "
.TABLE_REVIEWS_DESCRIPTION." rd
                                                                                                         where r.products_id = '"
.$this->pID."'
                                                                                                         and  r.reviews_id=rd.reviews_id
                                                                                                         and rd.languages_id = '"
.$_SESSION['languages_id']."'
                                                                                                         order by reviews_id DESC"
);
                if (xtc_db_num_rows($reviews_query, true)) {
                        $row = 0;
                        $data_reviews = array ();
                        while ($reviews = xtc_db_fetch_array($reviews_query, true)) {
                                $row ++;
                                $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => xtc_date_short($reviews['date_added']), 'RATING' => xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => $reviews['reviews_text']);
                                if ($row == PRODUCT_REVIEWS_VIEW)
                                        break;
                        }
                }
                return $data_reviews;

        }

mit diesem ersetzen

Code: PHP  [Auswählen]
/**
    *
    * SELECT reviews
    *
    */


    function getReviews() {

        $data_reviews = array ();
        $reviews_query = xtDBquery("SELECT r.reviews_rating, r.reviews_id, r.customers_name, r.date_added,
                                           r.last_modified, r.reviews_read, rd.reviews_text
                                    FROM "
.TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd
                                    WHERE r.products_id = '"
.$this->pID."'
                                    AND r.reviews_id=rd.reviews_id
                                    AND r.reviews_status = '1'
                                    AND rd.languages_id = '"
.$_SESSION['languages_id']."'
                                    ORDER BY reviews_id DESC"
);
        if (xtc_db_num_rows($reviews_query, true)) {
            $row = 0;
            $data_reviews = array ();
            while ($reviews = xtc_db_fetch_array($reviews_query, true)) {
                $row ++;
                $data_reviews[] = array ('AUTHOR' => $reviews['customers_name'], 'DATE' => xtc_date_short($reviews['date_added']), 'RATING' => xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['reviews_rating'].'.gif', sprintf(TEXT_OF_5_STARS, $reviews['reviews_rating'])), 'TEXT' => $reviews['reviews_text']);
                if ($row == PRODUCT_REVIEWS_VIEW)
                break;
            }
        }
        return $data_reviews;

    }
 

[EDIT Tomcraft 06.12.2011: Erweiterung in Beitrag 1 mit aufgenommen.]

Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #9 am: 06. Dezember 2011, 11:20:16 »
Dein Beitrag geht davon aus, dass dieses Modul hier installiert ist: MODUL: Bewertungen als Admin freischalten

Daher hänge ich das mal gleich ans entsprechende Thema mit an.

Grüße

Torsten

Offline lexus

  • Neu im Forum
  • *
  • Beiträge: 29
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #10 am: 06. Dezember 2011, 17:24:35 »
Sorry, ich dachte das sei Standard in jedem Shop.  :glaskugel:

Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #11 am: 06. Dezember 2011, 17:55:19 »
Kein Problem, danke für den Tipp! :thx:

Grüße

Torsten

Offline NicoDeluxe

  • Fördermitglied
  • *****
  • Beiträge: 987
  • Geschlecht: Männlich
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #12 am: 06. Januar 2012, 18:34:04 »
Hab DB gesichert, nun wollte ich importieren, aber es kam vom phpMyAdmin folgende Meldung:

Code: SQL  [Auswählen]
#1060 - Doppelter Spaltenname: 'reviews_status'

Offline Tomcraft

  • modified Team
  • *****
  • Gravatar
  • Beiträge: 43.661
  • Geschlecht: Männlich
    • Teile Beitrag
    • https://www.modified-shop.org
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #13 am: 06. Januar 2012, 18:35:33 »
Dann ist deine Datenbank wohl schon entsprechend erweitert oder du hast 2x auf "OK" geklickt beim Import. ;-)

Grüße

Torsten

Offline NicoDeluxe

  • Fördermitglied
  • *****
  • Beiträge: 987
  • Geschlecht: Männlich
    • Teile Beitrag
Re: MODUL: Bewertungen als Admin freischalten
« Antwort #14 am: 06. Januar 2012, 18:36:42 »
Cool, nee eigentlich nur einmal geklickt... dann fahr ich jetzt mal fort in der Anleitung. ^^


Teile per facebook Teile per linkedin Teile per twitter