Intro
In questo post vedremo in modo schematico come creare in Magento 2 una installazione multi store nei sottodomini del nostro sito.
Immaginiamo ad esempio di avere uno store Magento 2 nel dominio principale miosito.it e di voler creare lo store fr.miosito.it dedicato al mercato francese.
Come creare un multistore
- Creare un dominio di terzo livello da Cpanel o comunque dal server, impostando la root del sito: public_html/miosito/fr
- nel backoffice di Magento 2, recarsi su Stores/All stores.
- Crea il tuo Website, lo store e lo store view di base e lo store view francese (fr). Per maggiori approfondimenti si rimanda alla documentazione ufficiale di Magento.
- In Store/Configuration, al WebSite (ma soprattutto allo Store View!), assegna gli URL come mostrato in figura. Cambiali anche nel Main Store.
- Da FTP, nella cartella di Magento crea una cartella con il nome dello store (parte dopo / del URL). Ad esempio per Francia crea la cartella “fr”.
- Copia nella cartella appena creata: .htaccess e index.php
- Inserisci nel file index.php in questione:
$bootstrap = MagentoFrameworkAppBootstrap::create(BP, $_SERVER); /** @var MagentoFrameworkAppHttp $app */ $app = $bootstrap->createApplication('MagentoFrameworkAppHttp'); $bootstrap->run($app);
E inoltre aggiungi il seguente codice, ma ATTENZIONE! MODIFICA IL NOME DELLO STORE ALL’INTERNO!!!! Devi inserire il code del web site.
$params = $_SERVER; $params[MagentoStoreModelStoreManager::PARAM_RUN_CODE] = 'newstore'; //QUESTO E’ IL CODICE DEL SITO CHE SI ASSEGNA ALLA CREAZIONE DEL WEBSITE $params[MagentoStoreModelStoreManager::PARAM_RUN_TYPE] = 'website'; $bootstrap = MagentoFrameworkAppBootstrap::create(BP, $params); /** @var MagentoFrameworkAppHttp $app */ $app = $bootstrap->createApplication('MagentoFrameworkAppHttp'); $bootstrap->run($app);
E infine aggiungi:
require __DIR__ . '/app/bootstrap.php';
Vai nella cartella it che hai creato nella root di Magento e da SSH creare i simlinks per la nuova cartella:
ln -s /home/example/example.com/html/app/ app ln -s /home/example/example.com/html/lib/ lib ln -s /home/example/example.com/html/pub/ pub ln -s /home/example/example.com/html/var/ var
Infine pulire la cache.
Conclusioni
Abbiamo visto come creare in Magento 2 una installazione multi store e come posizionare tali store nei sottodomini della piattaforma.
In caso di difficoltà puoi contattarci dal nostro form contatti se lo desideri.
Note: Per la guida è stato utilizzato Magento 2.2.