Joomla.it Forum
Componenti per Joomla! => Gestione Form => : daduzzo 18 Mar 2010, 17:29:23
-
Mi spiego
ho creato con il componente Sobi alcuni annunci, con Chronoforms un modulo x candidarsi a questi annunci.
quello che vorrei fare è che quando un utente si candida ad uno di questi annunci di Sobi, automaticamente venga riportato il titolo dell'annuncio in un campo/form di Chronoforms. Questo per evitare che l'utente digiti il titolo dell'annuncio(che sicuramente avrà dimenticato)
è possibile?
se si qualche indicazione..
thanks
-
ci sono quasi
ho provato a risolvere così:
in sobi nel dettaglio offerta ho inserito un link che punta al form di chronoforms in questa maniera:
<?php
echo "<a href=\"http://localhost:8888/index.php?option=com_chronocontact&Itemid=70?titolo=$mySobi->title\">Invia CV[/url]";
?>
poi nel form code di chronoforms cerco di richiamare la variabile con il metodo get:
<?
//Recupero il valore della variabile titolo"
$titolo = $_GET['titolo'];
echo "Hai scelto" . $titolo;
?>
nonostante la variabile sia presente sulla barra deggli indirizzi:
http://localhost:8888/index.php?option=com_chronocontact&Itemid=70?titolo=Programmatore%20cobol%20e%20css%20e%20php
non viene visualizzata nel form.
dove sbaglio?
-
Credo che al posto dell'ultimo ? prima di titolo dovresti mettere &
-
sei un grande
-
sei un grande
Il tuo codice funziona ma quando il cliente invia il form, chi lo riceve non vede a quale scheda di sobi2 fa riferimento.........sai come risolvere questo problema?
-
devi creare un campo hidden all'interno del tuo form, questo campo non è visibile all'utente ma serve per il lato amministrativo..
copia e incolla questo codice nel tuo form code:
<input value="<?php echo "$titolo";?>" id="hidden_22" name="hidden_titolo" type="hidden" />
cambiando naturalmente hidden_22 e hidden_titolo con quello che metterai.
poi nella tua email template puoi richiamare la variabile in questo modo:
{hidden_titolo}
ciao
-
devi creare un campo hidden all'interno del tuo form, questo campo non è visibile all'utente ma serve per il lato amministrativo..
copia e incolla questo codice nel tuo form code:
<input value="<?php echo "$titolo";?>" id="hidden_22" name="hidden_titolo" type="hidden" />
cambiando naturalmente hidden_22 e hidden_titolo con quello che metterai.
poi nella tua email template puoi richiamare la variabile in questo modo:
{hidden_titolo}
ciao
Grazie mille, funziona tutto.
Ora avrei un altro problema legato all'utilizzo di sobi con chronoforms.
Io utilizzo sobi con l'inserimento delle schede da parte dei clienti con una loro email. Ora vorrei che quando si invia il form dei contatti questo venga inviato all'autore della scheda. Quindi il campo email sarà un campo variabile.......che deve andar a leggere nel database di sobi.
Quale codice php dovrei inserire nel form per ottenere questo campo?
-
mi è difficile capire come è strutturato il tuo annuncio, dovresti linkarmi un esempio della tua scheda di sobi.
comunque io ho risolto l'invio alla email specifica in questo modo:
nel template vista dettagliata di sobi questo è il mio link diretto a chronoform
<a href="http://www.tuosito.it/link_chronoform.html?&titolo=<?php echo $mySobi->title; ?>&mail2=<?php echo $fieldsObjects['field_email']->data; ?>">contatta l'inserzionista[/url]
come vedi oltre al titolo della scheda di sobi mi porto con lo stesso metodo la mail di riferimento, quindi stessa procedura, poi nel form code di chronoform inserisco sopra questo codice php:
<?php $mail2 = $_GET['mail2'];?>, sempre qui creo il famoso campo hidden: <input value="<?php echo "$mail2";?>" id="hidden_21" name="hidden_mail" type="hidden" />.
ultimo step nel setup email nel campo dynamic to(deve essere dinamico) gli ficco la mia variabile, in questo caso hidden_mail.
-
non riesco a linkarti il link completo comunque aggiungi al tuo link la variabile della mail
-
grazie mille,
ora sono al lavoro, questa sera provo e ti faccio sapere se funziona tutto. Non so come ringraziarti......
-
io ho provato ad inserire il codice che mi hai indicato ma essendo io un neofita in php ho sicuramente sbagliato qualcosa. Praticamente non riesco a visualizzare il dettaglio delle schede di sobi dovuto dall'errato inserimento del codice da parte mia.
Mi potreste cortesemente indicarmi l'errore ?
il codice che ho inserito nel template in dettaglio di sobi è :
<?php
echo "<a href=\"http://www.xxxxxxxxxxxxx/PROVA/index.php?option=com_chronocontact&chronoformname=due&titolo=$mySobi->title/;
&mail2=<?php echo $fieldsObjects['field_email']->data;?>">contatta l'inserzionista;?>
-
Il tag a non ha il tag di chiusura.
Ci sono due aperture di php nidificate.
Non vedo la chiusura della stringa dell' href.
-
Il tag a non ha il tag di chiusura.
Ci sono due aperture di php nidificate.
Non vedo la chiusura della stringa dell' href.
Quindi come dovrei modificare la stringa?
da neofita di php non sono così scaltro da capire i termini tecnici....
Mi scuso per la mia ignoranza di programmazione in php
-
Non conosco sobi quindi non so cosa vuoi scrivere. Ma vedo quegli errori di sintassi.
Se posti la riga html che vuoi scrivere con echo forse posso aiutarti.
-
Non conosco sobi quindi non so cosa vuoi scrivere. Ma vedo quegli errori di sintassi.
Se posti la riga html che vuoi scrivere con echo forse posso aiutarti.
Se sei così gentile di correggermi gli errori di sintassi che sai riconoscere nella mia stringa........ti sarei molto grato.
Praticamente devo mettere un link che mi porti ad un form dove il campo "titolo" ed il campo "email" di sobi appaiono nel form
-
allora
devi inserire questo codice
<a href="http://www.tuosito.it/linkchronoform.html?&titolo=<?php echo $mySobi->title; ?>&mail2=<?php echo $fieldsObjects['field_email']->data; ?>">testolink</a>
-
allora
devi inserire questo codice
<a href="http://www.tuosito.it/linkchronoform.html?&titolo=<?php echo $mySobi->title; ?>&mail2=<?php echo $fieldsObjects['field_email']->data; ?>">testolink</a>
Ciao
funziona tutto. Grazie soprattutto a Daduzzo e a Vales per gli aiuti che mi hanno dato.
-
Ciao a Tutti,
volevo chiedere un aiuto per uscirne vivo da questa faccenda.
Ho letto e riletto + volte questo topic ma, essendo completamente a digiuno di php, ho un bel po’ di confusione in testa.
premetto che
1. Scheda Sobi2 - campo email (field_email) personale di ogni singolo inserzionista
2. Titolo identificativo e personale della scheda ($mySobi->title)
3. Form (chronoform) richiesta informazioni che deve necessariamente pervenire al titolare della scheda (field_email) e riportare nel testo del form il titolo della scheda ($mySobi->title)
Quello che mi occorre fare è:
-Dalla scheda di SOBI2 un link che mi porta al FORM chronoform.
-Devo portarmi a presso il titolo della scheda ($mySobi->title) per farla comparire sopra al FORM
-Il FORM deve essere inviato alla email inserzionista (field_email) e contenere all’interno il titolo della scheda
Nonostante è tutto scritto non riesco a far funzionare l’intero ambaradan!
C’è un’anima gentile che mi può spiegare in modo elementare (se possibile) come posso fare.
Grazie in anticipo chiunque volesse aiutarmi
T.
-
ci riprovo :-[,
questo è il codice che ho provato ad inserire
Funziona solamente la parte relativa al Titolo dell'inserzione (in pratica riesco a portarmi a presso il titolo fino al form), mentre la email non arriva a destinazione.
***
In SOBI2 (Template)
<a href=http://WWW:NOMESITO.IT/index.php?option=com_chronocontact&chronoformname=mod_richiesta_info?&titolo=<?php echo $mySobi->title; ?
>&mail2=<?php echo $fieldsObjects['field_email']->data; ?>>Contatta l'inserzionista</a>
dove
index.php?option=com_chronocontact&chronoformname=mod_richiesta_info
è il link al form di chronoform
$mySobi->title
è il titolo dell'inserzione
$fieldsObjects['field_email']
email del proprietario dell'inserzione
***
In Chronoform
nella parte superiore del form code, ho inserito il seguente codice:
<h5><span style="background-color:#ff0">
<?
//Recupero il valore della variabile titolo"
$titolo = $_GET['titolo'];
echo "Hai scelto l'inserzione " . $titolo;
$data = $_GET['field_email'];
?>
</span></h5>
nella parte sottostante invece:
<input value="<?php echo "$titolo";?>" id="hidden_22" name="hidden_titolo" type="hidden" />
<input value="<?php echo "$mail2";?>" id="hidden_21" name="hidden_mail" type="hidden" />
***
nell'email template di chronoform, ho inserito
{hidden_titolo}
per mostrare al destinatario dell'email il nome dell'inserzione,
mentre nel campo "dynamic to" in "Setup email" ho inserito
hidden_mail
letteralmente così, senza parentesi{}
****
dove sbaglio?
grazie 1k
T.
-
La procedura sembra corretta.
Attiva il debug del form per controllare i valori dei campi durante l'invio.
-
Ciao Vales e grazie per l'aiuto...
ho attivato il debug, cosa devo cercare esattamente?
-
rieccomi,
il codice del debug è il seguente
1.Form passed first SPAM check OK
2.Form passed the submissions limit (if enabled) OK
3.Form passed the Image verification (if enabled) OK
4.Form passed the server side validation (if enabled) OK
5.$_POST Array: Array ( [nome] => TITOLO_INSERZIONE [email] => MIAEMAIL.EMAIL.IT [telefono] => 654621 [data_evento] => 14/07/2010 [provincia_evento] => Chieti (Abruzzo) [messaggio] => rtreteter [check0] => Array ( [0] => Si, autorizzo al trattamento dei dati personali. ) [button_10] => Invia la richiesta [hidden_titolo] => TITOLO_INSERZIONE [hidden_mail] => [4ffb13a41f2109d8995fb08897485c45] => 1 [1cf1] => c9e832faf8c77747d64ff3efc6ee416f [chronoformname] => mod_richiesta_info )
6.$_FILES Array: Array ( )
7.Form passed the plugins step (if enabled) OK
8.Debug End
-
mi sorge un dubbio...
non è che non inserisco correttamente il valore {hidden_mail}?
nel senso... lo devo mettere in chiaro nel text box in setup email?
tnks!
-
Il debug dice che la variabile hidden_titolo è passato regolarmente.
hidden_email invece ha un valore crittografato non capisco il motivo. Quello deve essere in chiaro.
-
domanda: è necessario che la email compaia in "chiaro" sulla scheda inserzione di sobi2?
-
Su sobi non posso dirti nulla, ma chronoform vuole obbligatoriamente un campo email in chiaro altrimenti non può funzionare l'invio dell'email.
-
ho provato ad includere il campo email nel body della scheda... ma nonostante tutto il valore email è sempre criptato
sinceramente ora non so proprio che altro fare :-\
pensavo di sottoporre la cosa al forum della sigsiu, ma forse il problema riguarda chronoform... boh
-
Mi sembra di aver notato delle incongruenze nel codice che avevi mostrato sopra.
<h5><span style="background-color:#ff0">
<?
//Recupero il valore della variabile titolo"
$titolo = $_GET['titolo'];
echo "Hai scelto l'inserzione " . $titolo;
$data = $_GET['field_email'];
?>
</span></h5>
In base al link che hai definito :
<a href=http://WWW:NOMESITO.IT/index.php?option=com_chronocontact&chronoformname=mod_richiesta_info?&titolo=<?php echo $mySobi->title; ?
>&mail2=<?php echo $fieldsObjects['field_email']->data; ?>>Contatta l'inserzionista</a>
da inserire nel campo nascosto
<input value="<?php echo "$mail2";?>" id="hidden_21" name="hidden_mail" type="hidden" />
la mail dovresti recuperarla così:
<h5><span style="background-color:#ff0">
<?
//Recupero il valore della variabile titolo"
$titolo = $_GET['titolo'];
echo "Hai scelto l'inserzione " . $titolo;
$mail2 = $_GET['mail2'];
?>
</span></h5>
-
eccomi,
in effetti cosi la email la vedo (ho inserto un echo per monitorare l'inf)
echo ", Hai prelevato la email " . $mail2;
e mi compare in cima al form.... :P
ed è cambiato anche il debug, ora si vede la email presente che è stata inserita nella scheda field_email
1.Form passed first SPAM check OK
2.Form passed the submissions limit (if enabled) OK
3.Form passed the Image verification (if enabled) OK
4.Form passed the server side validation (if enabled) OK
5.$_POST Array: Array ( [nome] => 23423 [email] => ddd@ttt.it [telefono] => 345435 [data_evento] => 14/07/2010 [provincia_evento] => Bologna (Emilia-Romagna) [messaggio] => 345354 [check0] => Array ( [0] => Si, autorizzo al trattamento dei dati personali. ) [button_10] => Invia la richiesta [hidden_titolo] => Nome Inserzionista [hidden_mail] => info@miodominio.it [cfb97e143bb22b2c61a30bade48571e4] => 1 [1cf1] => 8289ea9e599e2ae4b89342bccd5aeb93 [chronoformname] => mod_richiesta_info )
6.$_FILES Array: Array ( )
7.Form passed the plugins step (if enabled) OK
8.Debug End
ma la email continua a non arrivarmi :(
Q: forse sbaglio ad inserire il riferimento hidden_email? ....
quando creai il form (per mezzo del wizard), inserii il campo dynamic to selezionando "temporaneamente" un campo email presente nel form (anche perchè se così non avessi fatto il wizard mi avrebbe costretto a ricaricarlo.
una volta salvato il form, sono entrato in edit (setup email) ed ho inserito nel campo Dynamic to semplicemente il campo nascosto hidden_email (cosi come scritto, senza {})
mi confermi che la procedura è corretta?
Grazie Vales!
-
Forse ora c'è un problema nella configuarazione dell'email.
In form manager nella colonna emails corrispondente alla riga del tuo form ci sono due parametri Enabled e Disabled quale valore hanno?
-
compare così
Enabled:0
Disabled:1
-
Email the results ? è impostato su YES
Nel campo email properties ho impostato su yes sia il dynamic to sia la email di chi compila il form..
il risultato è:
JOOMLA!
Devi fornire almeno un indirizzo e-mail del ricevente.
al seguito appare un modello del template email con i campi compilati del form
.. nessuna email viene spedita
-
Non è stata completata la configurazione dell'email. Segui le istruzioni indicate nel seguente post
http://forum.joomla.it/index.php/topic,105284.msg468661.html#msg468661
-
Non è stata completata la configurazione dell'email. Segui le istruzioni indicate nel seguente post
http://forum.joomla.it/index.php/topic,105284.msg468661.html#msg468661
il link non porta a nessun post....
-
pardon... problemi di cache!
ora vedo e ti aggiorno.
tnks
-
eccomi..
la procedura è la stessa che feci per creare il form all'inizio... l'unico dubbio è riguardo il campo dynamic to.
infatti quando crei la form, ed inserisci il campo dynamic to, lui si aspetta che venga attribuito un campo email... ma nel form, di fatto, non ho nessun campo email to!... solamente from....
non avrebbe senso che il visitatore inserisse a mano l'indirizzo dell'inserzionista.
cmq, onde evitare di non trovarmi il campo dynamic to, l'ho creato e "temporaneamete" ho assegnato il valore email del visitatore (naturalmente la stessa cosa è stata fatta per il campo from dynamic email... successivamente in edit ho modificato ed inserito al posto della variabile "email" del visitatore di chronoform, quella hidden_email
mi confermi che è corretta la procedura.
per il resto il form:
- mi appare con la cornice verde,
- Email the results ? è settato su yes
- joomla! - Funzione di php mail
- colonna Emails Enabled 1 - Disabled 0
- Yes la voce Enabled su tutti i campi
joomla!form restituisce sempre lo stesso messaggio
"Devi fornire almeno un indirizzo e-mail del ricevente"
-
Mi sono un po' perso.
Nel setup dell'email devono esserci.
1) Un indirizzo di destinazione dell'email, nel tuo caso Dynamic To in cui inserisci hidden_21
2) Un indirizzo email Fromemail che può essere fisso e dove puoi mettere l'email del sito.
3) Il campo Subject l'oggetto dell'email che è costante o dinamico.
4) Il campo Fromname che descrive da dove arriva l'email (dal sito pincopallino)
Non vedo problemi con i dati che hai disponibili a popolare questi campi in modo adeguato
-
Mi sono un po' perso.
Nel setup dell'email devono esserci.
1) Un indirizzo di destinazione dell'email, nel tuo caso Dynamic To in cui inserisci hidden_21
2) Un indirizzo email Fromemail che può essere fisso e dove puoi mettere l'email del sito.
3) Il campo Subject l'oggetto dell'email che è costante o dinamico.
4) Il campo Fromname che descrive da dove arriva l'email (dal sito pincopallino)
Non vedo problemi con i dati che hai disponibili a popolare questi campi in modo adeguato
1) Ok, ho inserito hidden_21 (pensavo dovessi inserire hidden_email... )
2) indirizzo fromemail... in realtà ho un dynamic fromemail (in pratica è la email che inserisce il visitatore che compila il form... è qui l'errore??
3) subject che è fisso
4) il campo Fromname che è dynamic fromname in quanto è il nome che inserisce il visitatore (nome di battesimo)..
con questi parametri, il form non parte e mi restituisce questo:
Devi fornire almeno un indirizzo e-mail del ricevente.
From: rrr [mailvisitatore@suodominio.it]
To:
CC:
BCC:
Subject: Modulo richiesta informazioni
presumo sia il caso che costruisca da capo il form ...
-
La procedura sembra corretta.
Attiva il debug del form per controllare i valori dei campi durante l'invio.
questo è il responso
Form passed first SPAM check OK
Form passed the submissions limit (if enabled) OK
Form passed the Image verification (if enabled) OK
Form passed the server side validation (if enabled) OK
$_POST Array: Array ( [nome] => nomevisitatore [email] => emailvisitatore@suodominio.it [telefono] => 45656565656 [data_evento] => 01/07/2010 [provincia_evento] => Catania (Sicilia) [messaggio] => rtret [check0] => Array ( [0] => Si, autorizzo al trattamento dei dati personali. ) [button_10] => Invia la richiesta [hidden_titolo] => TitoloInserzione [hidden_mail] => emaildinamicacorrettainserzionista@dominio.it [ff93320d1699f98005a1476de10e5a1c] => 1 [1cf1] => ab6a62433240a0813e36a13fbd9773db [chronoformname] => mod_richiesta_info )
$_FILES Array: Array ( )
Form passed the plugins step (if enabled) OK
An email has been SENT successfully from (nomevisitatore)emailvisitatore@suodominio.it to
Debug End
ora la email si vede il problema è che php mail di joomla! non la invia
-
ora vedo hidden_email, ma se cambi i nomi dei campi non c'intendiamo più.
Ma quanti campi hati attivato nel setup emails ?
Dal debug sembra che l'email sia partita. Ma sei in locale o in remoto. In locale non invia email.
-
in effetti compare hidden_email ma nel campo ho inserito hidden_21 come mi avevi suggerito ???
nel setup email ho 1 email soltanto con 4 campi:
Dynamic To hidden_21 (email properties)= HTML:Y:Y:Y:Y
Subject Modulo richiesta informazioni (email properties)= HTML:Y:Y:Y:Y
Dynamic Fromname nome (email properties)= HTML:Y:Y:Y:Y
Dynamic FromEmail email (email properties)= HTML:Y:Y:Y:Y
sto lavorando in un dominio di terzo livello (fuori) provider joomlahost.
ho provato ad utilizzare l'engine di joomla x quanto riguarda l'invio delle email (PM dal backend) e le email le invia senza alcun problema.
-
Ho sbagliato io a citare hidden_21 che è un id e non un nome di campo.
Il concetto è usare nei campi dynamic il nome del campo corrispondente del form.
-
Ho sbagliato io a citare hidden_21 che è un id e non un nome di campo.
quindi è corretto inserire il valore che mi avevi indicato all'inizio, hidden_email?
Il concetto è usare nei campi dynamic il nome del campo corrispondente del form.
non ti seguo..
-
Mi spiego meglio.
in Dynamic to va hidden_mail che proviene da sobi2
in Dynamic fromname va nome che è un campo nel form (il nome id chi compila il form ?)
in Dynamic frommail va il campo email che viene riempito nel form (così credo di aver capito)
-
FUNZIONA!!!!!!! (pardon il maiuscolo.... ;D)
prima, utilizzando safari come browser, mi ha restituito un errore strano... quindi ho pensato bene di eliminare tutti i form di prova e ripartire con e informazioni raccolte grazie ai tuoi suggerimenti!
vales... non so come ringraziarti! Se passi per roma come minimo "du spaghi e vino a fiumi garantiti"!!!! 8)
un saluto... alla prossima
ciao
Tod
-
CIao,
desideravo chiedere se è possibile raggiungere lo stesso scopo, prelevare il title ed il field_mail di sobi2, utilizzando il metodo POST (per non far comparire in chiaro la email nell'uri)...
Grazie 1k
ciao
-
Quando crei il form puoi decidere se farlo lavorare con GET o POST quindi facendo quella scelta su post dovresti risolvere.
Spero di aver capito il problema.
O forse da ambiente sobi vuoi passare dei dati al form ? In questo caso credo che tu debba fare un invio dei dati da un form di sobi a quello di chronoform usando il metodo post.
Non conosco sobi e quindi non posso scendere in particolari.
-
Buongiorno Vales,
in effetti è la seconda ipotesi. Dopo aver risolto grazie alle tue indicazioni (prelevare le info da sobi2 e trasferirle a chrono) ho valutato di riuscire a "nascondere" il valore email dalla uri... motivi legati alla privacy e soprattutto allo spam
grazie lo stesso, provo un'altra strada ... se riesco nell'intento magari la posto nel topic!
ciao!
-
Ciao a tutti. Scusate se con ritardo riprendo questo post ma non capisco dove vada il codice che Tedomundo inserisce.
In Chronoformnella parte superiore del form code, ho inserito il seguente codice:
Codice: <h5><span style="background-color:#ff0">
<?
//Recupero il valore della variabile titolo"
$titolo = $_GET['titolo'];
echo "Hai scelto l'inserzione " . $titolo;
$data = $_GET['field_email'];
?>
</span></h5>
nella parte sottostante invece:
Codice: [/size]<input value="<?php echo "$titolo";?>" id="hidden_22" name="hidden_titolo" type="hidden" />
<input value="<?php echo "$mail2";?>" id="hidden_21" name="hidden_mail" type="hidden" />[/size][/size]Grazie