更改重复产品的Magento默认状态

时间:2012-10-01 17:22:06

标签: magento duplicates default status

我安装了Magento商店,当产品在后端重复时,Magento默认将其状态设置为Disabled。我不希望这种情况发生,重复的产品也应该从原始产品中复制其状态。

this post中给出了部分解决方案。我看到我在哪里可以找到config.xml并进行必要的更改。但是,我在哪里放这样的观察员班?我应该使用/创建哪个文件,是否需要对config.xml输入进行任何更改?

或者有人为这个问题找到了整体解决方案吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

试试这个:

创建:app / code / local / MagePal / EnableDuplicateProductStatus / etc / config.xml

<?xml version="1.0"?>
<config>
    <modules>
        <MagePal_EnableDuplicateProductStatus>
            <version>1.0.1</version>
        </MagePal_EnableDuplicateProductStatus>
    </modules>

    <global>
        <models>
            <enableduplicateproductstatus>
                <class>MagePal_EnableDuplicateProductStatus_Model</class>
            </enableduplicateproductstatus>
        </models>
         <events>
            <catalog_model_product_duplicate>
                <observers>
                    <enableduplicateproductstatus>
                        <type>singleton</type>
                        <class>enableduplicateproductstatus/observer</class>
                        <method>productDuplicate</method>
                    </enableduplicateproductstatus>
                </observers>
            </catalog_model_product_duplicate>
        </events>
    </global>
</config>

创建:app / code / local / MagePal / EnableDuplicateProductStatus / Model / Observer.php

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

        return $this;
    }
}

创建:app / etc / modules / MagePal_EnableDuplicateProductStatus.xml

  <?xml version="1.0"?>
    <config>
           <modules>
                  <MagePal_EnableDuplicateProductStatus>
                          <active>true</active>
                          <codePool>local</codePool>
                  </MagePal_EnableDuplicateProductStatus>
           </modules>
    </config>

然后清除缓存并尝试复制产品。

了解更多@:

http://magento4u.wordpress.com/2009/06/08/create-new-module-helloworld-in-magento/

http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

make a new product active by default in magento

答案 1 :(得分:-1)

我在此代码中发现错误并找到以下解决方案:

在app / code / local / MagePal / EnableDuplicateProductStatus / etc / config.xml上更改

<method> duplicateProduct </method>

<method>productDuplicate</method>