我为事件创建了一个 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
));
}
}
当我添加新产品时,重量、状态、税种和价格都正确设置为我的默认值。
未设置库存数量和库存可用性。
如何在观察者中设置这些股票值(value)?
注意:我在单击
Add Product
后立即在现有的“管理产品”屏幕中使用按钮。 以下解决方案有效。库存数据设置正确(参见 R.S. 答案):
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);
}
最佳答案
....
//$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', 0);
$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->save();
阅读更多 http://blog.magentoconnect.us/creating-magento-products-on-the-fly/
关于magento - 在 Magento 1.7 中添加新产品时设置默认产品值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289371/