La gestione della funzionalità di registrazione di nuovi utenti è presente in Joomla! sin dalle primissime versione del CMS, ma solo a partire dalla versione 2.0 Joomla! ha integrato nel suo core il plugin “User – Profile”. Questo plugin ( una volta attivato ) aggiunge agli utenti Joomla campi come l’indirzzo, il sito web, il libro favorito ( ??!!?? ), ecc.
In questo articolo andremo a vedere come poter, velocemente e senza acquistare nessun estensione, aggiungere un campo al form di registrazione degli utenti del nostro sito in Joomla!.
Per permettere agli utenti del nostro sito di iscriversi dovremo necessariamente effettuare le seguenti operazioni :
- Attivare il Plugin “User – Profile” attraverso il plugin manager di Joomla!
- Abilitare la registrazione di nuovi utenti nelle Global Configuration del nostro sito
- Creare una voce di menu del tipo Users->Registration Form
Una volta effettuate queste operazioni avremo nel nostro menu un link al form di registrazione utenti di Joomla!. Avendo abilitato il plugin User-Profile oltre ai campi dati base ( nome utente, password, email, ecc. ) verranno visualizzati anche alcuni campi aggiuntivi ( indirizzo , città, CAP, ecc. ). Qualora volessimo disabilitare alcuni di questi campi possiamo farlo facilmente attraverso il pannello di controllo del plugin “User – Profile”.
Come fare però, se invece che disabilitare un campo, volessimo aggiungerlo??
L’operazione di aggiunta di un campo, purtroppo, non può essere eseguita attraverso un qualche pannello di configurazione ma bisogna sporcarsi un po’ le mani e mettere mano al codice di Joomla!.
Il file .xml che andremo a modificare per “comunicare” a Joomla! che dovrà gestire un nuovo campo è il seguente :
root_sito\plugins\user\profile\profiles\profile.xml
In questo file Joomla! memorizza la lista ( e l’ordine!! ) dei campi aggiuntivi del nostro utente e per aggiungere un campo ci basterà, quindi, aggiungere un tag “field” in questo “fieldset”. La struttura base del tag del nostro nuovo campo sarà quindi :
1 2 3 4 5 6 7 8 9 10 | <field name="customfield1" type="text" required="true" label="Campo Personalizzato :" description="Questo è un campo aggiunto grazie a fuertedev.com" id="customfield1" filter="string" size="30" /> |
Copiate e incollate questo codice nel vostro file profile.xml ( nella posizione che desiderate) e avrete il vostro nuovo campo aggiunto al form di registrazione utenti.
In questo articolo abbiamo aggiunto un input di tipo “text” obbligatorio ( l’obbligatorietà del campo viene gestita attraverso l’attribute “required” ) ma ovviamente è possibile aggiungere tutte le tipologie di input che vogliamo e qui trovate la lista completa delle tipologie di campi supportate da Joomla! e relativi costrutti.
Buon Lavoro.. 🙂