diff options
| author | Roger Rehnelt <noreply@maennchen1.de> | 2026-10-04 16:14:50 +0200 |
|---|---|---|
| committer | Roger Rehnelt <noreply@maennchen1.de> | 2026-10-04 16:21:21 +0200 |
| commit | 40e3d1614cea93b734d568f4eebf20eb8954fa9b (patch) | |
| tree | b1c5f2a7c33105bd09d683d781d53e7f81769587 /views/mods/mod_reviews/list.phtml | |
| parent | c24b6746c27a7e81a9819ef523dec8f64a90f9a6 (diff) | |
Produktbewertungen: Sterne und Bewertungen im Shop
Sterne mit Schnitt unter dem Produktnamen und in den Kacheln, Liste mit Hinweis zur Echtheit unter dem Produkt, Link zum Bewerten im Kundenkonto. Ohne das Modul bleibt die Anzeige wie bisher.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'views/mods/mod_reviews/list.phtml')
| -rw-r--r-- | views/mods/mod_reviews/list.phtml | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/views/mods/mod_reviews/list.phtml b/views/mods/mod_reviews/list.phtml new file mode 100644 index 0000000..1080b5f --- /dev/null +++ b/views/mods/mod_reviews/list.phtml @@ -0,0 +1,57 @@ +<?php + /** + * Freigegebene Bewertungen unter dem Produkt (Modul Produktbewertungen) + * + * Mit Hinweis zur Echtheit (§ 5b Abs. 3 UWG). „Verifizierter Kauf“ steht nur an Bewertungen über den Link einer + * Bestellung (doc/bewertungen.md). + * @version 4.6.1 + */ + defined('ABSPATH') || exit; + + $v = $this->view['wpsg_mod_reviews']['list']; + $section_id = 'wpsg-reviews-'.intval($v['product_id']); +?> +<section class="wpsg-reviews<?php if ($v['wide']) echo ' alignwide'; ?>" id="<?php echo esc_attr($section_id); ?>" aria-labelledby="<?php echo esc_attr($section_id.'-title'); ?>"> + + <h2 class="wpsg-reviews__title" id="<?php echo esc_attr($section_id.'-title'); ?>"><?php echo esc_html__('Bewertungen', 'wpsg'); ?></h2> + + <?php echo $v['summary']; ?> + + <p class="wpsg-reviews__hint"><?php echo nl2br(esc_html($v['hint'])); ?></p> + + <ol class="wpsg-reviews__list"> + <?php foreach ($v['reviews'] as $review) { ?> + <li class="wpsg-review"> + + <?php echo $review['rating']; ?> + + <?php if ($review['title'] !== '') { ?> + <h3 class="wpsg-review__title"><?php echo esc_html($review['title']); ?></h3> + <?php } ?> + + <p class="wpsg-review__meta"> + <span class="wpsg-review__author"><?php echo esc_html($review['name']); ?></span> + <time class="wpsg-review__date" datetime="<?php echo esc_attr($review['datetime']); ?>"><?php echo esc_html($review['date']); ?></time> + <?php if ($review['verified']) { ?><span class="wpsg-review__verified"><?php echo esc_html__('Verifizierter Kauf', 'wpsg'); ?></span><?php } ?> + </p> + + <?php if ($review['text'] !== '') { ?> + <div class="wpsg-review__text"><?php echo nl2br(esc_html($review['text'])); ?></div> + <?php } ?> + + <?php if ($review['reply'] !== '') { ?> + <div class="wpsg-review__reply"> + <p class="wpsg-review__reply-title"><?php echo esc_html__('Antwort des Shops', 'wpsg'); ?></p> + <div><?php echo nl2br(esc_html($review['reply'])); ?></div> + </div> + <?php } ?> + + </li> + <?php } ?> + </ol> + + <?php if ($v['more_url'] !== '') { ?> + <p class="wpsg-reviews__more"><a href="<?php echo esc_url($v['more_url']); ?>"><?php /* translators: %s: Anzahl der Bewertungen */ echo esc_html(sprintf(__('Alle %s Bewertungen anzeigen', 'wpsg'), number_format_i18n($v['count']))); ?></a></p> + <?php } ?> + +</section> |
