Magento 2, будучи багатофункціональною платформою електронної комерції, дозволяє створювати продукти з панелі адміністратора. Є безліч опцій для заповнення, щоб створити простий продукт у 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. Якщо ви не бачите продукт на фронтенді, переіндексуйте та очистіть Кеш Magento 2 .
Однак, як згадувалося раніше, Magento дозволяє створювати кілька типів продуктів. Тож, якщо вам цікаво, ознайомтеся з цим посібником за адресою Повний посібник з типів продуктів Magento 2 та дізнайтеся більше про інші типи продуктів, їхні відмінності та поради щодо управління.