我安装了一个 Magento 商店,当产品在后端重复时,Magento 默认将其状态设置为禁用。我不希望这种情况发生,复制的产品也应该从原始产品复制其状态。
在这篇文章中,给出了部分解决方案。我知道在哪里可以找到 config.xml 并进行必要的更改。但是,我在哪里放置这样一个观察者类?我应该使用/创建哪个文件,这是否需要对 config.xml 输入进行任何更改?
或者有人有这个问题的整体解决方案吗?提前致谢!
我安装了一个 Magento 商店,当产品在后端重复时,Magento 默认将其状态设置为禁用。我不希望这种情况发生,复制的产品也应该从原始产品复制其状态。
在这篇文章中,给出了部分解决方案。我知道在哪里可以找到 config.xml 并进行必要的更改。但是,我在哪里放置这样一个观察者类?我应该使用/创建哪个文件,这是否需要对 config.xml 输入进行任何更改?
或者有人有这个问题的整体解决方案吗?提前致谢!
尝试这个:
创建: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/
我在此代码上发现错误并找出以下解决方案:
在 app/code/local/MagePal/EnableDuplicateProductStatus/etc/config.xml 更改
<method> duplicateProduct </method>
至
<method>productDuplicate</method>