我为事件创建了一个Observer.php catalog_product_new_action
<?php
class Starmall_Productobserver_Model_Observer
{
public function initProduct(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$product->setWeight(1);
$product->setStatus(1);
$product->setTaxClassId(1);
$product->setPrice(1);
$product->setStockData(array(
'is_in_stock' => 1,
'qty' => 99999
));
}
}
Run Code Online (Sandbox Code Playgroud)
当我添加新产品时,重量,状态,税级和价格被正确设置为我的默认值.未设置库存数量和库存可用性.
如何在观察者中设置这些股票价值?
注意:单击Add Product
按钮后,我正在使用现有的"管理产品"屏幕.
以下解决方案有效.库存数据设置正确(请参阅RS答案):
public function initProduct(Varien_Event_Observer $observer)
{
$product = $observer->getEvent()->getProduct();
$product->setWeight(1);
$product->setStatus(1);
$product->setTaxClassId(1);
$product->setPrice(1);
$product->setWebsiteIDs(array(1));
$stockItem = Mage::getModel('cataloginventory/stock_item');
$stockItem->assignProduct($product);
$stockItem->setData('is_in_stock', 1);
$stockItem->setData('qty', 1);
$product->setStockItem($stockItem);
}
Run Code Online (Sandbox Code Playgroud)