Neu Importieren von Bewertungen aus anderem Shopsystem

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
Hallo Community, ich habe Bewertung erfolgreich in die tabelle "tbewertung" importiert. Ruft man nun einen Artikel auf, erscheinen die auch. Nur im Tab steht immer Bewertungen (0), auch wenn da z.b. 5 Bewertungen sind. Schreibe ich nun eine dazu, steht dann Bewertungen (6). Wo kommt die Zahl eigentlich her?
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung
Die wird in einer extra Funktion berechnet, wenn eine Bewertung für den jeweiligen Artikel freigeschaltet wurde.

Ich hatte mir mal eine Funktion geschrieben, die einmal durch alle Artikel ging um das zu berechnen, oder das über einen globalen Query gemacht, ist schon eine Weile her, das ich das machen musste, ich glaube aber es war eher eine temporäre einmal Funktion, weil es einfacher war.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung
Doch aber es wird nach jeder freigegebenen Bewertung neu berechnet, wenn du Bewertungen importiert hast, wird das nicht automatisch berechnet.
Teste das doch einfach aus und erstelle für einen der Artikel eine neie neue Bewertung.
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
ja, das ist mir ja aufgefallen. wenn ich jetzt noch wüsste, welches DB-Feld gefüllt werden muss, kann da mein import-script was reinschreiben 🙂
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung
das kannst du nicht einfach so importieren 🙂

das ist in der Tabelle tartikelext du hast zwei Möglichkeiten.
  1. Du nimmst dir die Berechnungsfunktion vom Shop, lässt die einmal, angewendet auf alle Artikel die eine Bewertung haben durchlaufen.
  2. Du regelst das über einen sensationellen SQL Query
  3. Du wartest bis jeweils ein weiterer User einen Artikel bewertet, der dann die Berechnung für den einen Artikel anstößt
  4. Du hast irgendwo hinterlegt, wie die Bewertungen je Artikel waren und spielst dies manuell in der Datenbank ein, setzt aber voraus, dass kArtikel vorher den gleichen Wert hatte wie damals ID oder was auch immer du hast.
Such dir eins davon aus 🙂
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
Also in der tartikelext steht nur der Durchschnitt der Bewertungen. Konkret: Artikel hatte 5 Bewertungen mit mit 5 Sternen. Ich erzeuge eine sechste mit 4 Sternen, gebe die frei und schon steht in der Table tartikelext im Feld "DurchschnittsBewertung" unter der ID des Artikels der Wert 4.8333, aber nicht die Zahl 6.

Also das ist es nicht. Weitere Ideen?
 

deliman

Sehr aktives Mitglied
13. Februar 2016
1.069
132
Wir haben letzten Herbst beim Umstieg auf den JTL Shop die Bewertungen aus dem alten Shop direkt in die Shopdatenbank importiert und die Bewertungen danach im Shopbackend per hand freigeschalten. Das hat zu 98% funktioniert. Gut einige Bewertungen wurden falsch zugeordnet aber das kann an der generellen Zuordnung bestimmter Artikel-ID Nummern vom alten Shop zu den Artikeldaten aus der Wawi gelegen haben. Da mussten wir beim Erstimport der Artikel in die Wawi doch etwas "tricksen" und die unterschiedlichen Daten in mehreren Durchgängen via Ameise importieren... Hat letztlich aber fast alles so gepasst.
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung
Ach, ich bin davon ausgegangen das du genau das brauchst.
Hast du die Sprache beachtet in tbewertung?
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
Absolut. Die Bewertungen werden auch alle im jeweiligen Artikel angezeigt. Nur steht im Tab "Bewertungen (0)" ... erst wenn ich einen neue schreibe, steht dann z.B. "Bewertungen (8)"
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
233
Wenn Bewertungen von einer externen Quelle in die Tabelle "tbewertungen" importiert werden, muss anschließend folgendes SQL-Statement ausgeführt werden, damit die Durchschnittsbewertungen neu berechnet wwerden

Code:
TRUNCATE tartikelext;
INSERT INTO tartikelext (kArtikel,fDurchschnittsBewertung)
SELECT kArtikel, SUM( nSterne ) / COUNT( * ) FROM tbewertung GROUP BY kArtikel

Zu der Gesamtanzahl:

Wurde der Object-Cache für Artikel gelöscht?
 
  • Gefällt mir
Reaktionen: qconq

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
So...Danke Leute! Das sql hat es gebracht. Nun steht überall die korrekte Anzahl da, obwohl in der Tabelle ja nur der Durchnittswert steht. Wer weiß, wo die noch verknüpft ist...
 

css-umsetzung

Offizieller Service Partner
SPBanner
6. Juli 2011
8.651
2.702
Berlin
Firma
css-umsetzung
gar nicht, du hast vermutlich erst jetzt die richtige Zuordnung, denn alles was jetzt passierte, ist ja das du die Tabelle einmal gekillt und neu aufgebaut hast, das war Punkt 2 meiner Liste
 

jav666

Gut bekanntes Mitglied
5. August 2010
200
1
aber "die Tabelle" ... also "tartikelext", da steht doch nix drin außer dem Durchschnittswert. Zumindest keine Anzahl. Ist bestimmt eine Verknüpfung über die ID und da die nicht erfüllt, war gibts auch keine Anzahl.
 

Ähnliche Themen