Joomla.it Forum

Componenti per Joomla! => Gestione Form => : Mastef 06 Dec 2010, 18:55:24

: Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: Mastef 06 Dec 2010, 18:55:24
Dopo mille peripezie ho sistemato i miei problemi passati ma ora ne ho un altro.
Sapete se è possibile inserire nella mail che invia chronoform i dati dell'utente attivo al momento?
Mi spiego meglio:
Utente fa il login.
Va nella pagina del form e lo compila.
Quando lo invia è possibile prelevare i dati dal jos_user e metterli nella mail senza che l'utente debba ricompilarli? o addirittura farglieli trovare già posizionati nel form? Grazie!
: Re:Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: vales 06 Dec 2010, 22:22:16
I dati dell'utente di ottengono usando le API di Joomla con un codice php tipo questo

:
<?php
$user 
=& JFactory::getUser();
$nome=$user->name;
$usernome=$user->username;
$email=$user->email;
$tipo=$user->usertype;
?>


ecc. con gli altri campi della tabella users.

Puoi usare questo sia nel form, in Form html visualizzandoli o inserendoli in campi nascosti per poi usarli nell'email oppure direttamente nel template dell'email.
: Re:Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: Mastef 07 Dec 2010, 00:36:24
Scusami ma non riesco a comprendere come usarlo.
: Re:Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: vales 08 Dec 2010, 10:10:51
Occorre consocere un po' php e html per queste cose.

Comunque il codice lo puoi inserire all'inizio del campo HTML code nella finestra Form code.

:
<?php
$user 
=& JFactory::getUser();
$nome=$user->name;
$usernome=$user->username;
$email=$user->email;
$tipo=$user->usertype;
?>


Come detto sopra puoi seguire due vie:

1) visualizzare nel form il campi dell'user  usando dove vuoi visualizzare i valori questo codice

:
<?php echo $user->name?>
in questo caso visualizza il nome.

oppure inserire i valori dell'user in campi del form con

:
<input type="txt" value="<?php echo $user->name?>"name="nome" />
oppure in un campo nascosto con

:
<input type="hidden" value="<?php echo $user->name?>"name="nome" />
in questo caso ritroverai il valore nel template dell'emai usando {nome} come per gli altri campi.

2) agendo invece nel template dovrai inserire il codice all'inizio come nel caso precedente e recuperare il valore nelle posizioni in cui desideri inserendo

:
<?php echo $user->name?>
: Re:Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: Mastef 08 Dec 2010, 17:33:13
tutto molto chiaro ora mi torna perfettamente Grazie dell'aiuto
: Re:Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM
: fredmo 26 Aug 2014, 18:02:23
Ho bisogno di un aiutino perché NON mastico né php né html.

Vorrei "pre-compilare" un campo del form (in Chronoforms v5) con il nome di registrazione dell'utente che lo utilizzerà.

Ho estratto il nome dell'utente registrato inserendo i seguenti codici all'inizio del codice html generato da Chronoforms:

<?php
$user =& JFactory::getUser();
$email=$user->email;
?>

Il codice html generato da Chronoforms poi continua così:

<div class="gcore-line-tr gcore-form-row" id="ftr-name"><div class="gcore-line-td" id="ftd-name"><label for="name" class="gcore-label-left">Name</label>
<div class="gcore-display-table gcore-input" id="fin-name"><input name="name" id="name" value="" placeholder="" maxlength="" size="" class=" validate['required']" title="" style="" data-inputmask="" data-load-state="" data-tooltip="" type="text" /></div></div></div><div class="gcore-line-tr gcore-form-row" id="ftr-email"><div class="gcore-line-td" id="ftd-email"><label for="email" class="gcore-label-left">Email</label>

Ma questo codice ovviamente non "auto-compila" il campo del nome, ma ne chiede l'inserimento.

La domanda è: quale parte di questo codice devo modificare e come devo modificarlo... affinché l'utente registrato (l'unico che può accedere a questo form) si ritrovi il campo del nome già compilato col suo nome? (O devo agire da un altra parte? In questo caso: dove e come?)

Grazie