Questo sito web utilizza i cookie

Utilizziamo i cookie per personalizzare la tua esperienza utente e per studiare come viene utilizzato il nostro sito web.
Acconsenti ai nostri cookie se continui ad utilizzare questo sito web, se vuoi saperne di più clicca su più informazioni

Guide e tutorial pratici per joomla e le sue estensioni
Guide e tutorial pratici per joomla e le sue estensioni

Un Form di contatto realizzato con Fabrik con alcune importanti caratteristiche

In questa guida vedremo come realizzare un form di contatto con Fabrik. Una delle configurazioni più richieste è quella di poter cliccare su "reply" o "rispondi" dopo aver ricevuto una email dal form nel nostro sito, questa funzione però andrà furbamente integrata, in quanto di fatto è il sito che ti ha scritto (pure se il form l'ha compilato l'utente), e cliccando su rispondi nella casella a ci sarà l'indirizzo del tuo sito. In questo form vedremo come poter utilizzare alcune informazioni in maniera dinamica.

Iniziamo con il costruire il nostro form inserendo i campi:

  • nome
  • cognome
  • email
  • oggetto
  • messaggio
fabrik realizzare form contatto 01

Non starò a descrivervi passo passo la creazione di questi campi in quanto potrete procedere avendo letto le precedenti guide su Fabrik, ma se darete il nome "cccontatto" alla vostra tabella sarà più facile per voi seguira la guida. le mail verranno memorizzate nella tabella, quindi creando la lista ricordatevi di fare in modo che non sia possibile visualizzarla impostando i permessi su Super Users per evitare visulizzazioni indesiderate, oppure impostate su Form "Registra su database" NO.

Validiamo il campo email in quanto vogliamo che si inserisca una email nel formato Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo., quindi dentro l'elemento email e in validazioni inseriamo un plug in per la validazione ISEMAIL. All'nterno di questo plug-in inseriamo un messaggio di errore, ad esempio "Spiacento il tuo indirizzo non ha un formato valido".

fabrik realizzare form contatto 02

Adesso portiamoci nella zona Forms e clicchiamo sul form appena realizzato che ho chiamato "contatti". nella tabs plug-in inserite il plug-in "email", e qui fate un pò di attenzione, andremo a configurarlo in maniera che premendo reply quando riceveremo la mail inviata dal sito/form, il campo del destinatario sarà quello dell'indirizzo di chi ci ha scritto.

fabrik realizzare form contatto 03

Nel plug-in email troveremo 3 tabs in basso a sinistra: To, Opzioni, Allegati.

  • Nella tabs To, nel campo "email a" inseriamo l'indirizzo email dell'amministratore,
  • Nella Tabs Opzioni nel campo "Da" inseriamo l'indirizzo email abbinato al nostro sito,
  • Nel campo "Reply To" inseriamo fra le parentesi graffe la stringa {cccontatti___email}, questa stringa la potrete copiare in "elementi" nella colonna "Nome completo dell'elemento",
  • Infine nel campo "oggetto" inseriremo fra le parentesi quadre la stringa {cccontatti___oggetto} anche questa stringa la potrete copiare in "elementi" nella colonna "Nome completo dell'elemento". Con quest'ultima opzione faremo in maniera che l'oggetto inserito dall'utente, sia l'oggetto della mail che riceveremo.
 fabrik realizzare form contatto

Aggiungo anche che i campi "Reply to" e "Oggetto" sono in grado di autocompletarsi con i nomi completi dei campi, quindi iniziando ad inserire la prima parentesi graffa, il campo inizierà a proporvi le stringhe usabili.

Adesso andiamo a validare il campo oggetto per evitare invii con il campo vuoto.

Portatevi in gestione elementi dentro il campo oggetto e nella sezione validazioni premete aggiungi ed inserite "notempty", mentre nel campo errore inserite "inserisci un oggetto valido".

fabrik realizzare form contatto

Questa Guida sulla realizzazione di un form di contatto con Fabrik termina qui, se avete dubbi postate sui commenti. Se volete potete offrirmi un caffè cliccando nel pulsante sottostante, oppure cliccate su uno dei banner pubblicitari.

offrimi un caffè

Commenti   

0 # antonio 2016-11-10 15:47
ho provato seguendo la guida, sembra funzionare ed ho sperimentato anche la funzione noempty.

Però non riesco a capire come inviare il form di contatto in quanto salva solo il record all'interno della tabella
http://www.codicec.altervista.org/index.php/studente
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-10 16:57
ti manca la configurazione per inviare la mail:

http://www.icagenda.it/realizzare-form-di-contatto-con-fabrik.html
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-10 17:21
ho revisionato attentamente ma resta sempre uguale, al posto del pulsante salva dovrebbe uscire invia?
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-10 18:29
quello che c'è scritto nel tasto è indifferente, mentre fai attenzione alla configurazione email di joomla, se questa non funziona a dovere fabrik non invierà niente. Ti consiglio una configurazione smtp per joomla.
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-11 10:46
con la funzione php mail invia alla mail campo To e Da ma non al campo ccc___mail

con i parametri smtp esce l'errore Nota

SMTP Error: Could not authenticate.
×
Errore

Non è stato possibile inviare l'email.

ho visto in questa guida ma ancora riesco a risolvere https://productforums.google.com/forum/#!topic/apps-it/VnxYeU-G7Tc

forse è un problema di altervista sul numero della porta
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-11 11:25
usa una configurazione smtp con un account google, non dovresti avere problemi.
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-11 12:56
niente ho provato ma propio non va http://www.codicec.altervista.org/index.php/errori
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-11 13:38
Citazione antonio:
niente ho provato ma propio non va http://www.codicec.altervista.org/index.php/errori


la mail di prova la invia?
questa la configurazione corretta
www.cloudaccess.net/images/30smtpemail/smtp3.png
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-11 14:14
send mail Auth SMTP deve stare su SI o NO? comunque in entrambi i casi non va. provo a cambiare mail
la mail di prova la invia solo se impostato su php mail ma come gia detto sopra non invia a ccc___mail
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-11 14:19
con altervista c'è qualcosa da impostare nel pannello di controllo, ma non ricordo..., però hanno delle guide fatte bene su come usare il protocollo smtp, prova a darci un occhiata
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-11 14:23
infatti si a questo punto penso sia proprio questo il problema
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-11 14:35
bene giuse penso di aver risolto inserendo nel campo tu l'indirizzo dell'amministratore e poi { ccc___mail} ora funziona

qualche moderatore di alterervista dice: Devi usare uno strumento che utilizzi la funzione mail di PHP. Gli script PHP su AlterVista non possono effettuare connessioni verso server SMTP.
probabilmente non consente il to replay
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-13 08:30
ciao giuse
sembra funzionare :-)
alla fine dell'invio è possibile far uscire un messaggio personalizzato, indirizzando l'utente ad una pagina specifica?
infine essendo collegato il form alla lista
come poter dare la possibilità al singolo utente registrato di poter modificare in futuro i dati inviati?
se rendo la lista modificabile agli utenti registrati chiunque può modificare e non va bene.
soluzione al termine dell'invio del form far uscire un messaggio, o nella mail di rinvio facendo presente che in caso di modifica si prega di inviare la richiesta all'amministratore?
Grazie ancora
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-13 10:55
Dentro liste>>access puoi impostare i permessi.

per far si che gli utenti possono modificare i propri dati basta dare "oppure usa il campo id"
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-13 11:28
il form di contatto non agisce come form di registrazione utente. cioè dovrebbe essere collegato l'id utente con id presente nella lista?
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-15 17:19
ciao giuse
ho provato in tutti i modi ma non va. le impostazioni sono corrette?
Grazie
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-15 17:32
ma io credo che manchi il campo user_id che in questa guida non serve!

Devi aggiungerlo usando poi il plug internalid
http://www.icagenda.it/fabrik-creare-una-lista-di-dati-ed-un-form-per-inserirli.html

Se vuoi implementare la funzione affichè ognuno veda, modifichi o cancelli i propri record, è assolutamente fondamentale che il quel form ci sia un posto dove ci vada a finere l'id dell'utente che lo compila, altrimenti il sistema non lo sa e gli unici che potranno editare il record saranno quegli utenti che hanno dei privilegi maggiori.

il campo non deve essere compilabile da utente e volendo anche invisibile se non serve sapere chi ha creato il record.

Una rapida occhiata in phpmyadmin ti darà una visione esatta dei nomi delle tabelle e dei suoi campi
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-15 21:46
grazie giuse,
il campo id plugin internalid è presente nel form. (autoincrement)
"è assolutamente fondamentale che il quel form ci sia un posto dove ci vada a finere l'id dell'utente che lo compila"
id dell'utente presente in gestione utenti?
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-16 00:00
Citazione antonio:
grazie giuse,
il campo id plugin internalid è presente nel form.


ha diverse funzioni, ne serve uno collegato a user_id della tabella user di joomla
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-16 07:56
ho trovato questa guida http://fabrikar.com/forums/index.php?attachments/creare-un-elenco-pdf.9383/

quindi nel form oltre al campo id creato automaticamente, non visibile nel form, bisogna creare un nuovo campo user_id (che tipo- field?) dove automaticamente verrà inserito l'id dell'utente prelevato dalla tabella user di joomla???
Grazie ancora giuse
Rispondi | Rispondi con citazione | Citazione
0 # giusebos 2016-11-16 10:26
l'id che viene creato in automatico serve solo per numerare i record, per dare un numero idetificativo unico e progressivo al record.
ogni rcord di qualsiasi tipo ne ha uno e naturalmente il record numero uno (id) del form che serve per inserire delle ricette di dolci non è lo stesso del record (id) degli utenti di joomla.

così se ho un elenco di ricette che scirvono gli utenti e volessi che ognuna di queste fosse modificabile solo ai legittimi autori, dovrò avere nel record delle ricette un campo dove ci va a finire l'id dell'utente che scrive.

Sarebbe opportuno che seguissi un corso di database anche basico, fabrik è alla portata di tutti, ma se non si hanno le basi minime e come voler imparare a prendere le misure di una stanza se non si anno nozioni di geometria e matematica di base.
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-16 10:49
concordo pienamente giuse,
ho fatto un corso base di php mysql, molto duro ovviamente...
il problema mio è come "far andare a finire l'id dell'utente che scrive" all'interno del form dove è presente il nuovo campo user_id totalmente differente dall'id dei records
grazie ancora
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-16 13:06
ho inserito nella form un nuovo campo user_id del tipo user e viene mostrato come Combo con tutti gli utenti registrati... invece dovrebbe figurare solo l'utente connesso...
Rispondi | Rispondi con citazione | Citazione
0 # antonio 2016-11-16 14:44
alla fine sono riuscito a risolvere grazie a questa guida http://fabrikar.com/forums/index.php?threads/prepopulate-field-with-current-user-id.43720/ spero possa essere utile anche per altri
grazie ancora Giuse
Rispondi | Rispondi con citazione | Citazione

Aggiungi commento

Attenzione, per risposte ai commenti non cliccare su reply nella email che riceverete perchè nessuno la leggerà. per continuare a commentare usate solo il form sottostante.


Codice di sicurezza
Aggiorna