2012-09-25 8 views
0

J'utilise mage.php pour ajouter un produit, tout fonctionne bien mais la quantité (qty) est toujours définie sur 0 et je veux le mettre sur 20. J'utilise library mage.php, ceci est mon code pour il.Magento ajouter un produit

require_once 'app/Mage.php'; 
Mage::app(); 
$product = Mage::getModel('catalog/product'); 

$product->setWebsiteIds(array(1)); 
$product->setSku('rand-sku-' . rand()); 
$product->setPrice(rand(100,2000)); 
$product->setAttributeSetId(4); 
$product->setCategoryIds(array(3)); 
$product->setType('simple'); 
$product->setName('Product Name'.rand(1,200000)); 
$product->setDescription('The Product Description'); 
$product->setShortDescription('Brief Description'); 
$product->setStatus(1); 
$product->setTaxClassId('1'); 
$product->setWeight(0); 
$product->setCreatedAt(strtotime('now')); 



$product->save(); 

$stockItem = Mage::getModel('cataloginventory/stock_item'); 
$stockItem->assignProduct($product); 
$stockItem->setData('is_in_stock', 1); 
$stockItem->setData('stock_id', 1); 
$stockItem->setData('store_id', 1); 
$stockItem->setData('manage_stock', 1); 
$stockItem->setData('use_config_manage_stock', 0); 
$stockItem->setData('min_sale_qty', 0); 
$stockItem->setData('use_config_min_sale_qty', 0); 
$stockItem->setData('max_sale_qty', 1000); 
$stockItem->setData('use_config_max_sale_qty', 0); 
$stockItem->setData('qty', 20); 

$stockItem->save(); 

Répondre

4

utilisation de cette façon, il fonctionnera parfaitement

require_once('app/Mage.php'); 
Mage::app(); 

$product = Mage::getModel('catalog/product'); 


$product->setSku('pro11'); 
$product->setAttributeSetId(9); 
$product->setTypeId('simple'); 
$product->setName('Product title'); 
$product->setCategoryIds(array(7)); 
$product->setWebsiteIDs(array(1)); 
$product->setDescription('Product Full description'); 
$product->setShortDescription('Product Short description'); 
$product->setPrice(250.00); 
$product->setWeight(30.00); 
$product->setVisibility(4); 
$product->setStatus(1); 
$product->setTaxClassId(0); 
$product->setStockData(array(
    'is_in_stock' => 1, 
    'qty' => 20 
)); 
$product->setCreatedAt(strtotime('now')); 
$product->save(); 

Hope this Help !!

+0

Je l'essaie mais il ne fonctionne pas, est toujours qté sur 0. –

+0

@PatrikvanDendis j'ai mis à jour le code de son fonctionnement bien à ma fin .. pls essayer maintenant !! –

+0

Ça ne marche pas trop. Ça n'ajoute rien. –