La cosa è fattibile.
Ho provato l'uso del Multipage ed il plugindi Chronoform della Registrazione Joomla e dopo un po' di ammattimentoper la configurazione la cosa ha funzionato.
Poi mi è venuto ilpensiero di trovare una via meno complessa e l'ho trovata. Risultatofunziona la registrazione utente, l'invio delle email di conferma adamministratore ed utente registrato, il salvataggio dei dati nellatabella jos_user di joomla ed il salvataggio dei dati aggiunti in unanuova tabella.
La procedura è questa:
1) creare un form che contenga i campi di registrazione di Joomla
nome, username, email, password, password di verifica e gli altri campi che desideriamo inserire.
nella mia prova ho messo questi:
nome, cognome, indirizzo, cap, citta, provincia, telefono,
username, email, password, password_conf, codice captcha
abilitare l'invio email;
la validazione captcha;
abilitare nella tab validation la voce
Enable Server Side Validation a Yes;
in
Server Side validation Code va inserito il seguente codice (relativo ai miei campi);
<?php
global $mainframe;
if ( JRequest::getVar('password') != JRequest::getVar('password_conf') )
return 'Le password inserite non sono uguali, riprova!';
?>
nella tab plugin abilitare
Joomla Registration.
2)con il tool Create Tables di Chronoform dopo aver selezionato il nuovoform creare una nuova tabella, che sarà nominata automaticamente,escludendo i campi indicati in neretto nel punto uno e lasciando solo icampi aggiuntivi del form ed i campi cf_id e cf_user_id.
3) assegnare la tabella sopra creata al form nella Tab DB Connection. Salvare.
4) Mettere il segno di spunta accanto al nome del nuovo form e cliccare a sinistra su
Joomla Registration.Si aprirà la configurazione del plugin. Dobbiamo mettere i nomi inneretto del punto 1 in corrispondenza delle rispettive caselle di testo.
Nel tab Configuration del plugin va settato a Yes "
Override Joomla's Allow User Registration" resto dei parametri della tab lo possiamo lasciare come proposto. Si salva tutto.
5) Assicurarsi che il form sia pubblicato.
6) in Configurazione globale di Joomla settare Configurazione Utente come in figura.
Abilita registrazione Utenti a Si e
Attivazione nuovi utenti a Si
L'operazione è finita.
Seclicchiamo sul link accanto al nome del form si apre la nuova pagina diregistrazione. Se tutto è stato fatto nel modo giusto funzionerà. Aquel punto ritroveremo i dati nella tabella di Joomla jos_user e nellanuova tabella di nome jos_chronoforms_nometuoform. Le tabelle sarannoil relazione uno a uno nei campi id e cf_user_id.
Per farfunzionare il tutto va modificato il file di joomla, che richiama ilform standard, affichè richiami il nostro nuovo form. Per lasciareinalterato il file originario di joomla useremo la tecnicadell'override del template.
Si procede così:
si copia il file originale che è in
components\com_user\views\register\tmpl\default.php
in questa nuova posizione
/templates/rhuk_milkyway/html/com_user/register/default.php
Nel mio caso il template è rhuk_milkyway, quindi il percorso va adeguato al nome del template in uso
ed a questo file si applica la seguente modifica.
le prime due righe del file vanno cambiate da così
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
a così
<?php // no direct access
defined('_JEXEC') or die('Restricted access');
$mainframe->redirect('index.php?option=com_chronocontact&chronoformname=nometuoform');
?>
dove a
nometuoform dovremo sostituire il nome vero del form.
Questa modifica consentirà l'avvio del nuovo form al posto di quello standard di Joomla.
I nuovi dati potranno essere visualizzati come vogliamo con Chronoconnectivity.
P.S. questo post è stato aggiornato con le modifiche esposte qui:
http://forum.joomla.it/index.php/topic,89247.msg391373.html#msg391373e qui
http://forum.joomla.it/index.php/topic,89247.msg405247.html#msg405247corretto anche l'ultimo codice che aveva un errore di trascrizione e aggiornata la descrizione al 16 gen 2010
[allegato vecchio più di un anno eliminato automaticamente]