Здесь я нашел решения для создания продукта программно с помощью пользовательских файлов PHP , т.е. test.php
.
<?php
use Magento\Framework\App\Bootstrap;
include('app/bootstrap.php');
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$state = $objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');
$_product = $objectManager->create('Magento\Catalog\Model\Product');
$_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, //'Use config settings' checkbox
'manage_stock' => 1, //manage stock
'min_sale_qty' => 1, //Minimum Qty Allowed in Shopping Cart
'max_sale_qty' => 2, //Maximum Qty Allowed in Shopping Cart
'is_in_stock' => 1, //Stock Availability
'qty' => 100 //qty
)
);
$_product->save();
?>
Зед Черная Борода
источник
Во-первых, в вашем конструкторе вы захотите включить три класса для внедрения зависимостей:
Magento\Catalog\Api\Data\ProductInterfaceFactory
,Magento\Catalog\Api\ProductRepositoryInterface
иMagento\CatalogInventory\Api\StockRegistryInterface
. Первый генерируется, так что не беспокойтесь, если он окажется не существующим в вашей IDE.Оттуда, где вы хотите создать продукт, вам нужно будет использовать Factory для его создания и установки данных, а также репозиторий для его сохранения:
Скорее всего, вы захотите добавить немного акций для этого, что вы можете сделать так:
Если вы запускаете это в сценарии (включая сценарии установки / обновления), то вам также потребуется эмулировать область, поскольку для такого рода вещей требуются сеансы по какой-то сумасшедшей причине.
Чтобы сделать это, протяните
\Magento\Framework\App\State
через конструктор, а затем используйте этот код:источник
код ссылки :: http://www.onlinecode.org/create-a-simple-product-programmatics-in-magento-2/
источник
источник