Magento – Trusted Shop Kundenmeinung nachträglich aktivieren

veröffentlicht in Consulting am 28. Jun. 2012 Tags: , ,

Es gibt die Möglichkeit die Truseted Shop Kundenmeinung im Shop anzuzeigen. Dafür gibt es schon ein passendes freies Modul. Dies funktioniert auch super, nur ergibt sich ein kleines Problem, wenn man dies in ein schon gut laufenden Shop einbauen will. Man möchte gerne schon seine aktuellen Kunden für die letzte Bestellung auffordern eine Bewertung abzugeben, um schnell eine aussagekräftige (und positive) Bewertung zu bekommen.

Dazu muss man als erstes das Installationsdatum in die Vergangenheit setzen:

UPDATE core_config_data SET VALUE='2012' WHERE path = 'trustedrating/status/datelimit_y';
UPDATE core_config_data SET VALUE='01' WHERE path = 'trustedrating/status/datelimit_m';
UPDATE core_config_data SET VALUE='01' WHERE path = 'trustedrating/status/datelimit_d';
UPDATE core_config_data SET VALUE = '2012-01-01 00:00:01' WHERE path = 'trustedrating/data/active_since';

Danach sollte man verhindern, dass Kunden die öfters bestellen eine ganze Reihe von Emails bekommen, das würde die Kunden etwas nerven, deshalb markiert man einfach alte Bestellungen so, dass diese bereits eine Trusted Shop Bewertungs Email erhalten haben. Dies ermöglicht das nachfolgende SQL-Statement:

INSERT INTO `symmetrics_trustedrating_emails` (shippment_id)
    SELECT s2.entity_id 
     FROM `sales_flat_shipment` s2
      JOIN sales_flat_order o2 ON s2.order_id = o2.entity_id
 LEFT JOIN ( SELECT MAX(s1.entity_id) AS MAX, COUNT(s1.entity_id) AS COUNT, s1.customer_id AS cid , o1.customer_email AS customer_email
            FROM `sales_flat_shipment` s1
             JOIN sales_flat_order o1 ON o1.entity_id = s1.order_id
        GROUP BY o1.customer_email
          HAVING COUNT > 1 ) AS s ON o2.customer_email = s.customer_email 
                                 AND s.MAX != s2.entity_id
    WHERE MAX IS NOT NULL 
 ORDER BY o2.customer_email, s2.entity_id ASC;

Das Statement lässt für jede Email die letzte Bestellung jeweils auf unbenachrichtigt, so dass lediglich für die letzte Bestellung eine Aufforderung verschickt wird.

Das Modul will die Email beim Aufrufen des Shop Admin verschicken. Es ist aber besser das über ein Cron-Job zu erledigen und das Event admin_session_user_login_success in der config.xml des Modules zu deaktivieren.

Anschließend aktiviert man das Modul und mit dem ersten Aufrufen des Cron-Jobs werden dann die Kunden zur Abgabe einer Bewertung aufgefordert.

Über Markus Schneider

Als Analytiker und Informatiker ist Markus Schneider Experte für Shop- und ERP-Systeme. Dabei setzt er sein fundiertes Wissen insbesondere im Bereich der Open Source Software ein und kann verschiedene
Anwendungssysteme, z.B. Oxid eSales, OTRS, und Solr Suche, darin integrieren. Auch mit der Onlineshopsoftware Magento kennt sich Herr Schneider bestens aus. Zudem greift er auf gesammelte Erfahrungen unterschiedlicher Systeme wie Sage, SAP und speziell OpenERP zurück.

Kommentare deaktiviert

Kommentare sind gesperrt.