Modify

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#1764 closed Erweiterung (fixed)

Durchschnitts-Bewertung nicht nur ganz-zahlig

Reported by: noRiddle Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.5.1
Component: Shop Version: 2.0.5.0
Keywords: Cc:
Blocked By: Blocking:

Description

Mittels der Methode getReviewsAverage() aus der product class wird in /includes/modules/product_info.php ganzzahlig gerundet.
Das sollte man auf z.B. 2 Stellen hinter dem Komma ändern damit man für die Anzeige der durchschnittlichen Bewertung auch Halb-Sterne benutzen kann.
Das Thema kam, imho zu Recht, in diesem Thread mit der Erweiterung von awids auf.

Es wäre in der /includes/modules/product_info.php
lediglich aus dieser Zeile

$info_smarty->assign('PRODUCTS_AVERAGE_RATING', $product->getReviewsAverage());

das zu machen

$info_smarty->assign('PRODUCTS_AVERAGE_RATING', $product->getReviewsAverage('', 2));

Im Template kann man dann nach Wahl anpassen, z.B. so wie hier von mir beschrieben, um auch Halb-Sterne angezeigt zu bekommen.

Gruß,
noRiddle

Attachments (0)

Change History (15)

comment:1 by Torsten Riemer, 6 years ago

Mit der Umsetzung in der "/includes/modules/product_info.php" allein ist es ja noch nicht getan. Bewertungssterne werden noch an vielen anderen Stellen angezeigt, wo diese dann auch für halbe Sterne angepasst werden müssten und zusätzlich besteht dann noch das Problem bei Drittanbieter-Templates, die die Sterne als Grafiken einbinden, anstelle per CSS. Dezimale Werte würden hier nie eine entsprechende Sterne-Grafik laden können, daher darf der vorhandene Smarty "PRODUCTS_AVERAGE_RATING" nicht verändert werden, sondern ein muss ein neuer "PRODUCTS_AVERAGE_RATING_DECIMAL" eingefügt werden, damit die Kompatibilität zu älteren Templates gewährleistet ist, die noch Grafiken für die Bewertungssterne verwenden.

comment:2 by noRiddle, 6 years ago

Okay, verstehe daß Bewertungssterne noch an vielen anderen Stellen angezeigt werden, war mir nicht so present. Wo denn ? Es geht ja hier um die Durchschnittsbewertung. Die einzelnen Bewertungen können und sollen ja nach wie vor ganz-zahlig bleiben.

Allerdings können gar wohl bei dezimalen Werten die Grafiken geladen werden. Das hängt doch von den if-else-Clauses im Template ab, also wenn >= oder <= bestimmte Werte dann zeige eine bestimmte Grafik.
Ich wollte halt vermeiden, daß die nötige Query für die product_info zweimal ausgeführt wird, was geschieht wenn man PRODUCTS_AVERAGE_RATING per auto_include überschreibt oder, wie du vorschlägst, zwei Werte mit der Funktion getReviewsAverage() ermittelt werden. Man kann es auch gleich in der Funktion getReviewsAverage() aus der product class ändern, indem man den Parameter $precision = 2 setzt.

Gruß,
noRiddle

comment:3 by noRiddle, 6 years ago

*NACHTRAG*
Und, unabhängig davon, daß das mit alten Templates und Grafiken auch bei dezimalen Werten geht, wie ich bereits schrieb:
Wenn ich sehe, daß ich 55 Template-Dateien anfassen mußte um von 2.0.4.2 auf 2.0.5.0 upzudaten dürfte das mit den alten Templates auch ein sehr dünnes Argument sein.

Gruß,
noRiddle

comment:4 by Markus Rehm, 6 years ago

Ich sehe das wie auch Torsten. Es macht keinen Sinn hier jetzt was auf die schnelle einzubauen damit man halbe oder "dezimale" Sterne anzeigen lassen kann. Wir müssen mit den Templates auch eine abwärts-Kompatibilität einhalten und das jetzt in allen Dateien abzufangen macht aus meiner Sicht nicht wirklich Sinn. Das ganze müsste in jeder Datei angepasst werden in der Sterne angezeigt werden. Da hätten wir die Bewertungsbox, 4 Moduldateien und die 3 Detailseiten. Mal ganz davon abgesehen wenn jemand auch noch Sterne im Listing anzeigt.

Was ich aber wichtig finde ist, dass das komplette Bewertungsystem überarbeitet werden muss. Seiten wie die reviews.php oder die products_reviews_info.php sind sowas von unnütz und müssen raus. Das schreiben einer Bewertung gehört direkt in die product_info rein und ich muss als Admin eine Möglichkeit haben Bewertungen zu kommentieren. In dem Zuge würde eine Anpassung auf Dezimalstellen dann auch Sinn machen.

Markus

comment:5 by noRiddle, 6 years ago

Wo bitte, außer in der prduct_info, wird denn eine Durschnittsbewertung angezeigt ?
(hatte ich bereits gefragt)
Ich schrieb doch extra
Zitat:
"Es geht ja hier um die Durchschnittsbewertung. Die einzelnen Bewertungen können und sollen ja nach wie vor ganz-zahlig bleiben."

Gruß,
noRiddle

comment:6 by Torsten Riemer, 6 years ago

Stimmt... das einzige Vorkommen von $product->getReviewsAverage ist in der "/includes/modules/product_info.php".

Version 0, edited 6 years ago by Torsten Riemer (next)

comment:7 by Markus Rehm, 6 years ago

Stimmt noRiddle ... da gebe ich dir Recht ... nur verstehe ich nicht warum wir das jetzt machen sollten. Nur wegen der Erweiterung von "awids"? Dann mach doch einfach eine Datei in den "autoinclude" Ordner mit dem Smarty und dann kann sich jeder der das haben möchte die Dezimalsterne anzeigen lassen. Wo liegt das Problem?

comment:8 by noRiddle, 6 years ago

@Tomcraft
Grafiken als Sterne ist doch egal, hatte ich ebenfalls bereits gesagt. Das hängt doch von den if-else-Clauses im Template ab. Wenn der Wert eine Kommastelle hat kann ich doch trotzdem ganzzahlig abfragen, um zu bestimmen ab welchem Wert welche Grafik angezeigt werden soll.

@Markus
Mit awids Erweiterung hat mein Ticket nichts zu tun. Ich habe das nur erwähnt weil das Thema in dem zugehörigen Thread aufkam. Daß das mit auto_include geht weiß ich selbst, habe ich in besagtem Thread geschrieben und auch hier bereits erwähnt. Es kommt aber, ich wiederhole mich, dann zu einer doppelt ausgeführten Query, unnötigerweise. Warum also nicht gleich flexibel einen Dezimalwert ausgeben; und mit dem kann man denn mittels besagter if-else-Clauses sowohl Grafiken wie auch Font-Icons wie auch eine pure CSS-Lösung anzeigen lassen.

Und:
Es gibt kein Problem. Wenn Ihr keinen Bock mehr habt Anregungen und Aussagen wirklich zu lesen und zu versuchen nachzuvollziehen lasst es.
Daß das hier wieder zu einer längeren Diskussion geführt hat liegt, mit Verlaub, daran, daß Ihr nicht nachvollzogen noch richtig gelesen habt was ich geschrieben habe. Das nervt echt langsam richtig. Und das für eine so simple Sache. Ihr arbeitet kontinuierlich daran, daß man keinen Bock mehr hat das Projekt zu unterstützen.

comment:9 by Markus Rehm, 6 years ago

Ganz ehrlich ... das hat nichts damit zu tun dass wir da keinen Bock haben. Ganz im Gegenteil.
Nur nehme ich dein Ticket eher als Anregung dieses ganze alte Reviews-Zeug endlich mal auf ordentliche und moderne Beine zu stellen. Das macht aus meiner Sicht viel mehr Sinn.

comment:10 by Gerhard Waldemair, 6 years ago

Ich habe dafür eine andere Lösung, welche ermöglicht die Funktion mehrfach aufzurufen, ohne den SQL mehrfach auszuführen.

@noRiddle
es ist eine Qualität alles zu hinterfragen um eine Lösung zu erarbeiten und nicht einfach alles blind zu machen. Das mag in deinen Augen manchmal nervig sein, aber eine optimale Lösung ist das was uns interessiert.

Gruss Gerhard

comment:11 by noRiddle, 6 years ago

Niemand hat "blindes Übernehmen" gefordert.
An der Argumentation sah ich lediglich, daß man meinen Worten geistig nicht gefolgt ist, sprich, sie nicht verstanden hat, sodaß ich - den Eindruck habe ich leider öfter hier - Dinge mehrfach sagen muß.
Ihr könnt mir glauben, daß ich nicht einfach wild Tickets aufmache sondern wenn, dann weiß ich genau warum (irren kann sich natürlich jeder).
Was soll's. Deine Lösung ist Top.

Danke.

Gruß,
noRiddle

comment:12 by Gerhard Waldemair, 6 years ago

Resolution: fixed
Status: newclosed

In 12571:

fix #1764 - make product methods static

comment:13 by Gerhard Waldemair, 6 years ago

Milestone: modified-shop-2.0.5.1

comment:14 by Gerhard Waldemair, 6 years ago

In 12572:

fix #1764 - make product methods static

comment:15 by awids, 6 years ago

Nur so als kleine Anregung, da Markus ja schrieb, das langfristig das gesamte alte Review-Zeugs mal auf ordentliche und moderne Beine gestellt werden soll und Dateien wie die "reviews.php" komplett rausfliegen sollten:

Die "reviews.php" würde ich schon drin lassen, aber statt der ganzen Einzelbewertungen könnte man auch ein TOP-Ranking für die am besten bewerteten Artikel from best to worst mit Anzahl der Bewertungen und dem Durchschnitt einbauen. Damit würde man seinen Kunden einen gewissen Mehrwert anbieten (gegenüber der bisherigen Inhalte dieser Seite) und vielleicht auch Einfluss auf die Kaufentscheidung nehmen.

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.