Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Observer per invio sms
 
70mosquito70
Jr. Member
 
Total Posts:  1
Joined:  2010-08-18
 

Salve a tutti,
Sono alle prime armi con Magento e ad alcuni eventi di invio mail, dovrei associare anche l\\\’invio di un sms, chiamando una piattaforma, ed inviandole dati via GET (è una chiamata URL criptata).

Sapete dove e come implementare qualcosa del genere?

Finora ho capito che
1. E\\\’ necessario dichiarare l\\\’observer nel config.xml

<config>
    <global>
  <
events>
   <
full_event_name>
    <
observers>
     <
nuestromodulo>
      <
type>singleton</type>
      <class>
nuestromodulo/observer</class>
      <
method>metodo</method>
     </
nuestromodulo>
    </
observers>
   </
full_event_name>
  </
events>
 </global>
</
config>

2) nel &#xyo;urmodule%/Model/Observer.php

class Yourmodule_Model_Observer {

    
public function yourMethodName(Observer $event{
        $data 
$event->getData(); 
        
// perform your action here
    
}

}

Sto seguendo anche questa guida
http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

Ma se avete nel frattempo qualche suggerimento, mi sarebbe di molto aiuto.

Grazie

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
70mosquito70 - 10 April 2013 12:40 AM

Salve a tutti,
Sono alle prime armi con Magento e ad alcuni eventi di invio mail, dovrei associare anche l\\\’invio di un sms, chiamando una piattaforma, ed inviandole dati via GET (è una chiamata URL criptata).

Sapete dove e come implementare qualcosa del genere?

Finora ho capito che
1. E\\\’ necessario dichiarare l\\\’observer nel config.xml


<config>
    <global>
  <
events>
   <
full_event_name>
    <
observers>
     <
nuestromodulo>
      <
type>singleton</type>
      <class>
nuestromodulo/observer</class>
      <
method>metodo</method>
     </
nuestromodulo>
    </
observers>
   </
full_event_name>
  </
events>
 </global>
</
config>


2) nel &#xyo;urmodule%/Model/Observer.php

class Yourmodule_Model_Observer {

    
public function yourMethodName(Observer $event{
        $data 
$event->getData(); 
        
// perform your action here
    
}

}

Sto seguendo anche questa guida
http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method

Ma se avete nel frattempo qualche suggerimento, mi sarebbe di molto aiuto.

Grazie

Ciao ,
la strada è quella giusta. Magento utilizza il metodo dispatchevent per inviare degli eventi intercettabili.
Ti faccio un esempio :
Vogliamo intercettare l’evento di salvataggio dell’ordine. (nota : tutti i moduli hanno un evento _before e _after sul save).

<events>
      <
sales_order_save_after>
            <
observers>
                <
payment_sales_order_save_after>
                    <class>
mymodule/observer</class>
                    <
method>salesOrderAfterSave</method>
                </
payment_sales_order_save_after>
            </
observers>
        </
sales_order_save_after>
In Namespace/Mymodule/Model ho un file Observer.php
class Namespace_Mymodule_Model_Observer
{
    
/**
     * @param unknown_type $observer
     */
    
public function salesOrderAfterSave($observer)
    
{
        $order 
$observer->getEvent()->getOrder();
    
    
        
    
}

Questo è possibile perchè in Mage_Core_Model_Abstract ho un metodo :

protected function _afterSave()
    
{
        $this
->cleanModelCache();
        
Mage::dispatchEvent('model_save_after', array('object'=>$this));
        
Mage::dispatchEvent($this->_eventPrefix.'_save_after'$this->_getEventData());
        return 
$this;
    
}
// e 
/**
     * Processing object before save data
     *
     * @return Mage_Core_Model_Abstract
     */
    
protected function _beforeSave()
    
{
        
if (!$this->getId()) {
            $this
->isObjectNew(true);
        
}
        Mage
::dispatchEvent('model_save_before', array('object'=>$this));
        
Mage::dispatchEvent($this->_eventPrefix.'_save_before'$this->_getEventData());
        return 
$this;
    
}
Tutti i model estendono l’abstract da qui la magia.
Saluti
fe.
 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top