Bewertungen mit Anzahl in Listenansicht

Hallo zusammen, weiß jemand von euch, wie man in der Listenansicht hinter den Sternchen noch die Anzahl der Bewertungen platziert?

Beispiel:
***** (258)

Auf der Detailseite in der /storefront/page/product-detail/buy-widget.html.twig geht es so:
{{ page.reviews.totalReviews }}

Aber in der Listenansicht in dieser Datei /storefront/component/product/card/box-standard.html.twig, kann ich das leider nicht einsetzen.

{% block component_product_box_rating %}
    {% if shopware.config.core.listing.showReview %}
        <div class="product-rating">
            {% if product.ratingAverage %}
                {% sw_include '@Storefront/storefront/component/review/rating.html.twig' with {
                    points: product.ratingAverage,
                    style: 'text-primary'
                } %} 
                <!-- HIER SOLL ES STEHEN
                <small>(test a{{ page.reviews.totalReviews }} test b{{ reviews.totalReviews }} test c{{ product.reviews }})</small>
                 -->
            {% endif %}
        </div>
    {% endif %}
{% endblock %}

Twig kann nur die Daten ausgeben, die existieren. Ohne nachgesehen zu haben, ich bin mir aber ziemlich sicher, wird es im Listing keine review Daten geben, da dies unzählige Datenbankaufrufe nach sich ziehen würde.

Wenn du es dennoch haben möchtest, dann per Subscriber die association(reviews) zum product hinzufügen. Dann kannst du im Frontend auch darauf zugreifen.

@Max_Shop leider kann ich mit der Aussage, dass man per Subscriber die association-Reviews zum Produkt hinzufügen kann nicht so viel anfangen. Kenne mich mit der Shopware-Programmierung gar nicht aus.

Frage mich nur warum das auf der Detailseite dann funktioniert und in der Listenansicht nicht. Geht ja nicht darum, dass man in der Listenansicht alle Bewertungen lesen möchte, sondern nur wissen möchte, wieviele Leute bewertet haben.

Vor allem zeigt auch „der große Versandhändler“ die Anzahl der Bewertungen eines jeden Produkts in der Listenansicht an.

Angenommen, in der Detail Seite erfolgt 1 Datenbank Abruf für die Reviews. Im Listing müsste dies dann 24 Mal oder wie viel Produkte auch immer angezeigt werden erfolgen. Es ist schlichtweg eine Performance-Optimierung, die Shopware da betreibt.

Bei 1 Abfrage, im Listing 24
Bei 2 Abfragen, im Listing 48
Bei 3 Abfragen, im Listing 62

Du siehst… je nachdem wie komplex die Abfrage ist kommen da schnell x Datenbankabfrage hinzu.

Der große Versandhändler hat Server-Farmen… Shopware ist ausgerichtet, dass es auch mit dem mini Server läuft. Deswegen kannst du es ja variable nachrüsten, wenn du genügen Ressourcen hast.

1 Like

@Max_Shop ja gut, das klingt plausibel. Ich danke dir für deine Mühe mir zu erklären, warum Shopware dies nicht von Haus aus bietet.

Viele Grüße