Joomla.it Forum
Componenti per Joomla! => Gestione Form => : elblues 06 May 2011, 11:27:55
-
Buongiorno,
ho letto finora vari topics e l'utilissimo tutorial di Vales sul Plugin MultiPage di Chronoforms senza però riuscire a ottenere il risultato cercato.
Uso J! 1.5.14 e Chronoforms 3.1 RC5.5 e dovrei riuscire a: pubblicare 2 forms in pagine diverse; il primo funziona come "anteprima" del secondo, quello completo, cui l'utente dovrebbe giungere dopo aver compilato i 2 campi del primo form e dopo aver inviato, ritrovandosi nel secondo form con gli stessi campi già compilati con i dati inseriti nel primo. Es.: Pag. 1, form 1: Nome, email => Invio => Pag. 2, form 2: Nome, email (campi già compilati con i dati inseriti nel form 1), città, provincia, telefono etc. => Invio => Mail Admin e Utente.
Potrei farlo agendo sul codice dei form creati con CF e i suoi Plugin? Personalmente, non ho necessità di registrare dati in db.
Grazie a tutti per l'attenzione e l'aiuto...
-
Potrei farlo agendo sul codice dei form creati con CF e i suoi Plugin? Personalmente, non ho necessità di registrare dati in db.
Grazie a tutti per l'attenzione e l'aiuto...
Fai prima fartelo a mano con php o fartelo fare da qualcuno con minima esperienza in campo, che cercare plugin o altro. Sarebbe più il tempo di cercare i plugin che farlo a mano.
-
Grazie del consiglio...
Avresti qualche suggerimento, o magari addirittura qualche stringa di codice da segnalarmi ;D ?
Grazie ancora!
-
io per fare metodi di questo tipo in joomla utilizzo sourcerer. Che permette di implementare qualsiasi codice php all'interno degli articoli e quindi puoi creare un articolo e con php il form1, nel secondo form andrai a richiamare i dati inseriti nel primo con get o post, di ciò che si è messo, in modo che visualizzi il secondo form con i parametri già inseriti dove vuoi tu e poi fai un sendmail del secondo form con tutto ciò che hai fatto compilare.
Questo un metodo più facile, ma ci sono molti modi per farlo
-
Questo potrebbe essere molto interessante e utile; ma dato che anche CF risulta personalizzabile a livello di codice (anche php e java), mi sembrerebbe più economico agire su quanto ho già... Il mio problema è che mi manca proprio il codice per implementare la funzionalità di trasferimento dati da un form a un secondo situato in pagina diversa...
Grazie ancora
-
Questo potrebbe essere molto interessante e utile; ma dato che anche CF risulta personalizzabile a livello di codice (anche php e java), mi sembrerebbe più economico agire su quanto ho già... Il mio problema è che mi manca proprio il codice per implementare la funzionalità di trasferimento dati da un form a un secondo situato in pagina diversa...
Grazie ancora
appunto per questo ho consigliato di farlo a mano che personalizzare chronoform.
Tempo per fare il primo form manualmente:
5 minuti.
tempo del secondo form:
15 minuti.
Tempo di creare la pagina che va a elaborare i dati e invia l'email 30 minuti se fatto bene.
Chronoform:
primo form 2 minuti.
Secondo form: studiare come potere agire sul codice preimpostato del primo form per poi richiamarlo nel secondo form sempre preimpostato e quindi diventa più uno sbattimento.
In internet trovi molte guide su come creare un form, richiamare i dati con _get, inviarli ad un altro form e poi inviare il tutto con sendmail.
-
Io no posso che continuare a ringraziarti, ma il problema non è il metodo da adottare (ovvero il "come"), ovvero la scrittura totalmente manuale dei form piuttosto che l'utilizzo di CF, bensì il "cosa", la mancanza della conoscenza del codice da scrivere per ottenere il risultato desiderato. Credo che, conoscendolo, avrei già risolto, personalizzando i codici dei form di CF, che è molto duttile...
Grazie per la pazienza...!
-
Con Chronforms.
Nel primo form configuri il campo Submit Url nella tab General con l'Url del secondo form.
Nel secondo form recuperi i valori passati con questo codice da inserire all'inizio campo Form HTML
<?php
$campo1=Jrequest::getVar('campo1','','post');
// campo1 è il nome di un campo del primo form, uguale per gli altri campi, poi gli usi dove vuoi
-
Grazie infinite... era proprio quello che cercavo.
Perché però non trasferisce i dati? Ho impostato il Submit Url nel primo form e inserito
<?php
$Nome=Jrequest::getVar('Nome','','post');
?>
all'inizio del codice HTML del secondo form per richiamare il valore del campo "Nome" del primo form...
Tuttavia, il campo del secondo form si presenta vuoto...
Ti ringrazio!
-
Devi assegnare poi i valori recuperati ai campi del secondo form così
<input type="text" name="campo" value ="<?php echo=$campo1; ?>" />
o qualcosa di simile in funzione del tipo di campo.
I campi del secondo form gli puoi creare preventivamente con il wizard e poi personalizzarli come detto sopra
Mi dimenticavo di dirti che chronforms mette a disposizione anche la tecnica del multipage per passare dati da un form ad altri in sequenza, in modo semplice.
http://www.joomla.it/articoli-della-community/3836-from-multi-page-con-chronoforms-1.html
qui trovi altre guide
http://forum.joomla.it/index.php/topic,89142.0.html
-
Sei veramente gentilissimo, grazie ancora... Avevo già letto quelle guide, forse sovradimensionate per le mie esigenze, ma anche con questa stringa non succede nulla, anzi, mi restituisce erore e non mostra il 2° form...
Spero di poterci riprovare...
Intanto grazie molte!
-
Collaudato e funzionante.
Primo form nome form_1
inserire in Submit URL index.php?option=com_chronocontact&chronoformname=form_2 (http://valesweb.altervista.org/index.php?option=com_chronocontact&chronoformname=form_2)
codice in form HTML di form_1 ottenuto con wizard
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">campo 1</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="text_0" type="text" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_button">
<input value="Submit" name="button_1" type="submit" /><input type="reset" name="reset" value="Reset"/>
</div>
<div class="cfclear"> </div>
</div>
Secondo form nome form_2
codice in Form HTML di form_2 ottenuto con wizard e modificato
<?php
$text_1=Jrequest::getVar('text_0','','post');
?>
<div class="form_item">
<div class="form_element cf_textbox">
<label class="cf_label" style="width: 150px;">campo 2</label>
<input class="cf_inputbox" maxlength="150" size="30" title="" id="text_0" name="text_1" type="text" value="<?php echo $text_1; ?>"/>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_button">
<input value="Submit" name="button_1" type="submit" /><input type="reset" name="reset" value="Reset"/>
</div>
<div class="cfclear"> </div>
</div>
-
Non so davvero come ringraziarti: funziona!
Scusa il ritardo, sono stato via per qualche giorno...
Se posso approfittare un'ultima volta della tua gentilezza...: nel caso di un campo dropdown nel secondo form che recuperi il valore selezionato di un campo del primo form? E.g.:
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 137px;">Label</label>
<select class="cf_inputbox validate-selection" id="campo1" size="1" title="validation" name="campo1"/>
<option value="" selected="selected">Valore</option>
<option value="Valore1">Valore1</option>
<option value="Valore2">Valore2</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
posso usare la stessa stringa php del campo testo <?php echo $campo1; ?>
e in che punto?
Scusa l'insistenza, e grazie ancora...
-
Va usato così. In questo caso ho usato $text_1 come variabile di recupero del valore immesso nel primo form.
<div class="form_item">
<div class="form_element cf_dropdown">
<label class="cf_label" style="width: 137px;">Label</label>
<select class="cf_inputbox validate-selection" id="campo1" size="1" title="validation" name="campo1"/>
<option <?php if ($text_1=="Valore1") {echo 'selected="selected"';} ?> value="Valore1">Valore1</option>
<option <?php if ($text_1=="Valore2") {echo 'selected="selected"';} ?> value="Valore2">Valore2</option>
</select>
</div>
<div class="cfclear"> </div>
</div>
-
Mitico!
Grazie infinite: ora anche questo funziona, ma parzialmente, nel senso che il secondo form recupera sempre il primo valore option selezionato nel primo form, indipendentemente dalla selezione compiuta (se per esempio seleziono il secondo o terzo valore, il secondo form restituisce sempre il primo valore in alto). Ci vuole forse un else tra le option o qualche altra variabile?
Lo so... sono asfissiante... e ti ringrazio ancora di più...!
-
Nel codice che ho inserito al posto di $text_1 devi inserire la varibile che recupera il campo del primo form.
-
Sei stato prezioso, grazie infinite, davvero di tutto.
Ora va alla perfezione!
Un sentito ringraziamento, e buon lavoro...