Створюючи налаштовувані продукти, ви просто створюєте прості продукти з деякими налаштовуваними опціями, з яких клієнти можуть вибирати. Отже, щоб створити налаштовуваний продукт програмно, вам слід почати зі створення простого продукту, а потім призначити йому деякі функції.

Виконайте такі кроки, щоб створити налаштовуваний продукт у Magento 2 програмно:

1. Створіть простий продукт.

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create('Magento\Catalog\Model\Product');
$sku = 'sku';
$product->setSku($sku);
$product->setName('Simple Product'); 
$product->setAttributeSetId(4); 
$product->setStatus(1); 
$product->setWeight(1);
$product->setVisibility(4); 
$product->setWebsiteIds(array(1)); 
$product->setTaxClassId(0); 
$product->setTypeId('simple'); 
$product->setPrice(100);
$product->setStockData(
array(
'use_config_manage_stock' => 0, 
'manage_stock' => 1, 
'min_sale_qty' => 1, 
'max_sale_qty' => 2, 
'is_in_stock' => 1,
'qty' => 1000
)
);
$product->save();
$categoryIds = array('2','3');
$category = $objectManager->get('Magento\Catalog\Api\CategoryLinkManagementInterface');
$category->assignProductToCategories($sku, $categoryIds);
if ($product->getId())
{
echo "Product Created";
}

2. Створіть налаштовуваний продукт і призначте йому простий.

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create(Magento\Catalog\Model\Product::class);
$sku = 'sku11'; 
$product->setSku($sku);
$product->setName('Grouped Product31');
$product->setWeight(1);
$product->setPrice(100);
$product->setDescription('description'); 
$product->setAttributeSetId(4); 
$product->setCategoryIds(array(35)); 
$product->setStatus(1);
$product->setVisibility(4); 
$product->setTaxClassId(1); 
$product->setTypeId('grouped'); 
$product->setStoreId(1); 
$product->setWebsiteIds(array(1)); 
$product->setVisibility(4); 
$product->setImage('/groupedproduct/image.jpg'); 
$product->setSmallImage('/groupedproduct/image.jpg'); 
$product->setThumbnail('/groupedproduct/image.jpg'); 
$product->setStockData(array(
'use_config_manage_stock' => 0, 
'manage_stock' => 1, 
'min_sale_qty' => 1, 
'max_sale_qty' => 2,
'is_in_stock' => 1, 
'qty' => 1000
)
);
$product->save();

$childrenIds = [2, 3, 4]; 
$associated = [];
$position = 0;
foreach ($childrenIds as $productId)
{
$position++;
$linkedProduct = $objectManager->get('\Magento\Catalog\Api\ProductRepositoryInterface')->getById($productId);
$productLink = $objectManager->create('\Magento\Catalog\Api\Data\ProductLinkInterface');
$productLink->setSku($product->getSku())
->setLinkType('associated') 
->setLinkedProductSku($linkedProduct->getSku()) 
->setLinkedProductType($linkedProduct->getTypeId())
->setPosition($position) 
->getExtensionAttributes()
->setQty(1);
$associated[] = $productLink;
}
$product->setProductLinks($associated);
$product->save();
$categoryIds = array('2','3'); 
$category = $objectManager->get('Magento\Catalog\Api\CategoryLinkManagementInterface');
$category->assignProductToCategories($sku, $categoryIds);
if ($product->getId())
{
echo "Product Created";
}

Чи було це складно, програмісти?

Тепер вам слід перевірити налаштовуваний продукт на вітрині магазину.

Якщо ви не хочете працювати з кодом, ви можете просто створити налаштовуваний продукт в адміністративній панелі .

А якщо вас цікавлять інші типи продуктів, якими Magento дозволяє керувати, перегляньте Посібник з типів продуктів Magento .