Creating Magento Products On-The-Fly!
Sometimes it’s necessary to create products on-the-fly, typically in situations where there are so many product possibilities that even a configurable product isn’t flexible enough! In such situations the need arises to create products dynamically.
Below is the PHP code to produce a single Magento product and add it to the cart.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | <?php require_once 'app/Mage.php'; Mage::app(); // instatiate Product $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'); $product->setName('Product Name'.rand(1,200000)); $product->setDescription('The Product Description'); $product->setShortDescription('Brief Description'); $product->setStatus(1); $product->setTaxClassId('2'); $product->setWeight(0); $product->setCreatedAt(strtotime('now')); /* ADDITIONAL OPTIONS $product->setCost(); $product->setInDepth(); $product->setKeywords(); */ $product->save(); // "Stock Item" still required regardless of whether inventory // control is used, or stock item error given at checkout! $stockItem = Mage::getModel('cataloginventory/stock_item'); $stockItem->loadByProduct($product->getId()); $stockItem->setData('is_in_stock', 1); $stockItem->save(); header("Location: /checkout/cart/add/product/".$product->getId()."/); ?> |
This will automatically create a Magento product, with attributes and a price, add it to a number of categories, save the product, add the product to the cart and redirect the user to the Magento cart.
In a future post I will explore how to create multiple products using a set of classes and add all the products to the cart simultaneously.

Recent Comments