Questa richiesta consente di trattare alcune cose un po' nascoste di chronoform.
Per risolvere questo problema occorre tenere presenti le sequenze di lavoro di chronoforms. Infatti per ottenere il numero (cf_id) del form registrato nel database occorre che il form sia registrato nel database prima dell'invio dell'email altrimenti non sarebbe possibile avere quella informazione in email.
Si opera quindi nel seguente modo.
1) creare il form (es. con il wizard)
2) creare una tabella associata al form (con create table)
3) associare al form la tabella del punto 2 nella finestra DB connection del form.
Fino a qui sono tutte normali sequenze. Ora arrivano le varianti necessarie.
4) Nella finestra DB connection nell'opzione Saving Data/Emails order: dobbiamo settare l'opzione Before Email. Questo per salvare il dati prima dell'invio dell'email come detto in premessa.
5) Apriamo il codice del form in Form Code -> HTML form (oppure con edit form) ed aggiungiamo al codice in qualsiasi punto (meglio in cima od in fondo prima dei tasti di invio e reset) due campi nascosti che saranno necessari per avere disponibili i dati che ci occorrono. (Questo potremmo farlo anche al punto 1 con il wizard ma poi questi campi andrebbero anche nella tabella e non sono necessari).
<input name="numero" type="hidden" value="0" />
<input name="oggetto" type="hidden" value="" />
che evidentemente sono il numero di registrazione e l'oggetto.
6) predisporre l'email che sarà inviata (con la normale procedura i 4 campi canonici, ecc. come già detto in altri post) il campo oggetto in questo caso lo dovremo prevedere usando Dynamic Subject. Infatti abbiamo la necessità di inserire nell'oggetto il numero del form.
7) Predisporre il template dell'email, finestra Emails Templates, usando l'editor ed inserendo i campi del form con la notazione {nome_campo} ed usando dove desideriamo il campo {numero}.
Salvare il form e riaprirlo.
9) Ora dobbiamo fare una variazione inusuale all'email. Nella tendina grigia, che si apre cliccando su un campo qualsiasi, dobbiamo spuntare l'opzione Use Template Editor: a NO. Questo consentirà di poter inserire nel template il codice PHP che ci serve.
10) Salvare il form e riaprirlo
11) Torniamo nella finestra Emails Templates ed inseriamo prima del codice HTML che troveremo il seguente codice PHP
<?php
$id = $database->insertid();
$posted['oggetto'] = 'Tuo oggetto n. '.$id;
$posted['numero'] = $id;
?>
Questo codice consente di ottenere con un'utile funzione di joomla il numero del record appena registrato e di inserire esso usando gli array di chronoform nei valori dell'oggetto e numero che avevamo predisposto nascosti nel form.
Se tutto ha funzionato avremo ottenuto il risultato voluto con il numero nell'oggetto dell'email e nel testo dell'email.
Ovviamente i campi ed i testi possono essere adattati alle esigenze reali di ciascuno.