Cambiar el estado predeterminado de Magento para productos duplicados
duplicates default (2)
Encontré un error en este código y descubrí la solución a continuación:
En la aplicación / code / local / MagePal / EnableDuplicateProductStatus / etc / config.xml cambio
<method> duplicateProduct </method>
A
<method>productDuplicate</method>
Tengo una tienda Magento instalada, y cuando un producto está duplicado en el back-end, Magento establece su estado en Disabled por defecto. No quiero que eso suceda, el producto duplicado también debería tener su estado copiado del producto original.
En este post se dio una solución parcial. Veo dónde puedo encontrar el config.xml y hacer los cambios necesarios. Sin embargo, ¿dónde pongo esa clase de observador? ¿Qué archivo debo usar / crear y necesitaría algún cambio en la entrada config.xml?
¿O alguien tiene una solución global para este problema? ¡Gracias por adelantado!
Prueba esto:
Crear: 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>
Crear: 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;
}
}
Crear: app / etc / modules / MagePal_EnableDuplicateProductStatus.xml
<?xml version="1.0"?>
<config>
<modules>
<MagePal_EnableDuplicateProductStatus>
<active>true</active>
<codePool>local</codePool>
</MagePal_EnableDuplicateProductStatus>
</modules>
</config>
Luego, borre la caché e intente duplicar un producto.
Lee mas @ :
http://magento4u.wordpress.com/2009/06/08/create-new-module-helloworld-in-magento/