Prodotti correlati automatici per Magento 2
Crea raccomandazioni di prodotto intelligenti in Magento 2 senza limitarti alle relazioni rigide related, upsell e cross-sell.
Kowal_RelatedProductsProfiles è un modulo che consente di progettare scenari di raccomandazione personalizzati basati su profili, attributi di prodotto, condizioni di attivazione, filtri di destinazione e inserimento flessibile nel layout dello store. In questo modo le raccomandazioni smettono di essere una lista statica e diventano parte della strategia di vendita del negozio.
Trasforma semplici liste di prodotti in veri scenari di vendita
In Magento standard i prodotti correlati sono spesso troppo semplici per gestire implementazioni più complesse. Lo store vuole mostrare prodotti diversi nella scheda prodotto, altri nel carrello e altri ancora nel checkout. A volte la lista deve funzionare solo per gruppi di clienti selezionati, solo durante una campagna stagionale oppure solo quando il prodotto soddisfa specifiche condizioni di catalogo.
Questo modulo è stato creato proprio per questi casi.
Invece di collegare manualmente i prodotti tra loro, crei un profilo di raccomandazione. Il profilo definisce:
- dove deve funzionare,
- per quale prodotto deve attivarsi,
- come selezionare i prodotti di destinazione,
- come restringerli e ordinarli,
- come devono apparire,
- dove devono essere renderizzati,
- e se devono alimentare le liste native di Magento.
Uno strumento, molte aree di implementazione
Il modulo funziona nelle aree più importanti dello store:
- nella scheda prodotto,
- nel carrello,
- nel checkout,
- nei blocchi nativi
Related Products, - nei blocchi nativi
Upsell Products, - nei blocchi nativi
Crosssell Products.
Questo significa che un unico profilo può diventare parte di diversi scenari di merchandising, senza che il team di implementazione debba creare una logica separata per ogni area dello store.
Profili che si adattano al tuo catalogo
Il punto di forza principale del modulo è che le raccomandazioni possono essere costruite non solo manualmente, ma anche dinamicamente in base agli attributi dei prodotti.
Puoi creare profili che:
- selezionano prodotti della stessa collezione,
- cercano prodotti con la stessa grafica,
- mostrano prodotti della stessa categoria,
- promuovono un'altra base prodotti collegata al prodotto visualizzato,
- restringono il risultato a tipi di prodotto specifici,
- funzionano solo per store view e gruppi di clienti selezionati.
Un esempio?
Il cliente visualizza una rashguard con grafica HALLOWEEN 25. Il profilo può trovare automaticamente prodotti con la stessa grafica in altre linee di prodotto, ad esempio shorts, leggings o accessori. Un altro profilo può invece utilizzare lo stesso prodotto come contesto nel carrello e proporre al cliente di completare l'ordine con prodotti provenienti da una base assortimentale selezionata.
Crea raccomandazioni basate su condizioni, non su eccezioni
Ogni profilo può avere i propri:
Activation Conditions,Matching Rules,Target Product Filters,- ordinamento,
- limiti di prodotti,
- variante di rendering,
- intervallo temporale di attività.
In pratica, questo offre un'enorme libertà.
Puoi creare un profilo che si attiva solo per prodotti con attributo brand = Nike, solo nello store B2C, solo per clienti retail e solo durante una campagna specifica. Puoi anche creare un profilo che utilizza il prodotto nel carrello come punto di riferimento e propone accessori in base a caratteristiche comuni del catalogo.
Non è più una semplice lista di prodotti. È un motore di raccomandazione basato su regole, adattabile al reale modello di vendita dello store.
Scegli quale prodotto deve essere il contesto
Nella scheda prodotto il contesto è il prodotto corrente. Ma nel carrello e nel checkout questa risposta non è sempre scontata. Per questo il modulo consente di definire Context Strategy, cioè il metodo di scelta del prodotto contestuale.
Puoi decidere che i profili si basino su:
- il primo prodotto del carrello,
- il prodotto aggiunto più di recente,
- il prodotto con il prezzo più alto.
Questa flessibilità fa una grande differenza nei progetti in cui il cliente aggiunge al carrello diversi prodotti e le raccomandazioni devono derivare da una logica di business specifica.
Scenari separati per prodotto, carrello e checkout
Ciò che funziona bene sulla PDP non sempre ha senso nel carrello. Il modulo consente di separare questi scenari senza moltiplicare le estensioni.
Nella scheda prodotto puoi mostrare una lista di prodotti della stessa collezione o dello stesso stile. Nel carrello puoi promuovere accessori che aumentano il valore dell'ordine. Nel checkout puoi preparare una lista semplificata e più prudente di prodotti a supporto del cross-sell.
Tutto questo all'interno di un unico sistema di profili.
Alimenta le liste native di Magento: append oppure replace
Non tutti gli store vogliono rinunciare subito ai meccanismi nativi di Magento. Per questo il modulo supporta l'integrazione con:
Related Products,Upsell Products,Crosssell Products.
Ogni profilo può funzionare in una delle due modalità:
append
mantiene i prodotti nativi e aggiunge i risultati del modulo,replace
sostituisce completamente la lista nativa con i prodotti del profilo.
È una soluzione di implementazione molto comoda. Puoi iniziare con una leggera estensione delle liste Magento esistenti e solo in seguito passare al controllo completo delle raccomandazioni dal livello dei profili.
Renderizza esattamente dove vuoi
Un grande vantaggio del modulo è la possibilità di controllare il punto di rendering tramite campi XML assegnati al profilo.
Invece di adattare il modulo a un layout rigido, puoi inserire la lista esattamente dove il progetto lo richiede:
- sotto la descrizione del prodotto,
- sotto il prezzo,
- sotto il modulo di acquisto,
- in una sezione aggiuntiva,
- in un contenitore personalizzato del tema,
- nel punto previsto da un layout frontend non standard.
Questo è particolarmente importante negli store basati su temi complessi o fortemente modificati. Il modulo non ti obbliga a un unico layout. Sei tu a decidere dove e in che modo il profilo deve essere inserito.
Tre varianti di presentazione sul frontend
Il modulo non si limita alla logica di selezione dei prodotti. Permette anche di adattare il modo in cui la lista viene presentata al carattere della pagina e al tipo di implementazione.
Sono disponibili le varianti:
Grid,Slider,Compact.
Puoi quindi utilizzare lo stesso motore di raccomandazione sia per una sezione estesa nella scheda prodotto, sia per una lista compatta nel carrello o per un modulo più compatto nel checkout.
A questo si aggiunge il controllo sugli elementi della vista:
- nome del prodotto,
- prezzo,
- prezzo normale,
- breve descrizione,
- pulsante di aggiunta al carrello,
- ruolo dell'immagine.
La creazione di nuovi profili è chiara e scalabile
Il modulo è stato costruito in modo che il team di implementazione o l'agenzia possa sviluppare scenari successivi senza ricostruire l'intera soluzione.
Quando crei un nuovo profilo, configuri:
- informazioni amministrative di base,
- placement e ambito di funzionamento,
- store view e gruppi di clienti,
- strategia di contesto,
- intervallo di date di attività,
- condizioni di attivazione,
- regole di corrispondenza,
- filtri dei prodotti di destinazione,
- ordinamento e modalità di visualizzazione,
- integrazione con le liste native di Magento,
- inserimento tramite XML.
Questo significa che un nuovo scenario di merchandising non richiede subito un altro modulo custom. Molto spesso basta un altro profilo.
Esempi reali di utilizzo
1. Stessa grafica, base prodotti diversa
Il cliente visualizza un prodotto di una linea specifica. Il modulo, in base alle matching rules, cerca prodotti con la stessa grafica, ma appartenenti ad altre famiglie assortimentali. È uno scenario eccellente per brand lifestyle, sportivi e fashion.
2. Cross-sell basato sul prodotto nel carrello
Il cliente ha già un prodotto selezionato nel carrello. Il profilo lo utilizza come contesto e seleziona accessori adatti all'acquisto, ma non collegati manualmente come cross-sell nativo.
3. Campagna con durata limitata
Hai bisogno di raccomandazioni attive solo durante una specifica azione di vendita? È sufficiente configurare un profilo con From Date e To Date, senza creare logiche aggiuntive.
4. Sostituzione degli upsell nativi
Se gli upsell standard di Magento sono troppo semplificati, il profilo può assumere questo ruolo e funzionare in modalità replace, offrendo una corrispondenza dei prodotti molto più precisa.
5. Integrazione con un tema personalizzato
Grazie ai campi XML, la lista può essere inserita esattamente dove lo richiede il frontend del progetto, senza creare un'ulteriore estensione dedicata al layout.
A chi è destinato questo modulo
Kowal_RelatedProductsProfiles sarà particolarmente utile per:
- agenzie di implementazione Magento 2,
- software house che sviluppano store e-commerce,
- merchant che vogliono rendere la logica delle raccomandazioni indipendente dalle relazioni mantenute manualmente,
- progetti con un catalogo ampio e molti attributi di business,
- store che utilizzano temi personalizzati e layout complessi.
Cosa ottieni
Acquistando il modulo, ottieni non solo un'altra lista di prodotti, ma uno strumento per progettare scenari di raccomandazione personalizzati in Magento 2.
È una soluzione che:
- aumenta la flessibilità dell'implementazione,
- organizza la logica di merchandising,
- riduce la necessità di scrivere ulteriori eccezioni nel codice,
- sfrutta meglio gli attributi del catalogo,
- consente di sviluppare lo store senza ricostruire l'intero meccanismo di raccomandazione.
Se gli standard related, upsell e cross-sell sono troppo limitati per il tuo progetto, Kowal_RelatedProductsProfiles offre un livello di controllo che Magento, di default, semplicemente non ha.
Installazione e configurazione del modulo
Questo documento descrive l'installazione del modulo Kowal_RelatedProductsProfiles e la configurazione di base di un profilo di raccomandazione prodotti nel pannello Magento.
Requisiti
- Magento 2 con supporto per moduli Composer.
- PHP compatibile con il progetto:
^8.1,^8.2oppure^8.3. - Modulo base
kowal/baseinstallato, perché il menu amministrativo utilizza la strutturaKowal.co > Modules. - Accesso amministrativo alla CLI Magento.
Installazione tramite Composer
- Aggiungi il repository del modulo:
composer config repositories.related.products.profiles vcs https://github.com/kowalco/related-bestsellers- Se il repository è privato, aggiungi il token GitHub:
composer config --global --auth github-oauth.github.com - Installa il modulo:
composer require kowal/module-related-products-profiles- Abilita il modulo:
php bin/magento module:enable Kowal_RelatedProductsProfiles- Esegui l'aggiornamento del database:
php bin/magento setup:upgradeDurante setup:upgrade il modulo crea la tabella dei profili e avvia un data patch con tre profili di esempio: related, crossel, upsell. Il patch non sovrascrive i profili esistenti con gli stessi codici.
- In modalità produzione ricompila la dependency injection:
php bin/magento setup:di:compile- Svuota la cache:
php bin/magento cache:flushConfigurazione globale di base
Vai a:
Stores > Configuration > Kowal > Related Product Profiles
Imposta:
Enable Frontend Output:YesEnable Debug Logging:Noin produzione,Yessolo durante la diagnosi del funzionamento dei profili
Salva la configurazione e svuota la cache se Magento lo richiede.
Permessi amministrativi
Il modulo aggiunge risorse ACL per profili e configurazione.
Accesso alla lista dei profili:
Kowal > Modules > Related Product Profiles > Profiles
Accesso alla configurazione:
Stores > Settings > Configuration > Related Product Profiles Configuration
Per un utente demo che deve gestire solo i profili, assegna il permesso Profiles. Se l'utente deve anche modificare l'impostazione globale di abilitazione del modulo, assegnagli anche la risorsa di configurazione.
Dove gestire i profili
La lista dei profili si trova nel menu:
Kowal.co > Modules > Related Product Profiles > Profiles
Nella lista è possibile aggiungere un nuovo profilo, modificare un profilo esistente o eliminarlo.
Esempio di configurazione del profilo Related Products
L'esempio seguente crea un profilo che sostituisce il blocco nativo Magento Related Products nella scheda prodotto. I prodotti saranno selezionati in base allo stesso attribute_set_id, cioè dallo stesso set di attributi del prodotto visualizzato dal cliente.
1. Creazione del profilo
Vai a:
Kowal.co > Modules > Related Product Profiles > Profiles
Fai clic su Add New Profile.
2. Sezione General
Imposta:
Name:Related ProductsCode:relatedIs Active: selezionatoSort Order:0Placements: selezionaProduct PageStore Views: selezionaAll Store ViewsCustomer Groups: selezionaAll Customer GroupsContext Strategy:First matching itemFrom Date: vuotoTo Date: vuoto
Note:
- Per la scheda prodotto il contesto è sempre il prodotto attualmente visualizzato.
Context Strategyha rilevanza pratica soprattutto per carrello e checkout.Codedeve essere univoco.
3. Sezione Activation Conditions
Aggiungi la condizione:
| Codice attributo | Operatore | Valore |
|---|---|---|
status | Equals | 1 |
Significato:
- Il profilo si attiverà solo se il prodotto contestuale è attivo.
- Se la condizione non viene soddisfatta, l'intero profilo verrà ignorato.
4. Sezione Matching Rules
Aggiungi la regola:
| Attributo sorgente | Attributo destinazione | Operatore | Obbligatorio | Policy valore vuoto | Valore predefinito |
|---|---|---|---|---|---|
attribute_set_id | attribute_set_id | Equals | selezionato | Skip Rule | vuoto |
Significato:
- Il modulo preleverà
attribute_set_iddal prodotto corrente. - Successivamente troverà prodotti con lo stesso
attribute_set_id. Requiredsignifica che il prodotto di destinazione deve soddisfare questa regola.
Esempi alternativi di regole:
brand->brand, operatoreEquals: prodotti dello stesso brand.category_ids->category_ids, operatoreCategory Intersects: prodotti con almeno una categoria in comune.color->color, operatoreEquals: prodotti dello stesso colore.
5. Sezione Target Product Filters
Aggiungi il filtro:
| Codice attributo | Operatore | Valore |
|---|---|---|
status | Equals | 1 |
Significato:
- Dai risultati verranno mostrati solo i prodotti attivi.
Facoltativamente puoi aggiungere un filtro di visibilità:
| Codice attributo | Operatore | Valore |
|---|---|---|
visibility | In List | 2,3,4 |
6. Sezione Sorting & Display
Imposta:
Sort Attribute:entity_idSort Direction:DESCSecondary Sort Attribute: vuotoSecondary Sort Direction:NoneTitle:Related ProductsSubtitle: vuotoProducts Limit:8Template Variant:SliderImage Role:category_page_gridShow Price: selezionatoShow Old Price: non selezionatoShow Add To Cart: selezionatoShow Product Name: selezionatoShow Short Description: non selezionatoShow Badges: non selezionatoHide If Empty: selezionatoExclude Current Product: selezionatoExclude Quote Products: selezionatoExclude Out Of Stock: selezionato
Significato dei campi più importanti:
Template Variantcontrolla l'aspetto della lista:Grid,SlideroppureCompact.Products Limitlimita il numero di prodotti nei risultati.Exclude Current Productevita che il prodotto attualmente visualizzato venga mostrato nei risultati.Exclude Out Of Stockrimuove i prodotti non disponibili.
7. Sezione Native Magento Lists
Per Related Products imposta:
- checkbox
Related Products: selezionato Mode:ReplacePosition:Magento default position
Significato:
- La selezione del checkbox significa che il modulo prende il controllo del blocco nativo Magento
Related Products. Replacesignifica che nel blocco preso in gestione verranno mostrati solo i prodotti del profilo.Appendsignifica che il modulo mostrerà i prodotti nativi Magento più i prodotti del profilo.Positionconsente di spostare il blocco in un'altra area della scheda prodotto.
Posizioni di esempio:
Magento default position: lascia il blocco nella posizione impostata dal tema Magento.sidebar.additional: sposta il blocco nella sidebar aggiuntiva.sidebar.main: sposta il blocco nella sidebar principale.content: sposta il blocco nel contenuto principale della pagina.content.aside: sposta il blocco nell'area laterale del content.product.info.main: sposta il blocco nella colonna principale delle informazioni prodotto.product.info.media: sposta il blocco nell'area della galleria prodotto.product.info.details: sposta il blocco nell'area dei dettagli o delle schede prodotto.
Se il contenitore selezionato non esiste nel tema corrente, Magento lascerà il blocco nella posizione predefinita.
Per Upsell Products e Crosssell Products in questo esempio lascia i checkbox non selezionati.
8. Sezione Layout XML
Per questo esempio lascia i campi vuoti:
Product Page XML: vuotoEdit Cart XML: vuotoCheckout XML: vuoto
Non è necessario aggiungere XML se utilizzi la sezione Native Magento Lists. XML è utile quando il profilo deve essere renderizzato come blocco aggiuntivo del modulo fuori dalle liste native Magento.
9. Salvataggio del profilo
Fai clic su:
Save Profile, per salvare e tornare alla lista dei profiliSave and Continue, per salvare e restare nel form
Dopo il salvataggio svuota la cache Magento se il risultato non è subito visibile sul frontend.
Esempio di configurazione Upsell nella sidebar
Se vuoi spostare Upsell Products in sidebar.additional:
- In
PlacementsselezionaProduct Page. - In
Native Magento ListsselezionaUpsell Products. - Imposta
Mode:Append, se vuoi mostrare gli upsell nativi Magento più i prodotti del profilo.Replace, se vuoi mostrare solo i prodotti del profilo.
- Imposta
Position:Additional sidebar - sidebar.additional. - Scegli
Template Variant: di solitoCompactsi adatta bene alla sidebar.
Esempio di configurazione Crosssell nel carrello
Per crosssell:
- In
PlacementsselezionaEdit Cart. - In
Native Magento ListsselezionaCrosssell Products. - Imposta
Mode: più spessoReplace. Positionnon è disponibile per crosssell, perché attualmente il posizionamento riguarda solo i blocchi nella scheda prodotto.
Diagnostica
Se il profilo non mostra prodotti:
- Controlla che il modulo sia abilitato nella configurazione.
- Controlla che il profilo abbia
Is Activeselezionato. - Controlla che
Placementscorrisponda all'area in cui stai testando il profilo. - Controlla le condizioni in
Activation Conditions. - Controlla che il prodotto contestuale abbia i valori degli attributi utilizzati in
Matching Rules. - Disattiva temporaneamente
Exclude Out Of Stockse stai testando su prodotti senza disponibilità di magazzino. - Abilita
Enable Debug Loggingsolo durante la diagnosi.
Comandi dopo l'implementazione delle modifiche
Dopo l'aggiornamento del modulo esegui:
php bin/magento setup:upgradephp bin/magento cache:flushIn modalità produzione esegui inoltre:
php bin/magento setup:di:compileVersione: 1.1.22
22.05.2026
Aggiunto
- Aggiunto data patch di installazione dei profili di esempio con tre profili predefiniti:
relatedcrosselupsell
- Aggiunta gestione della posizione dei blocchi nativi della pagina prodotto per i blocchi Related e Upsell.
- Aggiunti dropdown amministrativi per le posizioni dei blocchi Related e Upsell.
- Aggiunti target di posizione supportati per la pagina prodotto:
contentcontent.asidesidebar.mainsidebar.additionalproduct.info.mainproduct.info.mediaproduct.info.details
- Aggiunti i campi profilo
related_block_positioneupsell_block_position.
Modificato
- L'iniezione nativa Magento Related, Upsell e Crosssell ora sostituisce l'output del blocco nativo con l'output renderizzato dal modulo quando il checkbox corrispondente è abilitato.
- La modalità
Appendora renderizza i prodotti nativi Magento più i prodotti del profilo all'interno dell'output del modulo. - La modalità
Replaceora renderizza solo i prodotti del profilo all'interno dell'output del modulo. - Related Products usa per impostazione predefinita la modalità
replace. - I pulsanti azione del profilo admin sono stati spostati nella parte superiore del form, nell'ordine in stile Magento:
- Back
- Delete
- Save and Continue
- Save Profile
- L'integrazione ACL/menu dell'admin è stata allineata alla struttura menu
Kowal_Base:Kowal.co > Modules > Related Product Profiles > Profiles- la configurazione rimane nella configurazione Magento Stores.
Corretto
- Impedito il rendering duplicato sullo storefront quando un profilo è gestito dalla sostituzione di una lista nativa Magento.
- Corretta la visibilità della voce di menu Profiles per ruoli admin limitati collegando menu e risorse ACL all'albero dei moduli Kowal.
- Conservati i prodotti delle liste native Magento per la modalità
Append, evitando al tempo stesso la ricorsione durante la raccolta degli elementi nativi.
























