Shopware Marketing & promoties

Winkelwagenteller Shopware 6: sociale bewijskracht “In meer dan 20 winkelwagens” op de productpagina

De sociale bewijskracht die converteert: laat zien hoeveel klanten dit product al in hun winkelwagen hebben.

Op Shopware bestaat een winkelwagen niet als losse regels in de database: hij wordt geserialiseerd in één payload van de tabel cart. "Dit product zit in 23 winkelwagens" tonen zou dus betekenen dat bij elke weergave van een productpagina alle winkelwagens van de shop gedeserialiseerd moeten worden, wat onwerkbaar is. Deze plugin lost het anders op: hij houdt een eigen index bij (winkelwagentoken, product, verkoopkanaal, besteld-status) die in realtime wordt gevoed door de winkelwagengebeurtenissen van Shopware, en telt die index met één geïndexeerde query die in cache staat. Het resultaat is een sociale bewijsbadge op basis van uw echte winkelwagendata, zonder meetbare impact op de rendertijd van de productpagina.

At a glance
  • Badge "In meer dan 20 winkelwagens" onder het koopblok van de productpagina
  • Werkelijke telling van lopende winkelwagens, ontdubbeld per winkelwagentoken en gescoped op het verkoopkanaal
  • Eigen index gevoed door winkelwagengebeurtenissen, omzeilt de serialisatie van de Shopware-winkelwagen
  • Weergavedrempel, tijdvenster, afgeronde drempelmodus of exact aantal, instelbare cache
  • Compatibel met Shopware 6.5, 6.6 en 6.7, teksten vertaald in 6 talen
Shopware 6.5 / 6.6 / 6.7 PHP 8.1+ Multi verkoopkanaal 6 talen Broncode inbegrepen
  • 30 dagen geld terug
  • 12 maanden updates
  • Support binnen 24 uur
www.datafirefly.com/nl/
Badge "In meer dan 20 winkelwagens" onder het koopblok van een Shopware 6 productpagina
v1.0.0 · bijgewerkt 2026-08-11
Wat het doet

De korte versie.

01

Directe sociale bewijskracht

Een badge "In meer dan 20 winkelwagens" onder het koopblok, die alleen boven de door u ingestelde drempel verschijnt. Daaronder wordt niets getoond: de boodschap blijft altijd positief.

02

Gebaseerd op uw echte data

Telling van de winkelwagens die het product werkelijk bevatten, ontdubbeld per winkelwagentoken en beperkt tot het huidige verkoopkanaal. Geen verzonnen cijfers, geen willekeurige simulatie.

03

Een index, geen deserialisatie

Shopware serialiseert de winkelwagen in één payload. De plugin houdt een indextabel bij die gevoed wordt door CartSavedEvent, waardoor een onmogelijk probleem verandert in een geïndexeerde query van enkele milliseconden.

04

Beheerste prestaties

Ingebouwde cache met instelbare levensduur, automatisch geleegd bij elke configuratiewijziging. Geen SQL-herberekening bij elke weergave van een productpagina, ook niet tijdens verkeerspieken.

05

Varianten geaggregeerd

Bij een product met varianten tellen de winkelwagens van alle varianten mee op de teller van het bovenliggende product. Maat 42 in drie winkelwagens en maat 43 in twee winkelwagens tonen samen vijf winkelwagens, niet twee losse tellers.

06

Tot in detail instelbaar

Drempel, tijdvenster, alleen actieve winkelwagens, drempelmodus of exact aantal, afrondingsstap, plaatsing boven of onder het koopblok, drie badgestijlen, bewaartermijn.

De lange versie

Alles wat u wilt weten voordat u installeert.

Een gedetailleerde blik op hoe Winkelwagenteller Shopware 6: sociale bewijskracht "In meer dan 20 winkelwagens" op de productpagina werkt, waarom we het zo gebouwd hebben en de gedachte achter de bovenstaande functies.

§ 01

Waarom deze module niet standaard op Shopware bestaat

Op PrestaShop telt u de winkelwagens die een product bevatten met een join op de tabel met winkelwagenregels. Op Shopware bestaat die tabel niet: de volledige winkelwagen wordt geserialiseerd in een payload-kolom van de tabel cart, vaak gecomprimeerd. Een SQL-query kan dus niet weten wat een winkelwagen bevat zonder die te deserialiseren, en enkele duizenden winkelwagens deserialiseren bij elke weergave van een productpagina is uitgesloten. Dat is de reden waarom dit type sociale bewijskracht gangbaar is op PrestaShop en zeldzaam op Shopware.

§ 02

De oplossing: een index gevoed door gebeurtenissen

De plugin maakt een tabel df_cart_popularity aan die een winkelwagentoken koppelt aan een product-id, een verkoopkanaal, een hoeveelheid en een besteld-indicator. Die index wordt bijgewerkt bij elke persistentie van de winkelwagen via de gebeurtenis CartSavedEvent: toegevoegde producten, gewijzigde hoeveelheden, verwijderde regels, alles wordt in twee queries gesynchroniseerd. Het tellen wordt dan een eenvoudige COUNT DISTINCT op een samengestelde index, uitgevoerd één keer per cacheduur en per product. De extra kost aan de winkelwagenkant bedraagt ongeveer twee geïndexeerde queries per wijziging, onzichtbaar in een performanceprofiel.

§ 03

Twee manieren om het aantal te tonen

De drempelmodus rondt de teller naar beneden af volgens de stap die u instelt, voor een effect "In meer dan 20 winkelwagens" dat geloofwaardig blijft en per schijf evolueert. De exacte modus toont het werkelijke cijfer voor shops die volledige transparantie verkiezen, met een enkelvoudsvariant die automatisch wordt afgehandeld. De drie formuleringen leven in de Shopware-snippets en worden per taal aangepast vanuit de administratie, zonder de code aan te raken, met een dynamische plaatshouder voor het aantal.

§ 04

Een eerlijke telling, instelbaar

Het tijdvenster beperkt de telling tot winkelwagens die recent zijn bijgewerkt, wat voorkomt dat er spookwinkelwagens van maanden oud worden opgestapeld. De optie alleen actieve winkelwagens sluit winkelwagens uit die al tot een bestelling zijn omgezet, gedetecteerd via CartConvertedEvent. De scoping per verkoopkanaal voorkomt dat een piek in uw Duitse shop de teller van de Nederlandse shop opblaast. Elk van deze opties overschrijft u kanaal per kanaal vanuit de pluginconfiguratie.

§ 05

Compatibiliteit 6.5 tot 6.7 zonder compromis

De template breidt alleen het externe blok van de buy-widget uit en roept zijn parent aan, waardoor hij ongevoelig is voor de hernoemingen van interne blokken tussen 6.5 en 6.7 en compatibel met thema's die het koopblok aanpassen. De opschoning van de bewaartermijn werkt zonder geplande taak of message queue, omdat de signatuur van de taakhandler tussen 6.5 en 6.6 is gewijzigd: hij draait maximaal één keer per uur, of op aanvraag via het CLI-commando. De weergavestruct wordt zowel aan de productentiteit als aan de pagina gekoppeld, wat zowel de rendering via het Buy box element van de Shopping Experiences als de quick view dekt.

§ 06

DataFirefly-standaarden

Plugin ontwikkeld zonder Composer-afhankelijkheid, server-side gerenderd, geen externe JavaScript-bibliotheek, geen uitgaande netwerkoproep. Eén enkele tabel aangemaakt, verwijderd bij deïnstallatie wanneer u de gegevens niet bewaart. Geen persoonsgegevens opgeslagen: de index bevat alleen het pseudonieme winkelwagentoken en de productreferentie, met een instelbare bewaartermijn. Niet-geobfusceerde PHP- en Twig-broncode, eeuwigdurende licentie, 12 maanden updates inbegrepen.