Magento 2 में मल्टी वेबसाइट / स्टोर्स बनाएं


16

क्या आप कृपया Magento 2 में एक मल्टी वेबसाइट बनाने के लिए स्रोत / प्रक्रिया प्रदान कर सकते हैं। मेरे पास इसके बारे में एक Google है, लेकिन स्रोत / प्रक्रिया में से कोई भी मल्टी वेबसाइट / स्टोर बनाने का मार्ग प्रदान नहीं करता है।


आप मल्टी साइट स्विचर को लैंग्वेज स्विचर और स्टोर स्विचर जैसे फ्रंट एंड में सेट कर सकते हैं .. इस लिंक को देखें - stackoverflow.com/questions/39290073/…

कृपया इस लिंक की जाँच करें ... और इसके ठीक काम। उदाहरण के लिए यहाँ क्लिक करें
विरांग जेठवा

जवाबों:


24

Magento में बनाई गई मल्टी वेबसाइट, व्यवस्थापक पैनल में एक मल्टीस्टोरी बनाने के लिए कदम Magento1.x की तरह ही है। नई वेबसाइट / स्टोर के लिए बेस यूआरएल और सिक्योर यूआरएल को बदलना न भूलें। एक बार व्यवस्थापक पैनल में किए गए बदलाव नीचे दिए गए चरणों का पालन करते हैं,

1) Magento रूट में एक नया फ़ोल्डर बनाएँ और प्रतिलिपि index.phpऔर .htaccessMagento रूट से नए फ़ोल्डर में फ़ाइलें।

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) कॉपी करना होगा।
एंड्रिया

1
क्या आप url में स्टोर कोड्स का उपयोग करके index.php या htaccess में हार्डकॉडिंग मानों के बिना मल्टीस्टोर्स सेटअप कर सकते हैं? Magento2 पर काम नहीं करने के लिए लगता है
क्लाउडीयू क्रेन्गा

क्या आपने उत्पादन वातावरण के लिए सुझाए गए कॉन्फ़िगरेशन के साथ ऐसा करने की कोशिश की है और वेबमोट को [Magento रूट] / पब की ओर इशारा किया है?
फेसुंडो कैपुआ

क्या तुम लोगों को दोनों वेबसाइट पर एक ही कस्टम विषय लागू करने में कोई समस्या थी? मेरा दूसरा वेबसाइट परिसंपत्तियों को लोड कर रहा है .. के बजाय ../ en_US / ... ..en_GB/ .. किसी भी विचार क्या हो सकता है?
जूलियानो वर्गास

भाषा कोड के साथ विशिष्ट विषय पर तैनाती का प्रयास करें
saravanavelu

4

इस संसाधन के लिए धन्यवाद

Magento बैकएंड में, स्टोर पर जाएं> सभी स्टोर यहां विभिन्न वेबसाइटों / स्टोर / स्टोरव्यू के साथ अपना आर्किटेक्चर बनाएं ध्यान रखें कि उदाहरण के लिए वेबसाइट कोड,

  • यूएसए स्टोर में कोड है: हमें, और www.store.com द्वारा एक्सेस किया जाएगा
  • फ्रेंच स्टोर में कोड है: fr, और www.store.fr द्वारा एक्सेस किया जाएगा
  • स्पेनिश स्टोर में कोड है: es, और www.store.es द्वारा एक्सेस किया जाएगा

अपने 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 सर्वर एट वॉयला को रीस्टार्ट करें।



0

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);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.