Magento 2, будучи багатофункціональною платформою електронної комерції, дозволяє створювати продукти з адмін панелі. Є доволі багато опцій, які вам треба заповнити, щоб , що, очевидно, займає певний час.
Проте, якщо вам доведеться створити величезну кількість продуктів, особливо під час розробки або тестування?
У цьому випадку найпростішим буде створити продукти програмно. І це саме те, про що ви дізнаєтесь в цій статті.
Використовуйте наступний метод для того, щоб програмно створити простий продукт в Magento 2:
getObjectManager();
$state = $objectManager->get('\Magento\Framework\App\State');
$state->setAreaCode('frontend');
$product = $objectManager->create('Magento\Catalog\Model\Product');
try {
$product->setName('Test Product');
$product->setTypeId('simple');
$product->setAttributeSetId(4);
$product->setSku('test-SKU');
$product->setWebsiteIds(array(1));
$product->setVisibility(4);
$product->setPrice(array(1));
$product->setImage('/testimg/test.jpg');
$product->setSmallImage('/testimg/test.jpg');
$product->setThumbnail('/testimg/test.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' => 100
)
);
$product->save();
// Adding Custom option to product
$options = array(
array(
"sort_order" => 1,
"title" => "Custom Option 1",
"price_type" => "fixed",
"price" => "10",
"type" => "field",
"is_require" => 0
),
array(
"sort_order" => 2,
"title" => "Custom Option 2",
"price_type" => "fixed",
"price" => "20",
"type" => "field",
"is_require" => 0
)
);
foreach ($options as $arrayOption) {
$product->setHasOptions(1);
$product->getResource()->save($product);
$option = $objectManager->create('\Magento\Catalog\Model\Product\Option')
->setProductId($product->getId())
->setStoreId($product->getStoreId())
->addData($arrayOption);
$option->save();
$product->addOption($option);
}
} catch (\Exception $e) {
echo $e->getMessage();
}
Важко було?
Це найпростіший спосіб програмного створення простих продуктів з деякими кастомними атрибутами в Magento 2. Якщо ви не бачите продукт на вітрині магазину, зробіть reindex та .
Однак, як уже згадувалося раніше, Magento дозволяє створювати кілька типів продуктів. Тож якщо вас це цікавить, ознайомтеся з цією статтею про та дізнайтеся більше про інші продукти, їхні відмінності та поради щодо керування ними.