Estoy tratando de escribir un observador que exportará datos de pedido cuando se realiza un pedido. No he escrito ningún módulo antes. Basando mi implementación en este artículo: http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_methodmagento sales_order_place_after observador
Hasta ahora solo intento activar un código ficticio para escribir en un archivo. No estoy obteniendo nada en mi registro, y el archivo no está siendo modificado. El usuario de apache tiene permiso para el directorio. Inhabilité el almacenamiento en caché de configuración en la configuración de Magento. Estoy un poco confundido con algunas de las convenciones de nombres; Solo traté de seguir el ejemplo. ¿Alguien sabe dónde me estoy equivocando?
en magento/app/etc/modules/feed.xml:
<?xml version="1.0"?>
<config>
<modules>
<Feed_Sales>
<codePool>local</codePool>
<active>true</active>
</Feed_Sales>
</modules>
</config>
en magento/app/código/Ventas/feed/local/etc/config.xml:
<?xml version="1.0"?>
<config>
<global>
<models>
<feedsales>
<class>Feed_Sales_Model</class>
</feedsales>
</models>
<events>
<sales_order_place_after>
<observers>
<feed_sales_order_observer>
<type>singleton</type>
<class>sales/order_observer</class><!-- I've also tried Feed_Sales_Model_Order_Observer here -->
<method>export_new_order</method>
</feed_sales_order_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
en magento/app/código/local/RSS/Ventas/modelo/Pedido/Observer.php:
<?php
class Feed_Sales_Model_Order_Observer
{
public function __contruct()
{
}
/**
* Exports new orders to an xml file
* @param Varien_Event_Observer $observer
* @return Feed_Sales_Model_Order_Observer
*/
public function export_new_order($observer)
{
Mage::log("reached export_new_order");
try
{
$dumpFile = fopen('/home/jorelli/new_orders/testdump', 'w+');
fwrite($dumpFile, 'this is a test!');
}
catch (Exception $e)
{
Mage::log("order export failed.\n");
}
return $this;
}
}
?>
Magento 1.4 en Debian Lenny con Apache 2 si se debe importar para cualquier r eason.
gracias por la sugerencia. No notó ningún cambio: - \ – jorelli
Asegúrese de haber borrado su caché de configuración antes de buscar el cambio. XML no se lee en cada carga de página. –
Sí, acabo de desactivar por completo el caché de configuración por el momento. Vale la pena mencionar, aunque^_^ Para el registro, usted tenía toda la razón sobre el alias de clase particular. trabajos 'feedsales/order_observer'. usando el nombre de clase literal de 'Feed_Sales_Model_Order_Observer' también funciona. pero 'sales/order_observer' no funciona. – jorelli