when i try to write the observer for the checkout_type_onepage_save_order
event like following
<events>
<checkout_type_onepage_save_order>
<observers>
<Appeal_Consignor_Model_Observer>
<type>singleton</type>
<class>consignor/observer</class>
<method>savedata</method>
</Appeal_Consignor_Model_Observer>
</observers>
</checkout_type_onepage_save_order>
</events>
above code i tried in frontend
as well as global
.
Even i tried following as well.
<events>
<checkout_type_onepage_save_order>
<observers>
<Appeal_Consignor_Model_Observer>
<type>singleton</type>
<class>Appeal_Consignor_Model_Observer</class>
<method>savedata</method>
</Appeal_Consignor_Model_Observer>
</observers>
</checkout_type_onepage_save_order>
</events>
full config.xml file is as follows
<?xml version="1.0"?>
<config>
<modules>
<Appeal_Consignor>
<version>1.0.1</version>
</Appeal_Consignor>
</modules>
<global>
<models>
<consignor>
<class>Appeal_Consignor_Model</class>
</consignor>
</models>
<resources>
<consignor_setup>
<setup>
<module>Appeal_Consignor</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</consignor_setup>
<consignor_write>
<connection>
<use>core_write</use>
</connection>
</consignor_write>
<consignor_read>
<connection>
<use>core_read</use>
</connection>
</consignor_read>
</resources>
<helpers>
<consignor>
<class>Appeal_Consignor_Helper</class>
</consignor>
</helpers>
</global>
<frontend>
<routers>
<consignor>
<use>standard</use>
<args>
<module>Appeal_Consignor</module>
<frontName>consignor</frontName>
</args>
</consignor>
</routers>
<events>
<checkout_type_onepage_save_order>
<observers>
<Appeal_Consignor_Model_Observer>
<type>singleton</type>
<class>Appeal_Consignor_Model_Observer</class>
<method>savedata</method>
</Appeal_Consignor_Model_Observer>
</observers>
</checkout_type_onepage_save_order>
</events>
</frontend>
<adminhtml>
<layout>
<updates>
<consignor>
<file>consignor.xml</file>
</consignor>
</updates>
</layout>
</adminhtml>
</config>
yet the following error is coming. I cleared cache 1000 times, deleted var cache folder file manually as well.
2012-07-23T11:04:09+00:00 ERR (3): Warning: include(Appeal_Consignor_Model_Observer.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in E:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2012-07-23T11:04:09+00:00 ERR (3): Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'Appeal_Consignor_Model_Observer.php' for inclusion (include_path='E:\xampp\htdocs\magento\includes\src;.;E:\xampp\php\PEAR') in E:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
This is what I am using to run the observer when a new product is added to the cart:
etc\config.xml
<?xml version="1.0"?>
<config>
<modules>
<Iln_Cartvalidation>
<version>0.1.0</version>
</Iln_Cartvalidation>
</modules>
<global>
<helpers>
<cartvalidation>
<class>Iln_Cartvalidation_Helper</class>
</cartvalidation>
</helpers>
</global>
<frontend>
<events>
<checkout_cart_product_add_after>
<observers>
<Iln_Cartvalidation_Model_Observer>
<type>singleton</type>
<class>Iln_Cartvalidation_Model_Observer</class>
<method>Mytestmethod</method>
</Iln_Cartvalidation_Model_Observer>
</observers>
</checkout_cart_product_add_after>
</events>
</frontend>
</config>
Helper\Data.php
<?php
class Iln_Cartvalidation_Helper_Data extends Mage_Core_Helper_Abstract {
}
Model\observer.php
<?php
class Iln_Cartvalidation_Model_Observer {
public function Mytestmethod($observer) {
$event = $observer->getEvent(); //Fetches the current event
$product = $event->getProduct();
$eventmsg = "Current Event Triggered : " . $event->getName() . "Currently Added Product : " . $product->getName();
//Adds Custom message to shopping cart
echo Mage::getSingleton('checkout/session')->addSuccess($eventmsg);
//Your Custom Logic Here
print_r($product);
}
}
Judging by the include warning, it seems like you have the compiler enabled but it cannot find the (flattened) file.
So either disable the compiler:
php shell/compiler.php disable
Or run a compilation so that it will generate the file for you:
php shell/compiler.php compile
I think it should helps to you:
<events>
<checkout_type_onepage_save_order>
<observers>
<consignor>
<type>model</type>
<class>consignor/observer</class>
<method>savedata</method>
</consignor>
</observers>
</checkout_type_onepage_save_order>
</events>
来源:https://stackoverflow.com/questions/11611433/magento-unable-to-load-the-observe-class