Inhaltsverzeichnis
Sollen via Shopvote akquirierte Produktbewertungen in native Gambio-Produktbewertungen überführt werden? Das geht mit einem einfachen SQL-Befehl. So bleiben Produktbewertungen erhalten, wenn man Shopvote entfernt oder das Shopsystem wechselt und nur die nativen Gambio-Produktbewertungen in den neuen Shop überträgt.
Shopvote für Shopify & WooCommerce
Nach dem Wechsel von Gambio zu Shopify oder zu WooCommerce muss man keineswegs auf Shopvote verzichten. Es gibt sowohl Möglichkeiten der Shopvote Integration in Shopify als auch ein Shopvote Plugin für WooCommerce.
Da Shopify nativ keine Produktbewertungen an Bord hat und man ohnehin eine App benötigt (es gibt zahlreiche kostenlose, zum Beispiel Judge.me), bietet es sich an, die Shopvote-Lösungen für Shopify zu verwenden.
Shopvote vs. Gambio Produktbewertungen
Mühevoll in Gambio gesammelte Produktbewertungen sind unter Umständen auf 2 Tabellen aufgeteilt:
- Via Shopvote akquirierte Bewertungen befinden sich in den Shopvote-Datenbanktabellen
- Via Gambio-eigenem Bewertungssystem erhaltene Rezensionen befinden sich in den Gambio-Standardtabellen
reviewsundreviews_description.
Vor dem Wechsel des Shopsystems möchte man diese möglicherweise vereinheitlichen, um die Datenübernahme einfacher zu gestalten. Das betrifft natürlich nicht nur Shopify und WooCommerce. Auch beim Wechsel von Gambio zu JTL-Shop ist der Gambio CSV-Export sämtlicher Produktbewertungen aus einer Quelle sehr angenehmer zu händeln.
Mit dem folgenden SQL-Befehl werden deutschsprachige Produktbewertungen aus den Shopvote-Tabellen in die Gambio-Datenbank-Tabellen übertragen und können von dort aus gesammelt exportiert werden:
-- Sprach-ID fest: 2 (Deutsch) SET @LANG_ID := 2; -- Mapping-Tabelle (merkt importierte Reviews per review_uid) CREATE TABLE IF NOT EXISTS shopvote_reviews_to_reviews ( review_uid VARCHAR(32) NOT NULL, reviews_id INT(11) NOT NULL, PRIMARY KEY (review_uid), KEY (reviews_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci; -- Nur zuordenbare & noch nicht importierte Bewertungen nach reviews übernehmen INSERT INTO reviews ( products_id, customers_id, customers_name, reviews_rating, date_added, reviews_read ) SELECT p.products_id, NULL AS customers_id, LEFT(s.author, 64) AS customers_name, GREATEST(1, LEAST(5, s.rating_value)) AS reviews_rating, CAST(CONCAT(s.created, ' 00:00:00') AS DATETIME) AS date_added, 0 AS reviews_read FROM shopvote_reviews s JOIN products p ON p.products_ean = s.gtin LEFT JOIN shopvote_reviews_to_reviews map ON map.review_uid = s.review_uid WHERE map.review_uid IS NULL; -- Mapping (review_uid -> reviews_id) nachtragen INSERT IGNORE INTO shopvote_reviews_to_reviews (review_uid, reviews_id) SELECT s.review_uid, r.reviews_id FROM shopvote_reviews s JOIN products p ON p.products_ean = s.gtin JOIN reviews r ON r.products_id = p.products_id AND r.customers_name = LEFT(s.author, 64) AND r.date_added = CAST(CONCAT(s.created, ' 00:00:00') AS DATETIME) AND r.reviews_rating = GREATEST(1, LEAST(5, s.rating_value)) LEFT JOIN shopvote_reviews_to_reviews map ON map.review_uid = s.review_uid WHERE map.review_uid IS NULL; -- Texte in reviews_description mit languages_id = 2 anlegen INSERT IGNORE INTO reviews_description (reviews_id, languages_id, reviews_text) SELECT map.reviews_id, @LANG_ID AS languages_id, s.review_text FROM shopvote_reviews_to_reviews map JOIN shopvote_reviews s ON s.review_uid = map.review_uid;