2012-09-07 15 views
0

正如標題所示,我想知道是否有一種方法可以通過PHP腳本生成數以千計的簡單測試產品(用於本地開發商店)。我有一些自定義擴展可以加載不同的產品集合,並且它們可以與標準樣本數據一起使用,但我想在更「真實世界」的環境中測試它們。爲此,我希望在商店中擁有大量產品(如成千上萬)。他們不需要圖像,名稱/ SKU等可能只是增量值。爲Magento生成數千測試產品的腳本?

在此先感謝您的任何建議!

+0

聽起來像你只需要做一個循環,迭代一些「數萬」次,每次迭代產生一個隨機產品? – Erik

+0

是的,實際上找到了一個Fontis博客帖子,展示瞭如何製作這樣的產品,因此將其打包並且工作正常!我會在這裏添加答案。 –

回答

2

所以,在這裏是如何的this blog post禮貌了在Fontis:

<?php 
$i = 1; 
$numberofprods = 100; 
$numberofprods = range($i,$numberofprods); 
foreach($numberofprods as $product) { 
++$i; $name = "Product Number ".$i; 
$product = Mage::getModel('catalog/product'); 
$product->setSku($i); 
$product->setName($name); 
$product->setDescription("This widget will give you years of trouble-free widgeting."); 
$product->setShortDescription("High-end widget."); 
$product->setPrice(99.99); 
$product->setTypeId('simple'); 
$product->setAttributeSetId(4); // need to look this up 
$product->setCategoryIds("3,8"); // need to look these up 
$product->setWeight(1.0); 
$product->setTaxClassId(2); // taxable goods 
$product->setVisibility(4); // catalog, search 
$product->setStatus(1); // enabled 
// assign product to the default website 
$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId())); 
$product->save(); 
}; ?> 

這是最好這樣做分批,因爲它似乎是相當的處理器,任務重,所以我加量爲一個範圍 - 例如,你可以有$ i = 1; $ numberofprods = 1000;然後當完成時$ i = 1001; $ numberofprods = 2000;等。

要運行它,我只是它保存爲一個模板文件中應用程序/設計/前端/默認/模板/ createproducts.phtml然後叫從一個CMS頁面像{{塊類型=「核心/ template「template =」createproducts.phtml「}}。然後,每次加載該頁面時,它都會運行並創建您的產品。

+0

這似乎不起作用,除非將它們手動保存到後端,否則默認情況下不會顯示這些產品。我懷疑是需要設置數量(或者每個產品都需要禁用庫存管理)。 –