Ich versuche einen Beobachter zu schreiben, der Auftragsdaten exportiert, wenn eine Bestellung aufgegeben wird. Ich habe noch keine Module geschrieben. Basiert meine Implementierung auf diesem Artikel: http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_methodmagento sales_order_place_after observer
bis jetzt versuche ich nur etwas Dummy-Code zu aktivieren, um in eine Datei zu schreiben. In meinem Protokoll wird nichts angezeigt, und die Datei wird nicht geändert. Der Apache-Benutzer verfügt über die Berechtigung für das Verzeichnis. Ich habe das Konfigurations-Caching in den Magento-Einstellungen deaktiviert. Ich bin ein wenig verwirrt über einige der Namenskonventionen; Ich habe nur versucht, dem Beispiel zu folgen. Wer weiß, wo ich falsch liege?
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/local/Futtermittel/Vertrieb/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>
in magento/app/code/local/Futtermittel/Vertrieb/Modell/Bestellung/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 auf Debian Lenny mit Apache2, wenn es sollte für jeden r Rolle einfach.
danke für den Vorschlag. Keine Änderung bemerkt: - \ – jorelli
Stellen Sie sicher, dass Sie Ihren Konfigurationscache gelöscht haben, bevor Sie nach der Änderung suchen. XML wird nicht bei jedem Laden der Seite gelesen. –
Ja, ich habe den Config-Cache vorerst komplett deaktiviert. Es ist erwähnenswert, obwohl^_^ Für die Aufzeichnung, Sie hatten völlig Recht mit der bestimmten Klasse Alias. 'feedsales/order_observer' funktioniert. mit dem literalen Klassennamen 'Feed_Sales_Model_Order_Observer' funktioniert auch. aber 'sales/order_observer' funktioniert nicht. – jorelli