产品复制的触发事件
Firing event on product duplication
我想要做的是清空在后端复制的产品的自定义 'EAN' 字段。因此,只要用户在某个项目上点击 'copy',新项目 EAN 字段就应该为空。
我找到了 magento 事件 'product_duplicate_attributes' 但我不确定它是否是我需要的。如果产品重复,是否有任何方法可以触发事件,或者可能有更简单的解决方案来解决这个问题。
提前感谢您的任何想法。
(A):应该变空的字段,(B):保存时触发事件。
我找到了解决问题的方法:
etc/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>
Model/Observer.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。
我想要做的是清空在后端复制的产品的自定义 'EAN' 字段。因此,只要用户在某个项目上点击 'copy',新项目 EAN 字段就应该为空。
我找到了 magento 事件 'product_duplicate_attributes' 但我不确定它是否是我需要的。如果产品重复,是否有任何方法可以触发事件,或者可能有更简单的解决方案来解决这个问题。
提前感谢您的任何想法。
我找到了解决问题的方法:
etc/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>
Model/Observer.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。