Back to top

Autore Topic: Inserire dati dell'utente registrato nella mail inviata con CHRONOFORM  (Letto 4540 volte)

Offline Mastef

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
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!

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
I dati dell'utente di ottengono usando le API di Joomla con un codice php tipo questo

Codice: [Seleziona]
<?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.
« Ultima modifica: 08 Dic 2010, 09:57:13 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Mastef

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
Scusami ma non riesco a comprendere come usarlo.

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
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.

Codice: [Seleziona]
<?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

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

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

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

Codice: [Seleziona]
<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

Codice: [Seleziona]
<?php echo $user->name?>
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Mastef

  • Nuovo arrivato
  • *
  • Post: 37
    • Mostra profilo
tutto molto chiaro ora mi torna perfettamente Grazie dell'aiuto
« Ultima modifica: 08 Dic 2010, 20:21:55 da Mastef »

Offline fredmo

  • Nuovo arrivato
  • *
  • Post: 12
    • Mostra profilo
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

 



Web Design Bolzano Kreatif