Cómo crear un producto simple programáticamente en Magento 2

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();

}

🔥 Recomendado:  Cómo usar la API de Twitter y hacer que funcione para usted