Magento Forum

   
Funzione $customer->save();
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 

Ciao a tutti,
sapete dove si trova la funzione save() che viene invocata,per salvare i dati di un nuovo cliente che si registra?
Grazie

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  462
Joined:  2009-02-20
Fano
 
The_4th_knight - 05 August 2013 01:52 AM

Ciao a tutti,
sapete dove si trova la funzione save() che viene invocata,per salvare i dati di un nuovo cliente che si registra?
Grazie

Ciao ,
l’oggetto customer è un oggetto creato in questo modo

$customer=Mage::getModel('customer/customer');
La classe customer è defnita come :
class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
Il metodo save fa parte della classe astratta
Mage_Core_Model_Abstract
Se vuoi eseguire delle operazioni prima o dopo il salvataggio ,
ciascun Model ha degli eventi before_save e after_save puoi trarne vantaggio.
Magento usa l’autoloader quindi se la classe è definita come :
Mage_Customer_Model_Customer
puoi trovarla in app/code/core/Mage/Customer/Model/Customer.php.
Fammi sapere se vuoi avere altre informzioni,
saluti
filippo esposto.

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 05 August 2013 03:00 AM

The_4th_knight - 05 August 2013 01:52 AM
Ciao a tutti,
sapete dove si trova la funzione save() che viene invocata,per salvare i dati di un nuovo cliente che si registra?
Grazie

Ciao ,
l’oggetto customer è un oggetto creato in questo modo

$customer=Mage::getModel('customer/customer');
La classe customer è defnita come :
class Mage_Customer_Model_Customer extends Mage_Core_Model_Abstract
Il metodo save fa parte della classe astratta
Mage_Core_Model_Abstract
Se vuoi eseguire delle operazioni prima o dopo il salvataggio ,
ciascun Model ha degli eventi before_save e after_save puoi trarne vantaggio.
Magento usa l’autoloader quindi se la classe è definita come :
Mage_Customer_Model_Customer
puoi trovarla in app/code/core/Mage/Customer/Model/Customer.php.
Fammi sapere se vuoi avere altre informzioni,
saluti
filippo esposto.

Vorrei sapere,qual’è il metodo migliore per salvare una copia dei dati utente,in una tabella creata nel db di magento ( no database esterni).

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

Vorrei sapere,qual’è il metodo migliore per salvare una copia dei dati utente,in una tabella creata nel db di magento ( no database esterni).

Ciao ti posso dire la strada che prederei io :
1) creare un modulo che gestisca una tabella con i dati dell’utente che voglio salvare
2) nell’evento save_after del salvataggio dell’utente salvare i dati nella tabella gestita dal modulo se non presente.
Fammi sapere se è chiaro,
saluti
filippo.

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 05 August 2013 05:58 AM


Vorrei sapere,qual’è il metodo migliore per salvare una copia dei dati utente,in una tabella creata nel db di magento ( no database esterni).

Ciao ti posso dire la strada che prederei io :
1) creare un modulo che gestisca una tabella con i dati dell’utente che voglio salvare
2) nell’evento save_after del salvataggio dell’utente salvare i dati nella tabella gestita dal modulo se non presente.
Fammi sapere se è chiaro,
saluti
filippo.

Capito,però con customer_save_after mi fa i record duplicati,devo aggiungere qualche controllo in particolare?

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  462
Joined:  2009-02-20
Fano
 
The_4th_knight - 05 August 2013 06:43 AM

TreInnova - 05 August 2013 05:58 AM

Vorrei sapere,qual’è il metodo migliore per salvare una copia dei dati utente,in una tabella creata nel db di magento ( no database esterni).

Ciao ti posso dire la strada che prederei io :
1) creare un modulo che gestisca una tabella con i dati dell’utente che voglio salvare
2) nell’evento save_after del salvataggio dell’utente salvare i dati nella tabella gestita dal modulo se non presente.
Fammi sapere se è chiaro,
saluti
filippo.

Capito,però con customer_save_after mi fa i record duplicati,devo aggiungere qualche controllo in particolare?

Ciao,
se ho capito bene devi copiare il cliente dalla tabella di magento a una tua tabella. Io utilizzerei questa tecnica :
1) se esiste lo aggiorni
2) altrimenti lo inserisci.
Utilizza l’entity_id come chiave primaria della tua tabella.
fammi sapere se hai dubbi,
saluti
filippo

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 05 August 2013 07:54 AM

The_4th_knight - 05 August 2013 06:43 AM
TreInnova - 05 August 2013 05:58 AM

Vorrei sapere,qual’è il metodo migliore per salvare una copia dei dati utente,in una tabella creata nel db di magento ( no database esterni).

Ciao ti posso dire la strada che prederei io :
1) creare un modulo che gestisca una tabella con i dati dell’utente che voglio salvare
2) nell’evento save_after del salvataggio dell’utente salvare i dati nella tabella gestita dal modulo se non presente.
Fammi sapere se è chiaro,
saluti
filippo.

Capito,però con customer_save_after mi fa i record duplicati,devo aggiungere qualche controllo in particolare?

Ciao,
se ho capito bene devi copiare il cliente dalla tabella di magento a una tua tabella. Io utilizzerei questa tecnica :
1) se esiste lo aggiorni
2) altrimenti lo inserisci.
Utilizza l’entity_id come chiave primaria della tua tabella.
fammi sapere se hai dubbi,
saluti
filippo

Il concetto è chiaro,ma se l’utente che copio si è appena registrato come faccio?

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

Il concetto è chiaro,ma se l’utente che copio si è appena registrato come faccio?

Mi sfugge qualcosa. Provo a descriverti il flusso :
Supponiamo che la tua tabella si chiami mirror_customer_data e che sia composta di tutti i dati
che vuoi mirrorare. La chiave della tabella è entity_id e corrisponde all’entity_id della tabella customer di magento.
1) un utente si registra nel tuo sistema tramite la procedura di login
2) dopo che si è registrato viene scatenato un evento after_save
3) intercetti l’evento after_save e ti domandi :
3.1) Esiste un custmer con entity_id nella mia tabella mirror_customer_data?
3.2) Non esiste allora lo creo
3.3) Esiste allora aggiorno con i dati del customer che mi sono stati inviati (o prendendo quelli dal database).
-----------------------------------------------------------------------------
Utente è già registrato e completa un ordine inserendo anche gli indirizzi di spedzione e fatturazione.
Dopo che ha salvato viene scatenato un evento after_save:
3) intercetti l’evento after_save e ti domandi :
3.1) Esiste un custmer con entity_id nella mia tabella mirror_customer_data?
3.2) Non esiste allora lo creo
3.3) Esiste allora aggiorno con i dati del customer che mi sono stati inviati (o prendendo quelli dal database).

In questi flussi dove vedi il problema? Ti chiedo di essere più descrittivo possibile ,
un saluto
filippo

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 05 August 2013 10:40 PM


Il concetto è chiaro,ma se l’utente che copio si è appena registrato come faccio?

Mi sfugge qualcosa. Provo a descriverti il flusso :
Supponiamo che la tua tabella si chiami mirror_customer_data e che sia composta di tutti i dati
che vuoi mirrorare. La chiave della tabella è entity_id e corrisponde all’entity_id della tabella customer di magento.
1) un utente si registra nel tuo sistema tramite la procedura di login
2) dopo che si è registrato viene scatenato un evento after_save
3) intercetti l’evento after_save e ti domandi :
3.1) Esiste un custmer con entity_id nella mia tabella mirror_customer_data?
3.2) Non esiste allora lo creo
3.3) Esiste allora aggiorno con i dati del customer che mi sono stati inviati (o prendendo quelli dal database).
-----------------------------------------------------------------------------
Utente è già registrato e completa un ordine inserendo anche gli indirizzi di spedzione e fatturazione.
Dopo che ha salvato viene scatenato un evento after_save:
3) intercetti l’evento after_save e ti domandi :
3.1) Esiste un custmer con entity_id nella mia tabella mirror_customer_data?
3.2) Non esiste allora lo creo
3.3) Esiste allora aggiorno con i dati del customer che mi sono stati inviati (o prendendo quelli dal database).

In questi flussi dove vedi il problema? Ti chiedo di essere più descrittivo possibile ,
un saluto
filippo

Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

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

Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

Ciao gli eventi sono diversi vediamo alcuni gruppi:

Eventi che vengono scatenati durante il checkout
sales_quote_save_after
checkout_allow_guest

Eventi quando si esegue il checkout come utente registrato
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout anonimo
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout come nuovo cliente
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
customer_login
checkout_onepage_controller_success_action

Fammi sapere se ti è stato utile.
saluti
fe.

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 06 August 2013 08:07 PM


Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

Ciao gli eventi sono diversi vediamo alcuni gruppi:

Eventi che vengono scatenati durante il checkout
sales_quote_save_after
checkout_allow_guest

Eventi quando si esegue il checkout come utente registrato
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout anonimo
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout come nuovo cliente
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
customer_login
checkout_onepage_controller_success_action

Fammi sapere se ti è stato utile.
saluti
fe.

Ho provato l’ultimo gruppo,ma non riesco ad avere le credenziali del cliente.
Il mio intento sarebbe,che dai form di registrazione di Magento,riesco a copiare i dati verso una tabella di mirror.

 
Magento Community Magento Community
Magento Community
Magento Community
 
TreInnova
Guru
 
Avatar
Total Posts:  462
Joined:  2009-02-20
Fano
 
The_4th_knight - 07 August 2013 06:35 AM

TreInnova - 06 August 2013 08:07 PM

Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

Ciao gli eventi sono diversi vediamo alcuni gruppi:

Eventi che vengono scatenati durante il checkout
sales_quote_save_after
checkout_allow_guest

Eventi quando si esegue il checkout come utente registrato
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout anonimo
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout come nuovo cliente
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
customer_login
checkout_onepage_controller_success_action

Fammi sapere se ti è stato utile.
saluti
fe.

Ho provato l’ultimo gruppo,ma non riesco ad avere le credenziali del cliente.
Il mio intento sarebbe,che dai form di registrazione di Magento,riesco a copiare i dati verso una tabella di mirror.

Ciao cosa intendi per credenziali cliente? Potrebbe secondo te essere una strada il rewrite del controller onepage in questo modo
ti prendi i dati della form?
saluti
fe.

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
TreInnova - 07 August 2013 07:29 AM

The_4th_knight - 07 August 2013 06:35 AM
TreInnova - 06 August 2013 08:07 PM

Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

Ciao gli eventi sono diversi vediamo alcuni gruppi:

Eventi che vengono scatenati durante il checkout
sales_quote_save_after
checkout_allow_guest

Eventi quando si esegue il checkout come utente registrato
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout anonimo
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout come nuovo cliente
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
customer_login
checkout_onepage_controller_success_action

Fammi sapere se ti è stato utile.
saluti
fe.

Ho provato l’ultimo gruppo,ma non riesco ad avere le credenziali del cliente.
Il mio intento sarebbe,che dai form di registrazione di Magento,riesco a copiare i dati verso una tabella di mirror.

Ciao cosa intendi per credenziali cliente? Potrebbe secondo te essere una strada il rewrite del controller onepage in questo modo
ti prendi i dati della form?
saluti
fe.

 
Magento Community Magento Community
Magento Community
Magento Community
 
The_4th_knight
Sr. Member
 
Total Posts:  85
Joined:  2012-04-23
 
The_4th_knight - 16 August 2013 04:35 AM

TreInnova - 07 August 2013 07:29 AM
The_4th_knight - 07 August 2013 06:35 AM
TreInnova - 06 August 2013 08:07 PM

Funziona,ho solo una domanda: che evento viene attivato quando l’utente si registra nella pagian di checkout?
Grazie

Ciao gli eventi sono diversi vediamo alcuni gruppi:

Eventi che vengono scatenati durante il checkout
sales_quote_save_after
checkout_allow_guest

Eventi quando si esegue il checkout come utente registrato
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout anonimo
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
checkout_onepage_controller_success_action

Checkout come nuovo cliente
checkout_controller_onepage_save_shipping_method
sales_order_place_after
checkout_type_onepage_save_order_after
customer_login
checkout_onepage_controller_success_action

Fammi sapere se ti è stato utile.
saluti
fe.

Ho provato l’ultimo gruppo,ma non riesco ad avere le credenziali del cliente.
Il mio intento sarebbe,che dai form di registrazione di Magento,riesco a copiare i dati verso una tabella di mirror.

Ciao cosa intendi per credenziali cliente? Potrebbe secondo te essere una strada il rewrite del controller onepage in questo modo
ti prendi i dati della form?
saluti
fe.

Per credenziali intendo Nome,cognome,password e email.....se faccio un rewrite del controller questo comporterebbe?
Grazie

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