更改重复产品的Magento默认状态 [英] Change Magento default status for duplicated products
问题描述
在这篇文章给出了部分解决方案。我看到我可以在哪里找到config.xml并进行必要的更改。但是,我在哪里可以把这样一个观察员班呢?我应该使用/创建哪个文件,并且需要对config.xml输入进行任何更改?
还是有人有这个问题的整体解决方案?感谢提前!
尝试这样:
创建:应用程序/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>
< /观察者>
< / catalog_model_product_duplicate>
< / events>
< / global>
< / config>创建:app / code / local / MagePal / EnableDuplicateProductStatus / Model / Observer.php
class MagePal_EnableDuplicateProductStatus_Model_Observer
{
/ **
*为重复操作准备产品。
*
* @param Varien_Event_Observer $ observer
* @return对象
* /
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 /
I have a Magento store installed, and when a product is duplicated in the backend, Magento sets its status to Disabled by default. I don't want that to happen, the duplicated product should have its status copied from the original product as well.
In this post a partial solution was given. I see where I can find the config.xml and make the necessarry changes. However, where do I put such an observer class? Which file should I use/create and would that require any changes to the config.xml input?
Or does somebody have an overall solution for this issue? Thanks in advance!
解决方案 Try this:
Create: 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>
Create: 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;
}
}
Create: app/etc/modules/MagePal_EnableDuplicateProductStatus.xml
<?xml version="1.0"?>
<config>
<modules>
<MagePal_EnableDuplicateProductStatus>
<active>true</active>
<codePool>local</codePool>
</MagePal_EnableDuplicateProductStatus>
</modules>
</config>
Then clear cache and try duplicating a product.
read more @ :
http://magento4u.wordpress.com/2009/06/08/create-new-module-helloworld-in-magento/
make a new product active by default in magento
这篇关于更改重复产品的Magento默认状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!