Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
product_grouped.php
Go to the documentation of this file.
1 <?php
7 require realpath(__DIR__ . '/../../') . '/Catalog/_files/product_associated.php';
8 require realpath(__DIR__ . '/../../') . '/Catalog/_files/product_virtual_in_stock.php';
9 
12 $productRepository = $objectManager->get(\Magento\Catalog\Api\ProductRepositoryInterface::class);
13 
16 $product->isObjectNew(true);
17 $product->setTypeId(
18  \Magento\GroupedProduct\Model\Product\Type\Grouped::TYPE_CODE
19 )->setAttributeSetId(
20  4
21 )->setWebsiteIds(
22  [1]
23 )->setName(
24  'Grouped Product'
25 )->setSku(
26  'grouped-product'
27 )->setPrice(
28  100
29 )->setTaxClassId(
30  0
31 )->setVisibility(
32  \Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH
33 )->setStatus(
34  \Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED
35 );
36 
37 $newLinks = [];
38 $productLinkFactory = $objectManager->get(\Magento\Catalog\Api\Data\ProductLinkInterfaceFactory::class);
39 
43 $productLink->setSku($product->getSku())
44  ->setLinkType('associated')
45  ->setLinkedProductSku($linkedProduct->getSku())
46  ->setLinkedProductType($linkedProduct->getTypeId())
47  ->setPosition(1)
48  ->getExtensionAttributes()
49  ->setQty(1);
51 
54 $linkedProduct = $productRepository->getById(21);
55 $productLink->setSku($product->getSku())
56  ->setLinkType('associated')
57  ->setLinkedProductSku($linkedProduct->getSku())
58  ->setLinkedProductType($linkedProduct->getTypeId())
59  ->setPosition(2)
60  ->getExtensionAttributes()
61  ->setQty(2);
63 $product->setProductLinks($newLinks);
64 $product->setStockData(['use_config_manage_stock' => 1, 'is_in_stock' => 1]);
66 
69  ->create(\Magento\Catalog\Api\CategoryLinkManagementInterface::class);
70 
71 $categoryLinkManagement->assignProductToCategories(
72  $product->getSku(),
73  [2]
74 );
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$objectManager
$productLinkFactory
$product
$newLinks
$linkedProduct
$categoryLinkManagement
$productRepository
$productLink