क्या आप कृपया Magento 2 में एक मल्टी वेबसाइट बनाने के लिए स्रोत / प्रक्रिया प्रदान कर सकते हैं। मेरे पास इसके बारे में एक Google है, लेकिन स्रोत / प्रक्रिया में से कोई भी मल्टी वेबसाइट / स्टोर बनाने का मार्ग प्रदान नहीं करता है।
क्या आप कृपया Magento 2 में एक मल्टी वेबसाइट बनाने के लिए स्रोत / प्रक्रिया प्रदान कर सकते हैं। मेरे पास इसके बारे में एक Google है, लेकिन स्रोत / प्रक्रिया में से कोई भी मल्टी वेबसाइट / स्टोर बनाने का मार्ग प्रदान नहीं करता है।
जवाबों:
Magento में बनाई गई मल्टी वेबसाइट, व्यवस्थापक पैनल में एक मल्टीस्टोरी बनाने के लिए कदम Magento1.x की तरह ही है। नई वेबसाइट / स्टोर के लिए बेस यूआरएल और सिक्योर यूआरएल को बदलना न भूलें। एक बार व्यवस्थापक पैनल में किए गए बदलाव नीचे दिए गए चरणों का पालन करते हैं,
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);
और बूटस्ट्रैप को भी अपडेट करें। नीचे दिए अनुसार पथ शामिल करें,
बदलने के:
require __DIR__ . '/app/bootstrap.php';
साथ में:
require __DIR__ . '/../app/bootstrap.php';
3) नए फ़ोल्डर के अंदर एक simlinks बनाएँ
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
) कॉपी करना होगा।
इस संसाधन के लिए धन्यवाद
Magento बैकएंड में, स्टोर पर जाएं> सभी स्टोर यहां विभिन्न वेबसाइटों / स्टोर / स्टोरव्यू के साथ अपना आर्किटेक्चर बनाएं ध्यान रखें कि उदाहरण के लिए वेबसाइट कोड,
अपने Nginx config फाइल में (सबसे अधिक संभावना / etc / nginx / साइट्स-सक्षम फ़ोल्डर में) config फाइल के शीर्ष पर जोड़ें:
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 सर्वर एट वॉयला को रीस्टार्ट करें।
RTFM
https://devdocs.magento.com/guides/v2.3/config-guide/multi-site/ms_over.html
अंतर्वस्तु
MAGE_RUN_TYPE
औरMAGE_RUN_CODE
Magento 2.2.5 पर परीक्षण किया गया सरल तरीका
अपने सर्वर उदाहरण domain2.com पर एक डोमेन उपनाम बनाएँ
Magento रूट में index.php फ़ाइल संपादित करें
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);