Aggiunta di campi extra al modulo di contatto del sito


18

Questo mi sembra stranamente difficile. Quello che pensavo sarebbe solo un caso di aggiunta di campi extra, un po 'come l'aggiunta di campi ai tipi di contenuto. Ma no. Non riesco a individuare alcuna struttura da aggiungere, ad esempio un campo di numero di telefono nel modulo di contatto? Qualcuno là fuori lo sa?

Risposte:


20

Aspettarsi che i campi dei moduli vengano configurati come tipi di contenuto è una generalizzazione eccessiva. I tipi di contenuto sono per il contenuto (testo, immagine, ecc.) Del sito Web, e più specificamente, in Drupal, per i nodi (il contenuto principale in Drupal). Usando il modulo UI Field and Field, si possono facilmente aggiungere campi al tipo di contenuto usando una UI Web. Ad eccezione di alcuni casi specifici, un modulo non fa parte del contenuto di un sito Web ma piuttosto un modo per gli utenti di aggiungere e modificare informazioni, a volte contenuti e altre volte no.

Per personalizzare (cioè alterare) un modulo in Drupal, il solito modo è creare un modulo personalizzato che implementa il hook . In questo modo, è possibile aggiungere elementi del modulo ai moduli esistenti forniti da altri moduli. Per utilizzare le informazioni per i campi aggiunti al modulo di contatto in questo modo, sarà inoltre necessario modificare la posta inviata utilizzando un'implementazione di hook_mail_alter () . La seguente guida ti guida attraverso entrambi i passaggi in Drupal 7. (Nota anche questo commento )hook_form_FORM_ID_alter

Una soluzione non di codice consiste nell'utilizzare il modulo Webform che fornisce un tipo di contenuto del modulo e consente di aggiungere moduli come contenuto al sito Web. Questi moduli sono configurabili tramite un'interfaccia utente Web. Varie fasi di elaborazione possono essere configurate per le informazioni inviate tramite questi moduli. Uno di questi è l'invio di e-mail. Usarlo per un modulo di contatto personalizzato è un caso d'uso comune. Webform viene fornito con i propri concetti e punti di estensione. Sebbene possa rivelarsi una soluzione più semplice e veloce per una volta semplici moduli, può anche rivelarsi sovradimensionato e complesso da personalizzare una volta raggiunta una determinata soglia di funzionalità. Il costo per aggiungere funzionalità extra a un modulo web può quindi superare il vantaggio di evitare di scrivere un modulo personalizzato in primo luogo.


1

Dipende dal modulo che si sta utilizzando per il modulo di contatto. Alcuni moduli forniranno un'interfaccia back-end che non richiede programmazione per aggiungere campi aggiuntivi. Un modulo molto popolare con questa funzionalità è Webform.

A parte questo, i moduli in Drupal possono essere modificati scrivendo un modulo personalizzato usando l'hook hook_form_alter. Esistono molti tutorial sullo sviluppo di mdoule e sull'utilizzo di questo hook particolare.


1

Se stai usando il modulo Contact core, spera che il modulo Campi modulo Contact possa finire presto per Drupal 7.

Questo modulo consente di aggiungere campi aggiuntivi al modulo di contatto esteso del sito come l'interfaccia del modulo del profilo. L'amministratore può definire i campi e questi saranno disponibili sul modulo di contatto a livello di sito. Si prega di notare che questi campi non saranno disponibili per il modulo di contatto personale per ora poiché non vedo esigenze specifiche.

Se vuoi qualcosa adesso: 4 opzioni:

  • Utilizzare un tipo di nodo e trasformarlo in un modulo di contatto.
  • Usa un modulo web.
  • Crea un modulo personalizzato
  • O ancora meglio: fork / help il modulo contact_field! La pagina del progetto è stata appena aggiornata, quindi almeno si sposta di nuovo e, una volta terminata, offre un modo molto piacevole di aggiungere campi, proprio come sui tipi di contenuto.

(aggiungendo questo per l'arena del bot di ricerca;))


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.