Magento multistore e multivetrina

Logo-magentoMagento è un software molto potente per la realizzazione di e-commerce con una struttura scalabile che lo rende adatto a soluzioni di ogni dimensione, dal piccolo negozio fino a strutture molto più complesse che prevedono per esempio la gestione di siti multi lingua o multi catalogo. In questo tutorial analizzeremo alcuni concetti chiave necessari per comprendere al meglio la struttura attraverso la quale Magento si rende così flessibile e scalabile e in particolare cercheremo di prendere confidenza con i concetti di  “Global“, “Websites”, “Stores” e “Store Views” (riprendendo il un articolo pubblicato sul sito ufficiale di Magento).

Immaginiamo la struttura di Magento come una piramide. In cima alla piramide troviamo il concetto di “Global“, rappresentato dall’installazione di Magento. Ogni modifica fatta qui verrà propagata anche ai livelli inferiori, ovvero ai “Websites“, agli “Stores” e alle “Store Views“. (L’immagine seguente è sta prelevata da un articolo pubblicato sul sito ufficiale di Magento)

multiple_websites_diagram

Un “Website” è un insieme di negozi (“Stores“) che condividono tra loro una serie di informazioni, tra cui la stessa lista di clienti. Attraverso le “Store Views” (“Vetrine“) è possibile visualizzare il negozio (“Store“) con una lingua diversa, o con una impaginazione grafica diversa. Vediamo ora, con l’ausilio di alcune immagini (riprese da un articolo pubblicato sul sito ufficiale di Magento), alcune configurazioni che sfruttano questi concetti appena descritti.
In questa prima immagine

terminology-scenario3

è rappresentata la classica configurazione in cui Magento viene utilizzato per la gestione di un unico negozio (“Bongo’s Instruments”) che ha un unico  sito mono-lingua. Questa classica situazione utilizza 1 Website, 1 Store, e 1 Store View.

In questa altra immagine

terminology-scenario1

è rappresentato l’utilizzo dei “Multi-Store” con un unico “Website“. I 3 negozi (“Store“) condividono la stessa lista clienti e, a seconda della configurazione, possono condividere o meno lo stesso catalogo.
In quest’ultima immagine

terminology-website-laptops

è invece rappresentato lo scenario di due siti (“Website“) differenti (“My Laptops” e “Cheap Laptos”) che tra loro non condividono informazioni. Ciascuno avrà il proprio catalogo e il proprio parco clienti. Ciascun negozio offre inoltre la possibilità di essere visualizzato sia in lingua Inglese, sia in Spagnolo. Il vantaggio di questa configurazione è che, pur dovendo gestire di fatto 2 siti tra loro distinti, l’amministratore dovrà collegarsi in un unico pannello di controllo e con questo potrà controllare entrambi i negozi.

Come configurare un negozio multi lingua ?

Ora che abbiamo messo le basi per comprendere la struttura dei multi siti / multi vetrina di Magento, nel prossimo articolo andremo a mettere in pratica i concetti fin’ora analizzati, andando a descrivere i passaggi da eseguire per configurare il nostro e-commerce in modo che possa essere visualizzato in più lingue.

Lascia un commento

Tutti i campi sono obbligatori.
L'indirizzo email non verrà pubblicato

 

Commenti

  1. avatarRiccardo

    Ottimo articolo, in effetti non è molto chiaro dal sito ufficiale e penso che chi come me si stia inoltrando in questo affascinante mondo dell’e-commerce e nello specifico con Magento, debba avere chiaro questi concetti.

    Grazie

  2. avatarRoberto Rubino Autore

    grazie a te… e benvenuto in Magento :-)

  3. avatarBenny

    Ottimo articolo, c’è un piccolo problema….non sono riuscito a trovare una guida dettagliata su come creare un multistore o multivetrina, neanche sulla guida ufficiale.
    In sostanza dovrei creare una sorta di centro commerciale, dove ogni utente si può iscrivere, e da un semplice pannello di controllo può caricarsi i suoi prodotti e gestire le sue vendite…è possibile una cose del genere con magento?
    Dove posso trovare istruzioni dettagliate?
    Grazie mille

  4. avatarRoberto Rubino Autore

    Ciao,
    un piccolo esempio su come lavorare con le multi-vetrine, lo puoi trovare nel mio post per la configurazione del multi-lingua(https://blog.artera.net/ecommerce/come-configurare-il-multi-lingua-in-magento).
    Il tuo progetto del centro commerciale sembra molto interessante, ma richiede un’analisi molto più dettagliata e complessa (metodi di pagamento condivisi per negozio ? ordini incrociati ?). Abbiamo comunque già avuto esperienze su progetti di questo tipo. Se hai bisogno di maggiori informazioni contattaci pure (https://blog.artera.net/contatti)

  5. avatarMassimo

    Ciao a tutti,
    sono nuovo di Magento ed ancora alle prime armi.
    Se possibile vi chiedo un’informazione riguardante i multi store: è posibile far condividere lo stesso catalogo prodotti a “n” domini ma rendere separata e non condivisa la gestione dei pagamenti, ordini, clienti, fatturazione, ecc.
    Grazie, e buon anno.

  6. avatarMaurizio

    L’unica cosa della quale non sono sicuro è se lavorando con più domini che condividono lo stesso DB, l’utente iscritto ad uno dei domini possa accedere con lo stesso account anche agli altri. Potete chiarirmi questo passaggio?

  7. avatarRoberto Rubino Autore

    Ciao Maurizio, in SISTEMA->CONFIGURAZIONE, nella sezione CONFIGURAZIONE CLIENTE, hai la possibilità di definire il livello di condivisione dei clienti: puoi impostarlo PER SITO, oppure GLOBALE

  8. Pingback: Come configurare il multi lingua in Magento - blog.artera.net

  9. avatarLoredana

    Ciao Roberto, considerando la complessità di magento per me sei già un grande a prescindere che tu conosca o meno la risposta alla mia domanda!
    Io ho creato un multistore, con i microwebsite per ogni mio partner. Ho un mega-catalogo condiviso e ogni microsite ha il proprio (che è un di cui del mega-catalogo). Funziona tutto, il cliente può comprare sia dalla home accedendo al mega-catalogo che dal singolo micro-site. Il problema viene adesso: i negozi così condividono il carrello, quindi un cliente può acquistare da più partners e effettuare un unico pagamento (e fin qui è tutto quello che voglio), ma come riesco a far vedere al partner solo la parte di ordine che gli interessa e splittare i pagamenti sui singoli partners una volta che il pagamento è atterrato sul mio paypal centralizzato? (io ho la suite, il microsite e il payout). Grazie in anticipo

  10. avatarRoberto Rubino Autore

    ciao Loredana,
    purtroppo quello che chiedi non si riesce a fare con gli strumenti standard di Magento… è un qualche cosa che va sicuramente pensato con un progetto custom studiato ad hoc… al più posso consigliarti di cercare sul magento connect qualche estensione per realizzare dei marketplace con Magento..

    http://www.magentocommerce.com/magento-connect/catalogsearch/result/?q=marketplace&pl=0

    qualcuna di quste potrebbe essere magari una buona base per realizzare quello che avevi in mente

    ciao

  11. avatarRoberto

    Salve a tutti, io avrei una sola domanda da fare: qualora volessi fare un multistore e cioè un sito con diversi negozi, è possibile avere spedizioni e/o pagamenti diversi per ogni fornitore? In questo modo, il pagamento non avviene a me, ma arriva ad ogni fornitore, a me pagano solo una quota annuale.
    Il catalogo in comune non penso sia un problema, ma sarebbe interessante poter dividere gli store nelle spedizioni (il minimo, potrei obbligare tutti ad usare ad esempio ups) e nei pagamenti (questo è quello che mi preme di più).

  12. avatarRoberto Rubino Autore

    Se i venditori hanno uno store a testa e non offri la possibilità di acquistare in un unico carrello i prodotti di più store (quindi non si tratta di un marketplace), puoi tranquillamente attivare/disattivare da backend i metodi di pagamento/spedizione a seconda dello store in cui ti trovi.. oppure personalizzarne le configurazioni a seconda dello store
    (se vai in SISTEMA -> CONFIGURAZIONI e, utilizzando il menu a tendina che trovi sopra al menu nella colonna di sinistra, vai a modificare lo store, tutte le configurazione che fai si applicano solo allo store selezionato.

    Se invece stiamo parlando di un marketplace, quindi carrello condiviso e possibilità di acquistare contemporaneamente prodotti da diversi fornitori, allora li non riesci a fare quello che chiedi con gli strumenti standard di Magento… ma bisognerebbe studiare dei moduli ad hoc per aggiungere a Magento le funzionalità mancanti.

    Ciao

  13. avatarElena

    Ciao Roberto,
    ho letto con attenzione il tuo articolo, e anche la guida ufficiale di Magento, ma francamente mi sfugge una cosa davvero basilare.
    Espongo la mia situazione:
    – 1 catalogo di circa 15000 prodotti
    – 3 siti web (con dominio diverso): dominio1, dominio2 e dominio3
    – alcuni prodotti sono in comune tra il dominio 1 e 2
    – altri sono specifici del dominio 1
    – altri sono specifici del dominio 3

    I 3 siti per ora avranno solo la lingua italiana

    Ora, ho capito che devo creare 3 root category per i 3 domini e applicare ai prodotti le relative sotto-categorie di uno o più domini sui quali voglio pubblicarli. E fin qui tutto ok.

    Ho capito anche come creare i domini e i relativi store e store view.
    Quello che non ho capito è che tipo di servizio (hosting) va gestito con gli specifici domini.

    Ad esempio:
    – posso avere l’istanza di Magento su un quarto dominio e gestire i 3 domini da questo?
    – Sui 3 domini acquisto un servizio di gestione DNS che faccio convogliare sul server del 4° dominio o cos’altro?
    – E come gestisco il tutto da Magento?

    Mi sembra tutto molto complicato…

    Grazie
    Elena

  14. avatarRoberto Rubino Autore

    Ciao Elena,
    in generale, quando si configura un multistore su multidominio, quello che serve è un unico spazio web a cui puntano tutti i domini che vuoi coinvolgere nel multistore (Se si trattasse di un hosting ARTERA ti direi che ti serve 1 hosting principale e poi tanti alias quanti sono i dominio del multistore).
    Dopo aver configurato, nel backend di Magento, per ogni website il relativo dominio, dovrai inoltre modificare l’htaccess per “dire” a Magento quale website caricare alla richiesta di un dato dominio.
    Dovrai inserire delle righe come le seguenti (un blocco per ogni dominio):

    SetEnvIf Host http://www.miodominio1.com MAGE_RUN_CODE=codicewebsite1
    SetEnvIf Host http://www.miodominio1.com MAGE_RUN_TYPE=website
    SetEnvIf Host ^miodominio1.com MAGE_RUN_CODE=codicewebsite1
    SetEnvIf Host ^miodominio1.com MAGE_RUN_TYPE=website #o “store” se MAGE_RUN_CODE si riferisce a un codice di vetrina

    SetEnvIf Host http://www.miodominio2.com MAGE_RUN_CODE=codicewebsite2
    SetEnvIf Host http://www.miodominio2.com MAGE_RUN_TYPE=website
    SetEnvIf Host ^miodominio2.com MAGE_RUN_CODE=codicewebsite2
    SetEnvIf Host ^miodominio2.com MAGE_RUN_TYPE=website

    Dove in MAGE_RUN_CODE dovrai inserire i codici che hai assegnato ai website al momento della loro creazione.
    Se ti servono istruzioni più approfondite puoi provare a dare un occhiata anche a questa guida che ho trovato in rete:

    https://docs.nexcess.net/article/how-to-configure-multiple-magento-storefronts.html

    Tu ora su che hosting stai lavorando ?

    Ciao

  15. avatarfrancesco prandi

    Grazie per la completezza dell’articolo, ho solo una domanda: Se io volessi avere per gli stessi prodotti 2 prezzi dovrei creare 2 prodotti diversi (2 sku diversi) o potrei metterli in 2 stores diversi cambiandogli solo il prezzo (stesso sku, prezzo diverso)?

  16. avatarLeonardo

    Ciao Roberto,
    posso avere multi-store e per ogni store il multilingua,
    Nello specifico sarebbe ho store Italia – Internationa – Russia
    Per lo store International posso avere più essere multilingua?

  17. avatarRiccardo

    Sto creando un sito demo con Magento 2 in modalità multistore.
    La struttura si basa su un unico sito. L’architettura prevede
    – più Store, ciascuno con propria Categoria di Root
    – più viste per ogni Store, ciascuna dedicata ad una lingua
    – uno Store principare con propria Categoria di Root che comprende le Categorie di tutti gli Store. La funzione di questo store dovrebbe essere quella di indirizzare l’utente verso lo Store di proprio interesse.
    Quale impostazione dovrei dare allo Store principale in modo che sia il primo ad apparire all’utente quando entra nel sito?