Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
stock_website_sales_channels.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
10 use Magento\InventorySalesApi\Api\Data\SalesChannelInterfaceFactory;
12 
14 $stockRepository = Bootstrap::getObjectManager()->get(StockRepositoryInterface::class);
16 $salesChannelFactory = Bootstrap::getObjectManager()->get(SalesChannelInterfaceFactory::class);
17 
23 $salesChannelData = [10 => 'eu_website', 20 => 'us_website', 30 => 'global_website'];
24 
25 foreach ($salesChannelData as $stockId => $websiteCode) {
26  $stock = $stockRepository->get($stockId);
27  $extensionAttributes = $stock->getExtensionAttributes();
28  $salesChannels = $extensionAttributes->getSalesChannels();
29 
31  $salesChannel = $salesChannelFactory->create();
32  $salesChannel->setCode($websiteCode);
33  $salesChannel->setType(SalesChannelInterface::TYPE_WEBSITE);
34  $salesChannels[] = $salesChannel;
35 
36  $extensionAttributes->setSalesChannels($salesChannels);
37  $stockRepository->save($stock);
38 }
$extensionAttributes
Definition: payment.php:22
$stock
if(!isset($_GET['website_code'])) $websiteCode
Definition: website.php:11