Sto provando a scrivere un osservatore che esporterà i dati dell'ordine quando viene effettuato un ordine. Non ho scritto alcun modulo prima. Basando la mia implementazione su questo articolo: http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_methodmagento sales_order_place_after osservatore
fino ad ora sto solo cercando di attivare qualche codice fittizio per scrivere su un file. Non visualizzo nulla nel mio registro e il file non viene modificato. L'utente apache ha il permesso per la directory. Ho disabilitato il caching della configurazione nelle impostazioni di Magento. Sono un po 'confuso su alcune delle convenzioni sui nomi; Ho solo cercato di seguire l'esempio. Qualcuno sa dove sto andando male?
in Magento/app/etc/modules/feed.xml:
<?xml version="1.0"?>
<config>
<modules>
<Feed_Sales>
<codePool>local</codePool>
<active>true</active>
</Feed_Sales>
</modules>
</config>
in Magento/app/code/locali/feed/Vendite/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>
Magento/app/code/local/feed/Vendite/Modello/ordine/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 su Debian Lenny con Apache2 se dovesse importa per ogni r Eason.
grazie per il suggerimento. Non ho notato alcuna modifica: - \ – jorelli
Assicurati di aver cancellato la cache di configurazione prima di cercare la modifica. XML non viene letto su ogni caricamento della pagina. –
sì, ho solo disabilitato completamente la cache di configurazione per il momento. Vale la pena ricordare però^_^ Per la cronaca, hai completamente ragione sul particolare alias di classe. 'feedsales/order_observer' funziona. utilizza anche il nome della classe letterale di "Feed_Sales_Model_Order_Observer'. ma 'vendite/order_observer' non funziona. – jorelli