Shopware Estensioni Shopware

Contatore Carrelli per Shopware 6: riprova sociale «In più di 20 carrelli» sulla scheda prodotto

La riprova sociale che converte: mostrate quanti clienti hanno già questo prodotto nel carrello.

Su Shopware un carrello non esiste come righe di una tabella: viene serializzato in un'unica colonna payload della tabella cart. Mostrare «questo prodotto è in 23 carrelli» richiederebbe quindi di deserializzare tutti i carrelli del negozio a ogni visualizzazione di scheda prodotto, cosa impraticabile. Questo plugin risolve il problema in modo diverso: mantiene un proprio indice (token del carrello, prodotto, canale di vendita, indicatore di ordine) alimentato in tempo reale dagli eventi carrello di Shopware, poi conta quell'indice con una singola query indicizzata tenuta in cache. Il risultato è un badge di riprova sociale costruito sui vostri dati reali di carrello, senza impatto misurabile sul tempo di rendering della scheda.

A colpo d'occhio
  • Badge «In più di 20 carrelli» sotto il blocco di acquisto della scheda prodotto
  • Conteggio reale dei carrelli in corso, deduplicato per token e limitato al canale di vendita
  • Indice dedicato alimentato dagli eventi carrello, aggira la serializzazione di Shopware
  • Soglia di visualizzazione, finestra temporale, fascia arrotondata o numero esatto, cache configurabile
  • Compatibile con Shopware 6.5, 6.6 e 6.7, testi tradotti in 6 lingue
Shopware 6.5 / 6.6 / 6.7 PHP 8.1+ Multi canale di vendita 6 lingue Codice sorgente incluso
  • Rimborso 30 giorni
  • 12 mesi di aggiornamenti
  • Supporto 24h
www.datafirefly.com/it/
Badge «In più di 20 carrelli» mostrato sotto il blocco di acquisto di una scheda prodotto Shopware 6
v1.0.0 · aggiornato 2026-08-11
Cosa fa

La versione breve.

01

Riprova sociale immediata

Un badge «In più di 20 carrelli» sotto il blocco di acquisto, attivato solo sopra la soglia che definite. Sotto non viene mostrato nulla, quindi il messaggio resta sempre valorizzante.

02

Basato sui vostri dati reali

Conteggio dei carrelli che contengono davvero il prodotto, deduplicato per token e limitato al canale di vendita corrente. Nessuna cifra inventata, nessuna simulazione casuale.

03

Un indice, non una deserializzazione

Shopware serializza il carrello in un unico payload. Il plugin mantiene una tabella di indice alimentata da CartSavedEvent, trasformando un problema impossibile in una query indicizzata di pochi millisecondi.

04

Prestazioni sotto controllo

Cache integrata con durata configurabile, svuotata automaticamente a ogni modifica della configurazione. Nessun ricalcolo SQL a ogni visualizzazione, anche nei picchi di traffico.

05

Varianti aggregate

Su un prodotto con varianti, i carrelli di tutte le varianti confluiscono nel contatore del prodotto padre. Una taglia 42 in tre carrelli e una taglia 43 in due carrelli mostrano cinque carrelli, non due contatori separati.

06

Configurabile nel dettaglio

Soglia, finestra temporale, solo carrelli attivi, modalità fascia o esatta, passo di arrotondamento, posizione sopra o sotto il blocco di acquisto, tre stili di badge, periodo di conservazione.

La versione lunga

Tutto quello che vorresti sapere prima di installare.

Uno sguardo dettagliato su come funziona Contatore Carrelli per Shopware 6: riprova sociale «In più di 20 carrelli» sulla scheda prodotto, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.

§ 01

Perché questo modulo non esiste nativamente su Shopware

Su PrestaShop, contare i carrelli che contengono un prodotto si fa con una join sulla tabella delle righe di carrello. Su Shopware quella tabella non esiste: l'intero carrello viene serializzato in una colonna payload della tabella cart, spesso compressa. Una query SQL non può quindi sapere cosa contiene un carrello senza deserializzarlo, e deserializzare diverse migliaia di carrelli a ogni visualizzazione di scheda prodotto è fuori discussione. È questo il motivo per cui questo tipo di riprova sociale è diffuso su PrestaShop e raro su Shopware.

§ 02

La soluzione: un indice alimentato dagli eventi

Il plugin crea una tabella df_cart_popularity che associa token del carrello, identificativo prodotto, canale di vendita, quantità e indicatore di ordine. L'indice viene aggiornato a ogni persistenza del carrello tramite CartSavedEvent: prodotti aggiunti, quantità modificate, righe rimosse, tutto viene sincronizzato in due query. Il conteggio diventa allora un semplice COUNT DISTINCT su un indice composito, eseguito una volta per durata di cache e per prodotto. Il costo aggiuntivo lato carrello è di circa due query indicizzate per modifica, invisibile in un profilo prestazionale.

§ 03

Due modi di mostrare il numero

La modalità fascia arrotonda il contatore per difetto secondo il passo definito, per un effetto «In più di 20 carrelli» che resta credibile e avanza per scaglioni. La modalità esatta mostra la cifra reale per i negozi che preferiscono la trasparenza totale, con una variante al singolare gestita automaticamente. Le tre formulazioni risiedono negli snippet di Shopware e si modificano per lingua dall'amministrazione, senza toccare il codice e con un segnaposto dinamico per il numero.

§ 04

Un conteggio onesto e configurabile

La finestra temporale limita il conteggio ai carrelli aggiornati di recente, evitando di accumulare carrelli fantasma vecchi di mesi. L'opzione solo carrelli attivi esclude quelli già trasformati in ordine, rilevati tramite CartConvertedEvent. La limitazione per canale di vendita impedisce che un picco sul negozio tedesco gonfi il contatore di quello francese. Ognuna di queste opzioni si sovrascrive canale per canale dalla configurazione del plugin.

§ 05

Compatibilità da 6.5 a 6.7 senza compromessi

Il template estende solo il blocco esterno del buy widget e richiama il suo parent, il che lo rende immune alle rinominazioni dei blocchi interni avvenute tra 6.5 e 6.7 e compatibile con i temi che personalizzano il blocco di acquisto. La pulizia di conservazione funziona senza attività pianificata né coda di messaggi, perché la firma del gestore delle attività è cambiata tra 6.5 e 6.6: viene eseguita al massimo una volta all'ora, oppure su richiesta con il comando CLI. La struct di visualizzazione è agganciata sia all'entità prodotto sia alla pagina, il che copre il rendering tramite l'elemento Buy box delle Shopping Experiences e la vista rapida.

§ 06

Standard DataFirefly

Plugin sviluppato senza dipendenza Composer, rendering lato server, nessuna libreria JavaScript esterna, nessuna chiamata di rete in uscita. Una sola tabella creata, eliminata alla disinstallazione quando scegliete di non conservare i dati. Nessun dato personale registrato: l'indice contiene solo il token di carrello pseudonimo e il riferimento prodotto, con conservazione configurabile. Codice sorgente PHP e Twig non offuscato, licenza perpetua, 12 mesi di aggiornamenti inclusi.