Menambahkan bidang tambahan ke Formulir Kontak Situs

18

Bagi saya ini anehnya terasa sulit. Apa yang saya pikir hanya kasus menambahkan sedikit bidang tambahan seperti menambahkan bidang ke Jenis Konten. Tapi tidak. Saya tidak dapat menemukan fasilitas apa pun untuk menambahkan bidang nomor telepon katakan ke formulir Kontak? Adakah yang tahu?

Purplemonkey
sumber

Jawaban:

20

Bidang formulir yang diharapkan dikonfigurasi seperti tipe konten adalah generalisasi berlebihan. Jenis konten adalah untuk konten (teks, gambar, dll.) Dari situs web, dan lebih khusus lagi, di Drupal, untuk node (bagian utama konten di Drupal). Menggunakan modul Field dan Field UI, orang dapat dengan mudah menambahkan bidang ke tipe konten menggunakan Web UI. Kecuali untuk beberapa kasus tertentu, formulir bukan bagian dari konten situs web melainkan cara bagi pengguna untuk menambah dan mengedit informasi, terkadang konten dan terkadang tidak.

Untuk menyesuaikan (mis. Mengubah) formulir di Drupal, cara yang biasa adalah membuat modul khusus yang mengimplementasikan hook . Dengan cara ini, Anda bisa menambahkan elemen formulir ke formulir yang ada yang disediakan oleh modul lain. Untuk menggunakan informasi untuk bidang yang ditambahkan ke formulir kontak dengan cara ini, Anda juga perlu mengubah email yang dikirim menggunakan implementasi hook_mail_alter () . Panduan berikut memandu Anda melalui kedua langkah di Drupal 7. (Perhatikan juga komentar ini )hook_form_FORM_ID_alter

Solusi non-kode adalah dengan menggunakan modul Webform yang menyediakan tipe konten formulir dan memungkinkan Anda menambahkan formulir sebagai konten ke situs web Anda. Formulir-formulir ini dapat dikonfigurasi melalui UI Web. Berbagai langkah pemrosesan dapat dikonfigurasi untuk informasi yang dikirimkan melalui formulir ini. Salah satunya adalah pengiriman email. Menggunakannya untuk formulir kontak khusus adalah kasus penggunaan umum. Webform hadir dengan konsep dan titik ekstensi sendiri. Sementara itu mungkin terbukti menjadi solusi yang lebih mudah dan lebih cepat untuk bentuk sederhana satu kali, itu juga dapat mengungkapkan menjadi terlalu besar dan kompleks untuk menyesuaikan setelah ambang batas fitur tertentu telah tercapai. Biaya untuk menambahkan fitur tambahan ke formulir web kemudian dapat mengungguli keuntungan dari menghindari penulisan modul khusus.

Pierre Buyle
sumber
1

Itu tergantung pada modul apa yang Anda gunakan untuk formulir kontak Anda. Beberapa modul akan menyediakan antarmuka backend yang tidak memerlukan pemrograman untuk menambahkan bidang tambahan. Modul yang sangat populer dengan fungsi ini adalah Webform.

Selain itu, formulir dalam Drupal dapat diubah dengan menulis modul khusus menggunakan hook_form_alter hook. Ada banyak tutorial di luar sana tentang pengembangan mdoule dan menggunakan pengait khusus ini.

mesch
sumber
1

Jika Anda menggunakan modul Kontak inti, harap modul Bidang formulir kontak dapat segera diselesaikan untuk Drupal 7.

Modul ini memungkinkan untuk menambahkan bidang tambahan ke formulir kontak di seluruh situs seperti antarmuka modul profil. Admin dapat menentukan bidang dan itu akan tersedia di formulir kontak di seluruh situs. Harap perhatikan bahwa bidang ini tidak akan tersedia untuk formulir kontak pribadi untuk saat ini karena saya tidak melihat kebutuhan khusus.

Jika Anda menginginkan sesuatu sekarang: 4 opsi:

  • Gunakan jenis simpul dan mengubahnya menjadi formulir kontak.
  • Gunakan formulir web.
  • Buat modul khusus
  • Atau bahkan lebih baik: fork / help module contact_field! Halaman proyek baru saja diperbarui, jadi setidaknya bergerak lagi dan akan, yang selesai, menawarkan cara yang sangat bagus untuk menambahkan bidang, seperti pada jenis konten.

(menambahkan ini untuk arena bot pencarian;))

Robin
sumber
0

Berikut adalah contoh kode yang menunjukkan cara menambahkan bidang khusus ke formulir kontak di seluruh dunia melalui formulir api: contoh formulir bidang baru .

Nikmati!

Druvision
sumber