make a new product active by default in magento

微笑、不失礼 提交于 2019-12-08 09:45:32

问题


When duplicating a product in the backend in magento the new product status is Disabled by default. That confuses the store admins who expect the product to show on the frontend.

How can I make the product status Enabled by default?

THanks


回答1:


In your custom module you need to:

in config.xml file:

<config>
    <adminhtml>
        <events>
            <catalog_model_product_duplicate>
                <observers>
                    <custom_catalog_product_duplicate>
                        <class>custom_module/observer</class>
                        <method>catalogModelProductDuplicate</method>
                    </custom_catalog_product_duplicate>
                </observers>
            </catalog_model_product_duplicate>
        </events>
    </adminhtml>
</config>

Create an observer class with method like this:

class Custom_Module_Model_Observer 
{
    /**
     * Prepare product for duplicate action.
     *
     * @param Varien_Event_Observer $observer
     * @return object
     */
    public function catalogModelProductDuplicate(Varien_Event_Observer  $observer)
    {
        $newProduct = $observer->getEvent()->getNewProduct();
        $newProduct->setStatus(Mage_Catalog_Model_Product_Status::STATUS_ENABLED);

        return $this;
    }
}


来源:https://stackoverflow.com/questions/4656481/make-a-new-product-active-by-default-in-magento

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!