Bisakah Anda memberikan sumber / prosedur untuk membuat multi situs web di magento 2. Saya punya google mengenai hal ini, tetapi tidak ada sumber / prosedur yang tidak menyediakan jalur untuk membuat multi situs web / toko.
Bisakah Anda memberikan sumber / prosedur untuk membuat multi situs web di magento 2. Saya punya google mengenai hal ini, tetapi tidak ada sumber / prosedur yang tidak menyediakan jalur untuk membuat multi situs web / toko.
Jawaban:
Membuat banyak situs web di magento, Langkah-langkah untuk membuat multistore di panel admin sama seperti di magento1.x. Jangan lupa ganti url dasar dan url aman untuk situs web / toko baru. Setelah membuat perubahan di panel admin ikuti langkah-langkah di bawah ini,
1) Buat folder baru di root magento dan salin index.phpdan .htaccessfile dari root magento ke folder baru.
2) Edit index.phpyang ada di folder baru
Menggantikan:
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Magento\Framework\App\Http');
$bootstrap->run($app);
Dengan:
$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);
Dan juga perbarui bootstrap.php termasuk path seperti di bawah ini,
Menggantikan:
require __DIR__ . '/app/bootstrap.php';
Dengan:
require __DIR__ . '/../app/bootstrap.php';
3) Buat simlink di dalam folder baru
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
Lihat ini
Harap hapus var/generation,var/cache and pub/staticfile dan lakukan penyebaran konten statis.
.htaccessjuga (bersama dengan index.php) dari root ke folder baru.
terima kasih untuk sumber ini
di Magento backend, buka Toko> Semua Toko Buat di sini arsitektur Anda dengan berbagai situs web / store / storeview Perhatikan dengan cermat kode situs web, misalnya,
di file konfigurasi Nginx Anda (kemungkinan besar di folder / etc / nginx / sites-enabled) tambahkan di bagian atas file config:
map $HTTP_HOST $mage_run_code {
www.store.com us;
www.store.fr fr;
www.store.es es;
}
lalu, di serverblok, tambahkan deklarasi untuk mendengarkan 3 domain:
server {
listen 80;
server_name www.store.com www.store.fr www.store.es;
// whatever other config you get...
}
terakhir, dalam konfigurasi php (blok dimulai dengan location ~ \. php $ {), tambahkan
fastcgi_param MAGE_RUN_TYPE website;
fastcgi_param MAGE_RUN_CODE $mage_run_code;
sebelum baris (Anda biasanya akan melihat baris lain dimulai dengan fastcgi_param)
include fastcgi_params;
simpan file konfigurasi Anda, restart server Nginx Anda dan voila.
RTFM
https://devdocs.magento.com/guides/v2.3/config-guide/multi-site/ms_over.html
Isi
MAGE_RUN_TYPEdanMAGE_RUN_CODECara sederhana diuji pada Magento 2.2.5
Buat alias domain di server Anda contoh domain2.com
Edit file index.php di root 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);