Tutoriais:Tutorial para criacao de multilojas usando magento e docker. - NIVEL DEVOPS E BACKEND

De Tek-System Wiki
Ir para navegação Ir para pesquisar

1) Acesse o host da maquina e adicione as novas lojas 'parked domains' (Se estiver configurando no Google Cloud pule para o passo 3):

SOMENTE LOCAL

127.0.0.1 sitedojoao.local

127.0.0.1 sitedosergio.local

2) Em docker-compose.yml, adicione os virtual hosts que voce adicionou anteriormente em host desta forma:

SOMENTE LOCAL
magento:
    build: ./php
    image: teksystem/php5.6:magento
    expose:
      - "80"
    volumes:
      - ../:/var/www/html
      - ./php/conf.d/custom.ini:/usr/local/etc/php/conf.d/custom.ini
      - /etc/localtime:/etc/localtime:ro
    restart: always
    networks:
      - frontend
      - backend
    environment:
      - VIRTUAL_HOST=sitedojoao.local,sitedosergio.local
 

3) Vá em index.php que fica na pasta inicial do magento, dentro dele, retire o codigo $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER); e adicione o seguinte codigo no lugar:

ONLINE E LOCAL
 switch($_SERVER['HTTP_HOST']) {
    case '127.0.0.1':
        $mageRunCode = 'base';
        $mageRunType = 'website';
    break;
    case 'sitedojoao.local':
        $mageRunCode = 'sj';
        $mageRunType = 'website';
    break;
    case 'sitedosergio.local':
        $mageRunCode = 'ss';
        $mageRunType = 'website';
    break;
 }
 $params = $_SERVER;
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = $mageRunCode;
 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = $mageRunType;
 $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
 

Nota: Cada case do switch é um parked domain criado! o mageRunCode é o codigo do site/view que foi criado dentro da administracao do magento( OS CODIGOS DA VIEW E SITE DEVEM SER IGUAIS!)