Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: MODUL: Rating Stars wie bei "Amazon & Co"

    Hainzy

    • Neu im Forum
    • Beiträge: 41
    MODUL: Rating Stars wie bei "Amazon & Co"
    am: 24. Januar 2010, 13:29:03
    Moin Moin an alle.
    Nach längerer Abwesenheit hier, ist HAINZY wieder on Board.

    Und hab euch da auch gleich was mitgebracht.

    RatingStars in der "product_listing", wie bei Amazon & Co.

    Die Sterne werden kaufmännisch gerundet angezeigt,
    (4,5 = 5, 3,4 = 3), sowie die Anzahl der Meinungen.

    Siehe Screenshot.

    Ich finde, es sieht geil aus.

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    RatingStars in der Produktübersicht anzeigen lassen

    Öffne: "/includes/classes/product.php"

    Suche nach:

    Code: PHP  [Auswählen]
    $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);

    füge darunter ein:

    Code: PHP  [Auswählen]
                            // BOF RatingStars by HAINZY
                            $reviews_query = xtDBquery
                            ("
                    SELECT
                    round(sum(reviews_rating) / count(products_id)) as rating
                    FROM
                    "
    .TABLE_REVIEWS."
                    WHERE
                    products_id = "
    . $array['products_id']
                            );
                            $reviews = xtc_db_fetch_array($reviews_query);

                            if($reviews['rating'] == "") {
                    $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_0.gif', '0');
                            } else {
                    $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['rating'].'.gif', $reviews['rating']);
                            }

                            $reviews_query = xtDBquery
                            ("
                    SELECT
                    round(sum(products_id) / (products_id)) as rating
                    FROM
                    "
    .TABLE_REVIEWS."
                    WHERE
                    products_id = "
    . $array['products_id']
                            );
                            $reviews = xtc_db_fetch_array($reviews_query);

                            if($reviews['rating'] == "") {
                    $bewertung_anzahl = ('0');
                            } else {
                    $bewertung_anzahl = ($reviews['rating']);
                            }
                            // EOF RatingStars by HAINZY

    Suche nach:

    Code: PHP  [Auswählen]
    'PRODUCTS_DESCRIPTION' => $array['products_description'],

    füge darunter ein:

    Code: PHP  [Auswählen]
                                    // BOF RatingStars by HAINZY
                                    'PRODUCTS_REVIEWS' => $bewertung,
                                    'PRODUCTS_REVIEWS_TEXT' => $bewertung_anzahl,
                                    // EOF RatingStars by HAINZY

    Öffne: "/lang/german/lang_german.conf"

    Suche den Bereich [index] (ca. Zeile 425)

    Füge unter:

    Code: PHP  [Auswählen]
    new_customer = 'Neukunde?'

    folgendes ein:

    Code: PHP  [Auswählen]
    text_rating_kunden = 'Kundenmeinungen'
    text_ein_rating_kunden = 'Kundenmeinung'

    Öffne: "/templates/DEIN_TEMPLATE/module/product_listing/product_listing_v1.html"

    Suche nach:

    Code: PHP  [Auswählen]
    {$module_data.PRODUCTS_SHIPPING_NAME}</p>
                    {/if}

    füge darunter ein:

    Code: PHP  [Auswählen]
            <!-- BOF Anzeige RatingStars mit passender Textausgabe by HAINZY -->
            <p></p>
            {$module_data.PRODUCTS_REVIEWS}<br />
            <p class="shippingtime">{if $module_data.PRODUCTS_REVIEWS_TEXT == 0}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_rating_kunden#}
           {elseif $module_data.PRODUCTS_REVIEWS_TEXT == 1}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_ein_rating_kunden#}
           {elseif $module_data.PRODUCTS_REVIEWS_TEXT> 1}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_rating_kunden#}
           {/if}</p>
            <!-- EOF Anzeige RatingStars mit passender Textausgabe by HAINZY -->

    Jetzt nur noch in eurem Verzeichnis:
    "/templates/DEIN_TEMPLATE/img/"

    die Dateien "stars_1.gif bis stars_5.gif", nach euren Wünschen anpassen.
    Nicht vergessen, dass für diese Anzeige auch eine "stars_0.gif" benötigt wird.

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    So, wenn ich alles hier richtig rein kopiert habe, sollte es auch funktionieren. :silly:

    Nun wünsche ich viel Spaß damit.
    Das ist hier ein absolut geiles Forum :thx:

    Zusatzerweiterung von EDVreinigung24:

    [...]
    Für alle die in den Produktdetails auch eine Zusammenfassung der Artikelbewertung hinzufügen möchten.

    RatingStars in der Produktdetail Ansicht anzeigen lassen
    [...]
    Öffne: "/includes/classes/product.php"

    gehe an das Ende der Classe und füge vor der "}" folgendes ein (ca.Zeile 507):

    Code: PHP  [Auswählen]
    function getReviewRatingStars() {

            $rating_query = xtDBquery("select
                                            AVG(r.reviews_rating) as avgrating
                                        from
                                            "
    . TABLE_REVIEWS . " r
                                        where
                                            r.products_id = '"
    . $this->pID . "'");

            $rating = xtc_db_fetch_array($rating_query, true);

                            if($rating['avgrating'] == "") {
                            $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_0.gif', '0');
                                    } else {
                            $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.round($rating['avgrating']).'.gif', round($rating['avgrating']));
                            }

            return $bewertung;
    }

             function getReviewRating() {

            $reviews_query = xtDBquery("SELECT
                                                                                                    round(sum(r.products_id) / (r.products_id)) as rating
                                                                                            FROM
                                                                                                    "
    .TABLE_REVIEWS." r
                                                                                            WHERE
                                                                                                    r.products_id = '"
    . $this->pID . "'");

                            $reviews = xtc_db_fetch_array($reviews_query);

                            if($reviews['rating'] == "") {
                                            $bewertung_anzahl = ('0');
                                                    } else {
                                            $bewertung_anzahl = ($reviews['rating']);
                            }

            return $bewertung_anzahl;
                      }

    Öffne: "/lang/german/lang_german.conf"

    suche den Bereich "[product_info]" (ca. Zeile 466)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_rating_kunden = 'Kundenmeinungen'
    text_ein_rating_kunden = 'Kundenmeinung'

    Öffne: "/lang/english/lang_english.conf"

    suche den Bereich "[product_info]" (ca. Zeile 466)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_rating_kunden = 'customer rewviews'
    text_ein_rating_kunden = 'customer review'

    Öffne: "/includes/modules/product_info.php"

    suche nach:

    Code: PHP  [Auswählen]
    $info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);

    füge davor folgendes ein:

    Code: PHP  [Auswählen]
    $info_smarty->assign('RATING', $product->getReviewRatingStars());
    $info_smarty->assign('RATINGS', $product->getReviewRating());

    Öffne: "/templates/deintemplate/module/product_info/product_info_v1.html"

    Wo man es einfügen möchte fügt man folgendes ein:

    Code: PHP  [Auswählen]
             {$RATING}<br />{if $RATINGS == 0}{$RATINGS} {#text_rating_kunden#}
           {elseif $RATINGS == 1}{$RATINGS} {#text_ein_rating_kunden#}
           {elseif $RATINGS> 1}{$RATINGS} {#text_rating_kunden#}
           {/if}

    Natürlich kann man noch ein Stylesheet für die Anzeige der Bewertung erstellen.

    Und hier noch eine Erweiterung des Moduls von Ben in Zusammenarbeit mit Tomcraft

    Und jetzt noch so, dass die Mehrsprachigkeit auch erhalten bleibt. ;-)

    Öffne: "/lang/german/lang_german.conf"

    suche den Bereich "[index]" (ca. Zeile 426)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_keine_rezension = 'Keine Kundenmeinung vorhanden.'
    text_write_first_review = 'Schreiben Sie die erste!'

    suche den Bereich "[product_info]" (ca. Zeile 466)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_keine_rezension = 'Keine Kundenmeinung vorhanden.'
    text_write_first_review = 'Schreiben Sie die erste!'

    Öffne: "/lang/english/lang_english.conf"

    suche den Bereich "[index]" (ca. Zeile 426)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_keine_rezension = 'No customer review available.'
    text_write_first_review = 'Write the first one!'

    suche den Bereich "[product_info]" (ca. Zeile 466)

    füge folgendes ein:

    Code: PHP  [Auswählen]
    text_keine_rezension = 'No customer review available.'
    text_write_first_review = 'Write the first one!'

    Öffne "/templates/DEIN_TEMPLATE/module/product_info/product_info_v1.html"

    Füge an gewünschter Stelle ein:

    Code: PHP  [Auswählen]
    {$RATING}{if $RATINGS == 0}
                            {#text_keine_rezension#} <br>
                           <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, '', 'NONSSL');{/php}?products_id={$PRODUCTS_ID}">
                            {#text_write_first_review#}</a>
                           {elseif $RATINGS == 1}
                            <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS, '', 'NONSSL');{/php}?products_id={$PRODUCTS_ID}">
                            {$RATINGS} {#text_ein_rating_kunden#}</a>
                           {elseif $RATINGS> 1}
                            <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS, '', 'NONSSL');{/php}?products_id={$PRODUCTS_ID}">
                            {$RATINGS} {#text_rating_kunden#}</a>
                           {/if}

    Öffne "/templates/DEIN_TEMPLATE/module/product_listing/product_listing_v1.html"

    Füge an gewünschter Stelle ein:

    Code: PHP  [Auswählen]
    {$module_data.PRODUCTS_REVIEWS}
                    {if $module_data.PRODUCTS_REVIEWS_TEXT == 0}
                    {#text_keine_rezension#}
                   <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, '', 'NONSSL');{/php}?products_id={$module_data.PRODUCTS_ID}">
                    {#text_write_first_review#}</a>
                   {elseif $module_data.PRODUCTS_REVIEWS_TEXT == 1}
                    <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS, '', 'NONSSL');{/php}?products_id={$module_data.PRODUCTS_ID}">
                    {$module_data.PRODUCTS_REVIEWS_TEXT} {#text_ein_rating_kunden#}</a>
                   {elseif $module_data.PRODUCTS_REVIEWS_TEXT> 1}
                    <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS, '', 'NONSSL');{/php}?products_id={$module_data.PRODUCTS_ID}">
                    {$module_data.PRODUCTS_REVIEWS_TEXT} {#text_rating_kunden#}
                   </a>{/if}

    Optional: Aus dem Thema Bewerten Sie diesen Artikel! nicht in einer Box sondern in product_info:
    Wer noch den Bewertungs-Button in der product_info_v1.html benötigt, der kann ihn wie folgt an gewünschter Stelle einfügen:

    Code: PHP  [Auswählen]
    {if $MODULE_products_reviews == ''}
            <a href="{php}echo xtc_href_link(FILENAME_PRODUCT_REVIEWS_WRITE, '', 'SSL');{/php}?info={$PRODUCTS_ID}"><img src="{$tpl_path}buttons/{$smarty.session.language}/button_write_review.gif" alt="..."></a>
    {/if}

    Grüße

    Torsten

    Beste Grüße

    HAINZY

    [EDIT Tomcraft 19.05.2010: Anleitung um Erweiterung von EDVreinigung24 ergänzt.]
    [EDIT Tomcraft 02.06.2010: Anleitung um Erweiterung von Tomcraft in Zusammenarbeit mit Ben ergänzt.]
    [EDIT Tomcraft 08.03.2011: Anleitung aktualisiert, Danke an Spegeli.]
    [EDIT jannemann 19.07.2013: Modul für Shopversion 1.06 aktualisiert, Danke an burrito.]
    [EDIT Tomcraft 25.09.2013: Fehler in Modul für Shopversion 1.06 korrigiert. Danke an Spegeli für den Hinweis.]

    Linkback: https://www.modified-shop.org/forum/index.php?topic=3541.0

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #1 am: 24. Januar 2010, 14:03:06
    Ich hätte Intresse.

    Grüsse

    Sven

    COTENA

    • Frisch an Board
    • Beiträge: 63
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #2 am: 24. Januar 2010, 14:25:07
    Joo, poste mal.

    Grüße

    ds170477

    • Fördermitglied
    • Beiträge: 1.522
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #3 am: 24. Januar 2010, 14:30:13
    Die Neugier ist geweckt :lol1:

    Gruss

    Daniel

    Hainzy

    • Neu im Forum
    • Beiträge: 41
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #4 am: 24. Januar 2010, 15:28:25
    Na gut, dann mal los :-)

    RatingStars in der Produktübersicht anzeigen lassen

    Öffne: includes/classes/product.php

    Suche nach:

    Code: PHP  [Auswählen]
    $shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
    füge darunter ein:

    Code: PHP  [Auswählen]
    // BOF RatingStars by HAINZY
                            $reviews_query = xtDBquery
                            ("
                    SELECT
                    round(sum(reviews_rating) / count(products_id)) as rating
                    FROM
                    "
    .TABLE_REVIEWS."
                    WHERE
                    products_id = "
    . $array['products_id']
                            );
                            $reviews = xtc_db_fetch_array($reviews_query);

                            if($reviews['rating'] == "") {
                    $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_0.gif', '0');
                            } else {
                    $bewertung = xtc_image('templates/'.CURRENT_TEMPLATE.'/img/stars_'.$reviews['rating'].'.gif', $reviews['rating']);
                            }

                            $reviews_query = xtDBquery
                            ("
                    SELECT
                    round(sum(products_id) / (products_id)) as rating
                    FROM
                    "
    .TABLE_REVIEWS."
                    WHERE
                    products_id = "
    . $array['products_id']
                            );
                            $reviews = xtc_db_fetch_array($reviews_query);

                            if($reviews['rating'] == "") {
                    $bewertung_anzahl = ('0');
                            } else {
                    $bewertung_anzahl = ($reviews['rating']);
                            }
                            // EOF RatingStars by HAINZY
    Suche nach:

    Code: PHP  [Auswählen]
    'PRODUCTS_DESCRIPTION' => $array['products_description'],
    füge darunter ein:

    Code: PHP  [Auswählen]
    // BOF RatingStars by HAINZY
                                    'PRODUCTS_REVIEWS' => $bewertung,
                                    'PRODUCTS_REVIEWS_TEXT' => $bewertung_anzahl,
                                    // EOF RatingStars by HAINZY
    Öffne: lang/german/lang_german.conf

    Suche den Bereich [index] (ca. Zeile 425)

    Füge unter:

    Code: PHP  [Auswählen]
    new_customer = 'Neukunde?'
    folgendes ein:

    Code: PHP  [Auswählen]
    text_rating_kunden = 'Kundenmeinungen'
    text_ein_rating_kunden = 'Kundenmeinung'
    Öffne: templates/deintemplate/module/product_listing/product_listing_v1.html

    Suche nach:

    Code: PHP  [Auswählen]
    {$module_data.PRODUCTS_SHIPPING_NAME}</p>
                    {/if}
    füge darunter ein:

    Code: PHP  [Auswählen]
    <!-- BOF Anzeige RatingStars mit passender Textausgabe by HAINZY -->
            <p></p>
            {$module_data.PRODUCTS_REVIEWS}<br />
            <p class="shippingtime">{if $module_data.PRODUCTS_REVIEWS_TEXT == 0}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_rating_kunden#}
           {elseif $module_data.PRODUCTS_REVIEWS_TEXT == 1}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_ein_rating_kunden#}
           {elseif $module_data.PRODUCTS_REVIEWS_TEXT> 1}{$module_data.PRODUCTS_REVIEWS_TEXT} {#text_rating_kunden#}
           {/if}</p>
            <!-- EOF Anzeige RatingStars mit passender Textausgabe by HAINZY -->
    Jetzt nur noch in eurem Verzeichnis:
    templates/deintemplate/img/

    die Dateien "stars_1.gif bis stars_5.gif", nach euren Wünschen anpassen.
    Nicht vergessen, dass für diese Anzeige auch eine "stars_0.gif" benötigt wird.

    So, wenn ich alles hier richtig rein kopiert habe, sollte es auch funktionieren. :silly:

    Nun wünsche ich viel Spaß damit.
    Das ist hier ein absolut geiles Forum  :thx:

    Beste Grüße

    HAINZY

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #5 am: 24. Januar 2010, 18:10:44
    Hallo Hainzy,

    ich habe deine Beiträge mal zusammengefügt, damit ich das in die Modulecke schieben kann. ;-)

    :thx:

    Sieht echt spitze aus! :D

    Vielleicht hast du ja noch die schicken Sternchen irgendwo rum liegen und kannst die hier noch anhängen? ;-)

    Grüße

    Torsten

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #6 am: 24. Januar 2010, 18:25:19
    Ich habe es mir eingebaut und dazu die stars_0 bis 5 neu gestaltet. Ich stelle die Dateien gerne zur Verfügung.

    Grüsse

    Sven

      [ Für Gäste sind keine Dateianhänge sichtbar ]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #7 am: 24. Januar 2010, 18:45:03
    Dann hänge ich die Dateien oben im ersten Beitrag nochmal mit an und würde die auch gerne gleich mit in modified eCommerce Shopsoftware integrieren, wenn du mir das erlaubst. ;-)

    Ich hab die mal in r714 in den Trunk geschoben. :mrgreen:

    Grüße

    Torsten

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #8 am: 24. Januar 2010, 18:57:35
    Hallo Torsten,

    schon gemacht. In der Anlage ist es eingebaut (1.03).
    Getestet auf meinem Testshop.

    Gruss

    Sven

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #9 am: 24. Januar 2010, 19:34:14
    Na das nenne ich Service! :D

    Daumen hoch! :thx:

    Ich habe das aber nochmal ein wenig überarbeitet bezüglich der Kommentare und noch eine lang_english.conf mit eingefügt.

    Grüße

    Torsten

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #10 am: 24. Januar 2010, 20:15:24
    Auf der Frontseite des Shops bei der Listung neuer Artikel wäre es auch schöne wenn die Bewertung angezeigt werden würde. Hast du die Änderungen auch gemacht??

    Gruss

    Sven

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #11 am: 24. Januar 2010, 20:17:22
    Nein, hab weiter nichts geändert am Code.

    Das Paket darf gerne erweitert werden, ich mach heute mal 'nen etwas ruhigeren Abend. Hab gestern lange gefeiert. Meine Freundin hat ihren Geburtstag nach gefeiert. ;-)

    Grüße

    Torsten

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #12 am: 24. Januar 2010, 20:23:12
    Dann mal ab auf das Sofa.

    Euch noch einen schönen Abend

    Sven

     :-)

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #13 am: 24. Januar 2010, 21:08:18
    Danke, werden wir haben. ;-)

    Grüße

    Torsten

    Hainzy

    • Neu im Forum
    • Beiträge: 41
    MODUL: Rating Stars wie bei "Amazon & Co"
    Antwort #14 am: 24. Januar 2010, 21:26:47
    Ja Mensch, das freut mich aber, wenn es euch gefällt. :mrgreen:

    Sehr gerne, sind natürlich, Änderungen und Verbesserungen, grundsätzlich erwünscht.
    Wie ihr ja an meiner Beitragszahl sehen könnt, bin ich nicht so der vielschreiber.
    Vielmehr der vielleser. Auch hier. Sorry.

    Aber ich hoffe sehr, immer einen guten Beitrag für die Weiterentwicklung zu leisten.

    @Tomcraft (Torsten)
    Würde mich ja riesig freuen, wenn das in der nächsten Version mit einfliest.
    Geht ja in die Geschichte des www ein. :D

    Ansonsten, Zusammenfassung oben ist super, Danke.

    Wenn mein Shop dann endlich auch fertig ist, stelle ich ihn hier auch mal vor.
    Im Moment ist es noch die xt:commerce Lösung pur.

    Erst einmal gute Nacht.

    Gruß

    HAINZY

    Ach Mensch, die Sternchen hätte ich fast vergessen :datz:

    5 Antworten
    8518 Aufrufe
    20. März 2012, 10:21:36 von hstreicher
    1 Antworten
    3135 Aufrufe
    30. Juli 2018, 10:25:19 von alkim media
    6 Antworten
    5027 Aufrufe
    12. März 2018, 14:32:49 von andy.kegel
               
    anything