Joomla.it Forum
Componenti per Joomla! => Gestione Form => : sh7va 17 Jul 2016, 19:25:42
-
Ciao a tutti,
seguendo questa discussione http://forum.joomla.it/index.php/topic,250713.0.html (http://forum.joomla.it/index.php/topic,250713.0.html)
grazie alle indicazioni di giusebos, vales e mmleoni sono riuscito a far visualizzare nel mio form i dati della mia tabella.
Vorrei sapere se è possibile far visualizzare questi dati anche nell'invio di una mail. Infatti la mail viene inviata correttamente per tutti gli altri campi, ma non riesco però a far visualizzare i dati estratti dalla tabella visualizzati nel mio form in un campo container.
Grazie per l'aiuto.
-
Ciao sh7va,
mi scuso in anticipo se ho interpretato male la tua richiesta, ma nel frattempo ti rispondo per quanto ho capito.
Dunque, per inviare una mail ad un destinatario in automatico con all'itnerno i dati appena inseriti dall'utente o visualizzati in un determinato campo, bisogna, nella sezione SETUP, inserire l'oggetto mail.
Al suo interno ci sono diversi campi da compilare come ad esmepio a chi inviare la mail, l'oggetto della mail etc etc.
Per quanto riguarda il corpo della mail, ossia il testo che verrà visualizzato, all'interno della seizone EMIAL TEMPLATE, io ho fatto così:
<table width="500px" align="center">
<tbody>
<tr>
<td width="25%">nome</td>
<td>{name}</td>
</tr>
<tr>
<td width="25%">cognome</td>
<td>{surname}</td>
</tr>
<tr>
<td width="25%">oggetto</td>
<td>{oggetto}</td>
</tr>
<tr>
<tr>
<td width="25%">email</td>
<td>{mail}</td>
</tr>
<tr>
<td width="25%">messaggio</td>
<td>{messaggio}</td>
</tr>
</tbody>
</table>
Tutte le voci tra parentesi graffe, non sono altro che i nomi del Field name che hai dichiarato all'interno del tuo form.
Spero di aver esaudito i tuoi dubbi.
Ciao
Marco
-
Ciao ghepa,
grazie intanto per la risposta.
Sto cercando di realizzare un form di prenotazioni. In base alla scelta che l'utente effettua da un dropdown, il form mi visualizza il prezzo di un servizio che viene ricavato tramite dbread da un database precedentemente creato. E fino a qui funziona tutto.
Quando viene inviata la mail di conferma al cliente riesco a far visualizzare tutti i dati inseriti dall'utente nel form tramite l'utilizzo della sintassi {Field id}, ma non riesco però a visualizzare il prezzo che deve essere richiamato dal database.
-
se visualizzi il valore del prezzo in un campo del form devi utilizzare {field_name} non {field_id}
-
Il prezzo viene visualizzato in un container di tipo div che non ha però il field_name ed è per questo motivo che non riesco a farlo visualizzare nel corpo della mail.
-
Valorizzalo come variabile e stampi la variabile.
-
oltre che visualizzarlo assegna il valore anche ad un campo input hidden e lo ritroverai dopo l'invio in {nome_campo_input}
-
Scusatemi, ma non riesco ad assegnare il valore ad un campo input hidden.
Per assegnarlo posso sempre utilizzare il db read inserito nell'ajaxevent? O devo inserire un altro db read? Devo inserire un custom code?
-
Credo a questo punto dovresti descrivere cosa hai inserito nel form sia in designer che in on submit altrimenti e difficile dare indicazioni precise.
-
In designer ho inserito un container Div con Label e Title prezzo e ID AjaxTarget
Ho poi inserito questi 2 dynamic html:
On Change Value Of corsa - Percorso Target container - prezzo AJAX event AjaxEvent
On Change Value Of persone - Persone Target container - prezzo AJAX event AjaxEvent
In setup ho aggiunto un evento AjaxEvent ed ho messo all’interno un DB Read con le seguenti impostazioni:
Action label: loadPrezzo
Enabled: Yes
Table name: aaa_corsa
Multi read: Yes
Enable model id: Yes
Model Id: CorsaFiltered
Conditions: <?php return array('idCorsa' => (int)$_GET['corsa']); ?>
Ho inserito poi un Custom code nell’ on found del Db Read con Action Label prezzo e questo content:
<?php
foreach($form->data["CorsaFiltered"] as $user){
if ($form->data["persone"] == "auto") {
echo ("<div class='prezzo'>");
echo ("Prezzo: " );
echo ("<>");
echo ("<div class='euro'>". $user['Prezzo']. "<>");
} else {
echo ("<div class='prezzo'>");
echo ("Prezzo: " );
echo ("<>");
echo ("<div class='euro'>". $user['PrezzoVan']. "<>");
}
}
?>
-
Non hai detto tutto, ma mi sembra di capire che hai due campi corsa e persone in funzione dei quali ottieni il prezzo (corsa per numero persone ?) che metti in un container div.
corsa e persone sono campi dropdown ? corsa seleziona il prezzo e persone il numero persone ?
comunque sia il container div non va bene devi usare un campo testo a cui assegni il valore con l'ajax event
-
Il campo corsa è un campo dropdown ed il campo persone un radio box. La radio box è formata solo da 2 variabili: auto (che sarebbe da 1 a 3 persone) e van (che sarebbe da 4 a 8 persone).
Nella tabella ho i campi idCorsa, nomeCorsa, Prezzo e PrezzoVan.
In base alla scelta del dropdown, se nella radio viene selezionato auto viene estrapolato il valore presente nel campo Prezzo della tabella, se nella radio viene selezionato van viene estrapolato il valore presente nel campo PrezzoVan della tabella.
-
Grazie Vales,
sono riuscito ad assegnare il valore al campo testo con l'ajax event.
Grazie mille per l'aiuto e la pazienza.
-
Mi ero dimenticato,
ora che il valore è assegnato al campo testo, per renderlo non modificabile dal form, nel settaggio del campo di testo Extra params del campo metti readonly=readonly per renderlo visibile ma non modificabile.
Poi metti risolto nel titolo del primo post. ;D