Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
products_with_dropdown_attribute.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
11 require __DIR__ . '/dropdown_attribute.php';
12 
17  \Magento\Catalog\Setup\CategorySetup::class
18 );
19 
22  \Magento\Eav\Model\ResourceModel\Entity\Attribute\Option\Collection::class
23 );
24 $options->setAttributeFilter($attribute->getId());
25 $optionIds = $options->getAllIds();
26 
29 $product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
30  ->setId($optionIds[0] * 10)
31  ->setAttributeSetId($installer->getAttributeSetId('catalog_product', 'Default'))
32  ->setWebsiteIds([1])
33  ->setName('With Option 1')
34  ->setSku('simple_op_1')
35  ->setPrice(10)
36  ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
37  ->setDropdownAttribute($optionIds[0])
38  ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
39  ->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 1])
40  ->save();
41 
42 $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class);
43 $product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
44  ->setId($optionIds[1] * 10)
45  ->setAttributeSetId($installer->getAttributeSetId('catalog_product', 'Default'))
46  ->setWebsiteIds([1])
47  ->setName('With Option 2')
48  ->setSku('simple_op_2')
49  ->setPrice(10)
50  ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
51  ->setDropdownAttribute($optionIds[1])
52  ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
53  ->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 1])
54  ->save();
55 
56 $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Catalog\Model\Product::class);
57 $product->setTypeId(\Magento\Catalog\Model\Product\Type::TYPE_SIMPLE)
58  ->setId($optionIds[2] * 10)
59  ->setAttributeSetId($installer->getAttributeSetId('catalog_product', 'Default'))
60  ->setWebsiteIds([1])
61  ->setName('With Option 3')
62  ->setSku('simple_op_3')
63  ->setPrice(10)
64  ->setVisibility(\Magento\Catalog\Model\Product\Visibility::VISIBILITY_BOTH)
65  ->setDropdownAttribute($optionIds[2])
66  ->setStatus(\Magento\Catalog\Model\Product\Attribute\Source\Status::STATUS_ENABLED)
67  ->setStockData(['use_config_manage_stock' => 1, 'qty' => 100, 'is_qty_decimal' => 0, 'is_in_stock' => 1])
68  ->save();
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60