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

Problema Observe events
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Salve a tutti,
ho un grande problema con magento circa un modulo che contiene un observer..
Sono in locale, sotto Xampp di windows…
Come file di attivazione del modulo ho Customo_Stcato.xml:

<?xml version="1.0"?>
<config>
    <
modules>
        <
Customo_Stcato>
            <
active>true</active>
            <
codePool>community</codePool>
        </
Customo_Stcato>
    </
modules>
</
config>
mentre come file config.xml del modulo ho questo
<?xml version="1.0"?>
<config>
  <global>
<
events
  <
sales_order_place_after
    <
observers
      <
customo_stcato_order_observer
        <
type>singleton</type
        <class>
customo_stcato_model_observer</class> 
        <
method>saveOrderInfo</method
      </
customo_stcato_order_observer
    </
observers
  </
sales_order_place_after
</
events>
</global>
</
config>
il file Observer.php ha questo:
<?php
class Customo_Stcato_Model_Observer{   
    
public function saveOrderInfo($observer){      
        $order_ids 
$observer->getEvent()->getOrderIds(); //$order_ids is the array containg the od of the order placed
       
        
$write Mage::getSingleton('core/resource')->getConnection('core_write');
        
$write->query("INSERT INTO custom set order_id= $order_ids");
        
        return 
$this;
    
}
}

la struttura delle cartelle è così:
-App/code/Community/ Customo/Stcato
- Model
- Observer.php
- etc
- config.xml
-App/etc/Modules
- Customo_Stcato.xml

Ho provato bene con maiuscole, e convenzione sui nomi delle directories, ma non và nel log ho questo erorre:
2013-01-28T23:27:42+00:00 ERR (3): Warning: include(customo_stcato_model_observer.php): failed to open stream: No such file or directory in C:\\xampp\htdocs\magento\include\src\Varien_Autoload.php on line 93
2013-01-28T23:27:42+00:00 ERR (3): Warning: include(): Failed opening \’customo_stcato_model_observer.php\’ for inclusion (include_path=’C:\\\xampp\htdocs\magento\includes\src;.;C:\\xampp\php\PEAR’) in C:\\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93

Non sò più come e cosa provare…
Spero mi possiate aiutare.

 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Non sò perchè nel mio post siano usciti i backslashes, ho usato il tag , comunque non valutateli..

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 28 January 2013 02:37 PM

Salve a tutti,
ho un grande problema con magento circa un modulo che contiene un observer..
Sono in locale, sotto Xampp di windows…
Come file di attivazione del modulo ho Customo_Stcato.xml:

<?xml version=
<
config>
    <
modules>
        <
Customo_Stcato>
            <
active>true</active>
            <
codePool>community</codePool>
        </
Customo_Stcato>
    </
modules>
</
config>
mentre come file config.xml del modulo ho questo

<?xml
la struttura delle cartelle è così:
-App/code/Customo/Stcato

Spero mi possiate aiutare.

Non dovrebbe essere -App/code/Community/Customo/Stcato ?
sauti
filippo

 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Non dovrebbe essere -App/code/Community/Customo/Stcato ?
sauti
filippo

Ciao Filippo, grazier per averlo fatto notare, la strttutra è così:
-App/code/Community/Customo/Stcato (HO corretto)
è stato un erorre di battittura
saluti luca

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 28 January 2013 11:40 PM


Non dovrebbe essere -App/code/Community/Customo/Stcato ?
sauti
filippo

Ciao Filippo, grazier per averlo fatto notare, la strttutra è così:
-App/code/Community/Customo/Stcato (HO corretto)
è stato un erorre di battittura
saluti luca

Altra cosa Observer.php dov’è ? dentro Models ?
Puoi inviare la struttura ad albero delle directory?
Dovresti avere :
customo_stcato_model_observer
Customo/Stcato/Model/Observer.php
ciao
fe

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 

Ciao ,
prova questo :

<observers
      <
customo_stcato_order_observer
        <
type>singleton</type
        <class>
customo_stcato_model_observer</class> 
        <
method>saveOrderInfo</method
      </
customo_stcato_order_observer
    </
observers
<!-- 
modifica in  -->
<
observers
      <
Customo_Stcato_Model_Observer
        <
type>singleton</type
        <class>
Customo_Stcato_Model_Observer</class> 
        <
method>saveOrderInfo</method
      </
Customo_Stcato_Model_Observer
    </
observers>

Fammi sapere,
filippo

 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Ho provato il config.xml che mi hai postato ma non và lo stesso, ho questo errore:
2013-01-29T09:35:11+00:00 ERR (3): Warning: include(Customo_Stcato_Model_Observer.php): failed to open stream: No such file or directory in C:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2013-01-29T09:35:11+00:00 ERR (3): Warning: include(): Failed opening ‘Customo_Stcato_Model_Observer.php’ for inclusion (include_path=’C:\xampp\htdocs\magento\includes\src;.;C:\xampp\php\PEAR’) in C:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
LA struttura delle directories è la seguente:

- app/code/community/Customo/Stcato/Model/Observer.php
- app/code/community/Customo/Stcato/etc/config.xml
- app/etc/modules/Customo_Stcato.xml

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 29 January 2013 12:39 AM

Ho provato il config.xml che mi hai postato ma non và lo stesso, ho questo errore:
2013-01-29T09:35:11+00:00 ERR (3): Warning: include(Customo_Stcato_Model_Observer.php): failed to open stream: No such file or directory in C:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2013-01-29T09:35:11+00:00 ERR (3): Warning: include(): Failed opening ‘Customo_Stcato_Model_Observer.php’ for inclusion (include_path=’C:\xampp\htdocs\magento\includes\src;.;C:\xampp\php\PEAR’) in C:\xampp\htdocs\magento\includes\src\Varien_Autoload.php on line 93
LA struttura delle directories è la seguente:

- app/code/community/Customo/Stcato/Model/Observer.php
- app/code/community/Customo/Stcato/etc/config.xml
- app/etc/modules/Customo_Stcato.xml

Ciao hai la compilazione attiva?
System > Tools > Compilation

 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Sì è attiva, cosa ti listo?

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 29 January 2013 02:18 AM

Sì è attiva, cosa ti listo?

Disabilita e prova.
ciao
filippo.

 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Ottimo Filippo funziona… Sei un grande.. Come mai con la compilazione attiva non và?
Cmq ho cambiato l’evento:
da
sales_order_place_after
a
checkout_onepage_controller_success_action

per catturare l’evento del nuovo ordine, e funziona lo stesso, una cosa che non riesco a fare, e prendere l’id dell’ordine appena creato, con:
$order_id = $observer->getEvent()->getOrder();
mi dice che $order_id
mi dice che è vuota

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 29 January 2013 03:28 AM

Ottimo Filippo funziona… Sei un grande.. Come mai con la compilazione attiva non và?
Cmq ho cambiato l’evento:
da
sales_order_place_after
a
checkout_onepage_controller_success_action

per catturare l’evento del nuovo ordine, e funziona lo stesso, una cosa che non riesco a fare, e prendere l’id dell’ordine appena creato, con:
$order_id = $observer->getEvent()->getOrder();
mi dice che $order_id
mi dice che è vuota

Ciao se cerchi l’evento in core/Mage trovi questo

$lastOrderId $session->getLastOrderId();
...
...
Mage::dispatchEvent('checkout_onepage_controller_success_action', array('order_ids' => array($lastOrderId)));
nel file core\Mage\Checkout\controllers\OnepageController.php
il tuo observer è :
public function saveOrderInfo($observer){      
        $order_ids 
$observer->getEvent()->getOrderIds(); //$order_ids is the array containg the od of the order placed
secondo me dovresti provare :
public function saveOrderInfo($observer){      
        $order_ids 
$observer//$order_ids is the array containg the od of the order placed
        
Mage::log($order_ids,1,'orderids.log');
e vedere cosa contiene. Dalla firma sopra dovrebbe essere un array che contiene l’ultimo id ordine. Poi puoi riprenderlo con
$myorder=Mage::getModel('sales/order')->load($order_id);
saluti
filippo
 
Magento Community Magento Community
Magento Community
Magento Community
 
novello_16
Jr. Member
 
Total Posts:  20
Joined:  2011-10-17
 

Perfetto risolto così:
$order_ids = $observer->getEvent()->getOrderIds(); //$order_ids is the array containg the od of the order placed
$order_ids = $order_ids[0];
non avendo lavorato mai con gli events di magento non sapevo come prenderemi quel valore, così funziona perfettamente, grazie mille mi sei stato di grande aiuto, un saluto alla prossima…
Luca

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  465
Joined:  2009-02-20
Fano
 
novello_16 - 29 January 2013 07:31 AM

Perfetto risolto così:
$order_ids = $observer->getEvent()->getOrderIds(); //$order_ids is the array containg the od of the order placed
$order_ids = $order_ids[0];
non avendo lavorato mai con gli events di magento non sapevo come prenderemi quel valore, così funziona perfettamente, grazie mille mi sei stato di grande aiuto, un saluto alla prossima…
Luca

Di nulla a buon rendere wink

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top