Створіть кілька веб-сайтів / магазинів в magento 2


16

Чи можете ви надати джерело / процедури для створення декількох веб-сайтів в magento 2. У мене є гугл щодо цього, але жоден джерело / процедура не запропонував шлях до створення веб-сайту / магазину.


Ви також можете налаштувати мульти перемикач сайту в передній частині , як мова перемикачі та магазин перемикачі .. дивіться по цьому посиланню - stackoverflow.com/questions/39290073 / ...

Перевірте це посилання ... і його нормально працює. Клацніть тут для прикладу
Virang Jethva

Відповіді:


24

Створений веб-сайт в magento, кроки для створення багатоповерхової панелі адміністратора такі ж, як і в magento1.x. Не забудьте змінити базовий URL-адресу та захистити URL-адресу для нового веб-сайту / магазину. Після внесення змін на панелі адміністратора виконайте наведені нижче дії,

1) Створити нову папку в кореневому каталозі Magento і скопіювати index.phpі .htaccessфайли Magento кореня в нову папку.

2) Відредагуйте те, index.phpщо знаходиться в новій папці

Замінити:

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

/** @var \Magento\Framework\App\Http $app */

$app = $bootstrap->createApplication('Magento\Framework\App\Http');

$bootstrap->run($app);

З:

 $params = $_SERVER;

 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = 'newstore'; //Webite code as same in admin panel

 $params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';

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

 /** @var \Magento\Framework\App\Http $app */

 $app = $bootstrap->createApplication('Magento\Framework\App\Http');

 $bootstrap->run($app);

А також оновлення bootstrap.php включає шлях, як показано нижче,

Замінити:

require __DIR__ . '/app/bootstrap.php';

З:

require __DIR__ . '/../app/bootstrap.php';

3) Створіть посилання всередині нової папки

 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 

Зверніться до цього

Очистіть var/generation,var/cache and pub/staticфайли та виконайте розгортання статичного вмісту.


Я думаю, що ми повинні .htaccessтакож скопіювати (разом з index.php) з кореня в нову папку.
Андреа

1
чи можете ви налаштувати багатоквартирні без значень жорсткого кодування в index.php або htaccess, використовуючи додати коди магазину до URL-адрес? здається, не працює на magento2
Клаудіу Крянге

Ви намагалися зробити це з запропонованою конфігурацією для виробничих середовищ і вказуючи webroot на [Magento root] / pub?
Факундо Капуа

У вас, хлопці, виникли проблеми із застосуванням однієї і тієї ж власної теми на обох веб-сайтах? У мене другий веб-сайт завантажує активи з ../en_US / ... замість ../en_GB/ .. будь-яка ідея, що може бути?
Джуліано Варгас

Спробуйте розгорнути певну тему з мовним кодом
saravanavelu

4

завдяки цьому ресурсу

у сервісі Magento, перейдіть до Магазини> Усі магазини Створіть тут свою архітектуру за допомогою різних веб-сайтів / магазину / магазину.

  • У магазині США є код: нам, і до нього звертатиметься www.store.com
  • Французький магазин має код: fr, і до нього звертатиметься www.store.fr
  • Іспанський магазин має код: es, і до нього звертатиметься www.store.es

у своєму конфігураційному файлі Nginx (швидше за все, у папці / etc / nginx / включеному веб-сайтах) додайте вгорі конфігураційного файлу:

map $HTTP_HOST $mage_run_code {
www.store.com us;
www.store.fr fr;
www.store.es es;
}

потім до serverблоку додайте декларацію для прослуховування 3 доменів:

server {
 listen 80;
 server_name www.store.com www.store.fr www.store.es;

// whatever other config you get...
}

останнє, у php config (блок, що починається з location ~ \. php $ {), додати

fastcgi_param MAGE_RUN_TYPE website;
fastcgi_param MAGE_RUN_CODE $mage_run_code;

перед рядком (зазвичай ви побачите інші рядки, починаючи з fastcgi_param)

 include        fastcgi_params;

збережіть свій конфігураційний файл, перезавантажте сервер Nginx та voila.



0

Простий спосіб перевірений на magento 2.2.5

Створіть псевдонім домену на прикладі вашого сервера domain2.com

Відредагуйте файл index.php в корені magento

try {
    require __DIR__ . '/app/bootstrap.php';
} catch (\Exception $e) {
    echo <<<HTML
<div style="font:12px/1.35em arial, helvetica, sans-serif;">
    <div style="margin:0 0 25px 0; border-bottom:1px solid #ccc;">
        <h3 style="margin:0;font-size:1.7em;font-weight:normal;text-transform:none;text-align:left;color:#2f2f2f;">
        Autoload error</h3>
    </div>
    <p>{$e->getMessage()}</p>
</div>
HTML;
    exit(1);
}

$params = $_SERVER;
$customstore = array(
    'www.main.com'=>'main_website', // Website, Store or Storeview Code
    'www.domian2.com'=>'domain2_website'     // Website, Store or Storeview Code
    );
if(isset($customstore[$_SERVER['HTTP_HOST']]))
    $websitecode = $customstore[$_SERVER['HTTP_HOST']];
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE] = isset($websitecode) ? $websitecode : '';
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_TYPE] = 'website';//use website or store or view 
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params);
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.