Estás leyendo la publicación: Cómo crear un producto simple programáticamente en Magento 2
use Magento\Framework\App\Bootstrap;
requiere ‘aplicación/bootstrap.php’;
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
$estado = $objectManager->get(‘\Magento\Framework\App\State’);
$estado->setAreaCode(‘frontend’);
$producto = $objectManager->create(‘Magento\Catálogo\Modelo\Producto’);
intentar {
$producto->setName(‘Producto de prueba’);
$producto->setTypeId(‘simple’);
$producto->setAttributeSetId(4);
$producto->setSku(‘test-SKU’);
$producto->setWebsiteIds(array(1));
$producto->setVisibility(4);
$producto->setPrecio(matriz(1));
$producto->setImage(‘/testimg/test.jpg’);
$producto->setImagenPequeña(‘/testimg/test.jpg’);
$producto->setThumbnail(‘/testimg/test.jpg’);
$producto->setStockData(matriz(
‘use_config_manage_stock’ => 0,
‘gestionar_stock’ => 1,
‘min_sale_qty’ => 1,
‘max_sale_qty’ => 2,
‘es_en_stock’ => 1,
‘cantidad’ => 100
)
);
$producto->guardar();
// Agregar opción personalizada al producto
$opciones = matriz(
formación(
“ordenar_ordenar” => 1,
“título” => “Opción personalizada 1”,
“price_type” => “fijo”,
“precio” => “10”,
“tipo” => “campo”,
“es_requerir” => 0
),
formación(
“ordenar_ordenar” => 2,
“título” => “Opción personalizada 2”,
“price_type” => “fijo”,
“precio” => “20”,
“tipo” => “campo”,
“es_requerir” => 0
)
);
foreach ($opciones como $arrayOption) {
$producto->setHasOptions(1);
$producto->getResource()->save($producto);
$opción = $objectManager->create(‘\Magento\Catalog\Model\Product\Option’)
->establecerIdProducto($producto->getId())
->setStoreId($producto->getStoreId())
->addData($arrayOption);
$opción->guardar();
$producto->addOption($opción);
}
} atrapar (\Excepción $e) {
echo $e->getMessage();
}