Shopsystem ShopPilot

ShopPilot => Online-Module => IBOReview => Thema gestartet von: dobra am August 13, 2020, 10:39:11

Titel: 1/2 Sterne vergeben
Beitrag von: dobra am August 13, 2020, 10:39:11
Aufgabe:
die Anzeige der durchschnittlichen Sterne eines Artikels soll "genauer" = auf ,5 statt nur auf Ganzahlen erfolgen.
(https://www.woll-insel.at/Bilder/SP-Forum/bewesterne.jpg)

Lösung:

1) ein Image "note3.gif"  (https://www.barrique-shop.de/eh/review_modul/note3.gif)  anlegen.
    note3.gif im Anhang - in den Ordner "review_modul" und in "Dateinen hinzufüen" eintragen.

2) in reviewuser.ipl
sub review_grade{ ... }
ergänzen mit
my $ins3 = qq|<img style="border: 1px solid #fff !important;" src="$ssp::catalog_abs/review_modul/note3.gif" alt="">|;

elsif ($pic == 1.5){
$tmp = $ins . $ins3. $ins2 . $ins2 . $ins2;
}
elsif ($pic == 2.5){
$tmp = $ins . $ins .$ins3 . $ins2 . $ins2 ;
}
elsif ($pic == 3.5){
$tmp = $ins . $ins . $ins . $ins3 . $ins2 ;
}
elsif ($pic == 4.5){
$tmp = $ins . $ins . $ins . $ins . $ins3 ;
}

suchen nach
## Berechnung der Durchschnittlichen Bewertungen pro Artikel
sub average{ ...

hier unter
$gesamt = sprintf("%.0f", $gesamt/$count);ersetzen mit
$gesamt = sprintf("%.1f", $gesamt/$count);
$gesamt = runden($gesamt*2)/2;

unterhalb von sub average{ .... } einfügen
sub runden {
    my $val = shift || 0;
    my $r =  ( $val < 0 ) ? -1 : 1;
    $r *= 0.5;   
    return int($val + $r);
}