Opret flere websites og stores på Magento 2

Magento 2 kan lige som Magento 1 håndtere flere domæner, så man kan have mange shops på en enkelt magento.

Her har vi en guide til hvordan du opretter rodkategorier, websites, stores og store views.

OBS: Inden du går i gang med dette skal du sikre dig at du har bedt Powerhosting om at parkere domænet for det nye website på det relevante magentohotel.

Oprettelse af Rodkategori

Hvis du ønsker at den nye shop skal have egne kategorier skal du oprette en ny rodkategori.

Gå til Products > Categories og tryk på Add Root Category. Og udfyld Category Name:

Oprettelse af Website

Nu skal du oprette et website. Gå ind under Stores > All Stores og tryk på Create Website: Udfyld felterne:

Oprettelse af Store

Nu skal du oprette en store. Gå ind under Stores > All Stores og tryk på Create Store: Udfyld felterne:

Oprettelse af Store View

Nu skal du oprette et store view. Gå ind under Stores > All Stores og tryk på Create Store View: Udfyld felterne:

Opsætning af base url

Så er det tid til at ændre base_url for det nye website i Magento. Du skal ændre det i : Stores > Configuration
Derfra skal du i drop-down menuen vælge det nye site du har oprettet.
Under menupunktet web kan man så ændre Base URLs.
Se herunder hvordan du gør.

Ændring af index.php

Her kommer vi til den mest tekniske del af denne guide. Der skal laves lidt ændringer i din index.php. Magento skal vide hvilken store, eller hvilket website der skal væles når man rammer et bestemt domæne. Det gøres ved at lave en case switch.

Først finder du følgende kode:

$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);

Denne linie skal udkommenteres og $bootstrap skal defineres på ny, så det ser således ud:

$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
//$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);

Herefter indsætter du case switchen umiddelbart før ovenstående kode:

$params = $_SERVER;

switch($_SERVER['HTTP_HOST']) {
 case 'demo.mage2.dk':
 case 'www.demo.mage2.dk':
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'demo';
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
 break;

 case 'shop3.test.dk': 
 case 'www.shop3.test.dk':
 case 'shop3-test.com':
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'shop3'; 
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';
 break;
}

Det du skal være opmærksom på herover er markeret fed. demo.mage2.dk og www.demo.mage2.dk er de to urls som jeg ønsker skal benytte det nyoprettede website.
PARAM_RUN_CODE står til den code jeg gav det nye website da jeg oprettede det. Hvis det er et specifikt store view du ønsker at ramme skal du ændre website til store, og så benytte den code du gav det relevante store view.

Slet magentos cache og du kan du herved tilgå dit nye website på den angivne URL.

Om forfatter

Dennis Højgaard
Også kendt som "nye Dennis".

Relaterede artikler

Nyhedsbrev... Privat, sikkert og spam-fri.