Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona Dynamic Product Groups Sottocategorie Shopware 6 — DfStreamCategoryTree: filtro categoria ricorsivo che include le categorie figlie, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
Perché il filtro categoria nativo non scende nell'albero
Il costruttore di condizioni dei gruppi dinamici espone un campo Categories che interroga l'associazione product.categoriesRo. Tale associazione elenca soltanto le categorie a cui un prodotto è esplicitamente collegato nella sua scheda Categories. Un catalogo ben organizzato colloca i prodotti nelle categorie foglia: un modello di sneaker sta in Uomo, Calzature, Sneaker, non in Uomo. La conseguenza è meccanica: un filtro su Uomo restituisce solo i rari prodotti assegnati direttamente a quel livello. Non è un bug, è il comportamento documentato dell'associazione, ma sorprende sistematicamente al momento di creare uno stream di merchandising su un'intera famiglia.
Cosa fa product.categoryTree
Shopware mantiene già su ogni prodotto un campo JSON chiamato categoryTree che contiene l'identificativo di tutte le categorie del percorso, dalla radice fino alla categoria di assegnazione. Il CategoryIndexer lo ricalcola a ogni spostamento di categoria e a ogni modifica di assegnazione prodotto. La storefront lo utilizza internamente per i listing di categoria. Un filtro equalsAny su questo campo con l'identificativo di una categoria padre restituisce quindi tutti i prodotti il cui percorso passa attraverso di essa, a qualsiasi profondità. Il campo esiste e funziona nel DAL, ma l'amministrazione non lo propone nel selettore del costruttore di condizioni: non figura nella lista di autorizzazione del servizio productStreamConditionService.
Il ruolo esatto del plugin
DfStreamCategoryTree aggiunge una riga a questa lista di autorizzazione e fornisce le etichette tradotte corrispondenti. Tutto qui, ed è voluto. Non introduce alcun decoratore di servizio, alcun listener sugli eventi prodotto, alcuna tabella, alcuna migrazione. Il filtro costruito nell'interfaccia è un filtro DAL perfettamente standard, valutato dallo stesso motore delle altre condizioni dello stream. Significa anche che uno stream configurato con questo plugin resta leggibile e utilizzabile anche se il plugin viene disattivato in seguito: il filtro continua a funzionare a livello DAL, scompare solo la visualizzazione del campo nell'interfaccia.
Casi d'uso tipici
Una pagina di categoria di navigazione alimentata da un gruppo dinamico su un'intera famiglia di prodotti, senza elencare le sottocategorie a mano. Una regola di promozione che applica uno sconto a un intero reparto, sottoreparti compresi. Un blocco di cross-selling automatico costruito sul reparto di appartenenza del prodotto consultato. Un feed di export o un blocco Shopping Experience alimentato da uno stream che deve riflettere un intero ramo del catalogo. In tutti questi casi la versione nativa impone di riaprire la configurazione a ogni nuova sottocategoria. La versione categoryTree non richiede alcuna manutenzione.
Installazione e ricompilazione dell'amministrazione
Il plugin si installa caricando uno ZIP in Extensions, My extensions, oppure depositando la cartella in custom barra plugins ed eseguendo poi plugin:refresh e plugin:install --activate. Poiché modifica il comportamento dell'amministrazione, dopo l'installazione serve una ricompilazione del bundle admin tramite il comando build-administration oppure bin barra console bundle:dump seguito dalla compilazione. In un ambiente di produzione gestito da una pipeline di deploy, tale ricompilazione fa in genere già parte dei passaggi standard. Una volta ricompilata l'amministrazione, il campo compare subito nel selettore delle condizioni, senza configurazione plugin da compilare.
Cosa il plugin non fa
Non sostituisce il filtro Categories nativo, si affianca a esso. Non modifica l'algoritmo di indicizzazione delle categorie né il calcolo di categoryTree, consuma ciò che Shopware già produce. Non si applica ai filtri di listing della storefront né alla navigazione a faccette, che dipendono da un altro meccanismo. Non funziona su Shopware Cloud, poiché la versione SaaS ospitata da Shopware non consente l'installazione di plugin server. Infine non pretende di accelerare la valutazione degli stream: essendo il campo nativo e indicizzato, il costo di valutazione è quello di un filtro standard, né più né meno.
Ancora non ci sono recensioni.