Personalizzare il modulo di registrazione utente

1. Introduzione

Quando un potenziale cliente si registra in Magento deve compilare un apposito modulo (form) inserendo i propri dati anagrafici che ci permettono di identificarlo (nome, cognome, mail, ....).
Tramite il menù di Amministrazione (Configurazione->CLIENTI->Configurazione Cliente) Magento ci permette di accendere/spegnere i campi per l'identificazione utente. Possiamo ad esempio possiamo decidere se far scrivere l'indirizzo su una o più linee, se richiedere o meno la data di nascita ed altre informazione che però risultano insufficienti per l'identificazione del cliente necessaria in alcuni contesti e/o semplicemente per abbellire il form di registrazione.

2. Un caso concreto : aggiungere il campo "Ragione sociale" e la scelta "Categoria merceologica"

E' basato sull'idea che il nostro negozio vende ad altri negozi e quindi per identificare il cliente nome e congome non sono sufficienti e vogliamo poter indicare la ragione sociale.
Inoltre già che ci siamo aggiungiamo anche una "tendina" (combobox) per la scelta della categoria merceologica.

 ((Immagine del risultato finale))

{codepiece 2} 

3. Come fare

Ora che sappiamo cosa fare passiamo al come, partendo dal database (dove le nostre informazioni aggiunte verranno salvate) per arrivare alla form utente (dove le nostra informazioni verranno scritte), passando per i vari automatismi di Magento che stanno nel mezzo.
 - prima fase creare due nuovi attributi applicati all'entità cliente
 - seconda fase dire al motore di Magento che sono stati aggiunti due campi
 - terza fase visualizzare i campi nel form di registrazione utente.

4. Prima fase, gli Attributi

Dobbiamo creare degli attributi per i nostri nuovi valori associati all'entità cliente, il concetto è del tutto analogo a quanto già ben noto per gli attributi dei prodotti. Sfortunatamente Magento non dispone di un'interfaccia per la creazione di questo tipo di attibuti ma grazie ad un'estensione gratuita "Pol attribute Manager" non è necessario intervenire manualmente sul database di Magento.
Dopo aver installato gratuitamente l'estensione dal sistema "Magento Connect", per poterla utilizzare dovete disabilitare temporaneamente (per il tempo necessario all'aggiunta degli attributi) la funzione "Add Secret Key to URLs" nel menù di Amministrazione (Configurazione->AVANZATO->Amministratore->Security).
Ora utilizzando sempre dal menù Amministrazione la nuova voce "Manager->Manage Attribute for categories and customers", create i nuovi attributi per il "Customer's Attribute".
La procedura è molto simile a quanto gia disponibile per gli attributi dei prodotti.
E' importante ricordare il codice attributo dell'attributo appena creato.

5.  seconda fase motore di Magento

Dopo la creazione dei nuovi attributi è necessario modificare la configurazione di Magento affinche tenga conto dei nuovi dati in fase di caricamento/salvataggio dei dati associati al cliente.
La configurazione dell'entità customer è descritta in questo file xml che dovete aprire in modifica:

/app/code/core/Mage/Customer/etc/config.xml

All'interno di questo file cercate la sezione e aggiungete una riga per ogni attributo creato, ricordate di scrivere il codice attributo e non l'etichetta:

((Blocco di codice HTML))

 


Nota
le modifiche apportate direttamente a questo file vengono sovrascritte dalla procedura di aggiornamento di Magento, consigliamo pertanto di creare un modulo apposito.
    
       

1 installare il modulo
  attenzione alle secret key
 
2 aggiungere il/gli attributi necessari

3 Front End modificare i seguenti moduli del template:

app\design\frontend\default\\template\customer\form\edit.phtml
app\design\frontend\default\\template\customer\form\register.phtml

4 modifica file xml è consigliato creare un modulo
/app/code/core/Mage/Customer/etc/config.xml

 
 
 

{codepiece 2}

Ci hanno già scelto