Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
websites_with_stores.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
16 
17 $websiteCodes = ['eu_website', 'us_website', 'global_website'];
18 
19 $objectManager = Bootstrap::getObjectManager();
23 $sequenceBuilder = $objectManager->get(OriginalSequenceBuilder::class);
24 $objectManager->addSharedInstance($sequenceBuilder, \Magento\SalesSequence\Model\Builder::class);
26 $entityPool = $objectManager->get(EntityPool::class);
28 $sequenceConfig = $objectManager->get(Config::class);
29 
31 $store = $objectManager->create(Store::class);
32 $store->load('default');
33 $rootCategoryId = $store->getRootCategoryId();
34 
35 foreach ($websiteCodes as $key => $websiteCode) {
37  $website = $objectManager->create(Website::class);
38  $website->setData([
39  'code' => $websiteCode,
40  'name' => 'Test Website ' . $websiteCode,
41  'is_default' => '0',
42  ]);
43  $website->save();
44 
45  $store = $objectManager->create(Store::class);
46  $store->setCode(
47  'store_for_' . $websiteCode
48  )->setWebsiteId(
49  $website->getId()
50  )->setName(
51  'store_for_' . $websiteCode
52  )->setSortOrder(
53  10 + $key
54  )->setIsActive(
55  1
56  );
57 
59  $group = $objectManager->create(GroupInterface::class);
60  $group->setName('store_view_' . $websiteCode);
61  $group->setCode('store_view_' . $websiteCode);
62  $group->setWebsiteId($website->getId());
63  $group->setDefaultStoreId($store->getId());
64  $group->setRootCategoryId($rootCategoryId);
65  $group->save();
66 
67  $website->setDefaultGroupId($group->getId());
68  $website->save();
69  $store->setGroupId($group->getId());
70  $store->save();
71 }
72 
76 $sequenceBuilder = $objectManager->get(\Magento\TestFramework\Db\Sequence\Builder::class);
77 $objectManager->addSharedInstance($sequenceBuilder, \Magento\SalesSequence\Model\Builder::class);
$group
Definition: sections.phtml:16
if(!isset($_GET['website_code'])) $websiteCode
Definition: website.php:11