在 Magento 1.7 中添加新产品时设置默认产品值 [英] Set default product values when adding new product in Magento 1.7

查看:28
本文介绍了在 Magento 1.7 中添加新产品时设置默认产品值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我为事件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
            ));
    }

}

当我添加新产品时,重量、状态、税种和价格都正确设置为我的默认值.未设置库存数量和库存可用性.

When I add a new product the weight, status, tax class and price are correctly set to my defaults. The stock qty and stock availability are not set.

如何在观察器中设置这些股票值?

How can I set these stock values in the observer?

注意:我在单击 Add Product 按钮后立即在现有的管理产品"屏幕中使用.

NOTE: I am using in the existing Manage Product screen right after clicking the Add Product button.

以下解决方案有效.清单数据设置正确(请参阅 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/阅读更多创建-magento-products-on-the-fly/

这篇关于在 Magento 1.7 中添加新产品时设置默认产品值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆