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:
$shipping_status_image = $main->getShippingStatusImage($array['products_shippingtime']);
füge darunter ein:
// 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:
'PRODUCTS_DESCRIPTION' => $array['products_description'],
füge darunter ein:
// 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:
new_customer = 'Neukunde?'
folgendes ein:
text_rating_kunden = 'Kundenmeinungen'
text_ein_rating_kunden = 'Kundenmeinung'
Öffne: "/templates/DEIN_TEMPLATE/module/product_listing/product_listing_v1.html"Suche nach:
{$module_data.PRODUCTS_SHIPPING_NAME}</p>
{/if}
füge darunter ein:
<!-- 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.
Nun wünsche ich viel Spaß damit.
Das ist hier ein absolut geiles Forum
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):
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:
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:
text_rating_kunden = 'customer rewviews'
text_ein_rating_kunden = 'customer review'
Öffne: "/includes/modules/product_info.php"
suche nach:
$info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);
füge davor folgendes ein:
$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:
{$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 TomcraftUnd 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:
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:
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:
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:
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:
{$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:
{$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:
{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