首页 > 解决方案 > 关于产品复制的触发事件

问题描述

我想要做的是清空在后端复制的产品的自定义“EAN”字段。因此,一旦用户在项目上点击“复制”,新项目 EAN 字段应该为空。

我找到了 magento 事件“product_duplicate_attributes”,但我不确定它是否是我需要的。如果产品被复制或者可能是解决这个问题的更简单的解决方案,是否有任何方法可以触发事件。

提前感谢您的任何想法。

(A):应为空的字段,(B):保存时触发事件 (A):应为空的字段,(B):保存时触发事件。

标签: magentoeventsmagento-1.7product

解决方案


我找到了解决问题的方法:

等/config.xml:

    <models>              
 <ledscom_eanremover>
               <class>LedsCom_EanRemover_Model</class>
                </ledscom_eanremover>
            </models>
        </global>
        <adminhtml>
            <events>
                <catalog_model_product_duplicate><!-- Observe product duplication. -->
                    <observers>
                        <ledscom_eanremover>
                            <class>ledscom_eanremover/observer</class>
                            <method>removeEan</method>
                        </ledscom_eanremover>
                    </observers>
                </catalog_model_product_duplicate>
            </events>
        </adminhtml>

模型/观察者.php

<?php
class LedsCom_EanRemover_Model_Observer{
    public function removeEan($observer){
        $new_product = $observer->getEvent()->getNewProduct();          // Get new product from event-observer.
        $new_product->setData('ean', null);                             // Remove the ean of the new product.                                           
    }
}

我正在收听“catalog_model_product_duplicate”事件并删除重复产品的 ean。


推荐阅读