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.
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.
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.
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.
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.
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.
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.
There are no reviews yet.