0

タイトルが示すように、PHPスクリプトを介して(ローカル開発ストア向けに)何千もの単純なテスト製品を生成する方法があるかどうか疑問に思っています。さまざまな製品コレクションをロードするカスタム拡張機能がいくつかあり、それらは標準のサンプルデータで正常に機能しますが、より「現実の」設定でテストしたいと思います。そのために、私は店にたくさんの商品を入れたいと思っています(数万のように)。それらは画像を必要とせず、名前/SKUなどは単に増分値である可能性があります。

提案を事前に感謝します!

4

1 に答える 1

2

それで、これがその方法です、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; 等々。

実行するには、 app / design / frontend / default / template / createproducts.phtmlにテンプレートファイルとして保存し、{{block type = "core / template" template="createproducts]のようなCMSページから呼び出します。 phtml"}}。その後、そのページをロードするたびに、ページが実行され、製品が作成されます。

于 2012-09-07T16:58:50.987 に答える