web-gelistirme-sc.com

Site İletişim Formuna fazladan alanlar ekleme

Bu benim için garip bir şekilde zor görünüyor. Düşündüğüm şey, İçerik Türlerine alan eklemek gibi biraz fazladan alan eklemek olabilir. Ama hayır. İletişim formuna telefon numarası alanı eklemek için herhangi bir tesis bulamıyorum? Dışarıda bilen var mı?

17
Purplemonkey

Form alanlarının içerik türleri gibi yapılandırılmasını beklemek aşırı genellemedir. İçerik türleri web sitesinin içerik (metin, resim vb.) Ve daha özel olarak Drupal için düğümler (Drupal'daki ana içerik parçası). Alan ve Alan UI modülünü kullanarak, bir Web UI kullanarak içerik türüne kolayca fields ekleyebilir. Bazı özel durumlar dışında, bir form bir web sitesinin içeriğinin bir parçası değildir, bunun yerine kullanıcıların bilgi, bazen içerik, bazen de içerik eklemesi ve düzenlemesinin bir yoludur.

Drupal'da bir formu özelleştirmek (yani değiştirmek) için normal yol özel bir modül oluşturmak ve hook_form_FORM_ID_alterkanca . Bu şekilde, diğer modüller tarafından sağlanan mevcut formlara form öğeleri ekleyebilirsiniz. İletişim formuna eklenen alanlara ilişkin bilgileri bu şekilde kullanmak için, gönderilen postayı da hook_mail_alter () uygulamasını kullanarak değiştirmeniz gerekir. Aşağıdaki kılavuz Drupal 7. içindeki her iki adımda da yürür. (Ayrıca not bu yorum )

Kod olmayan bir çözüm, form içerik türü sağlayan Webform modülünü kullanmak ve web sitenize içerik olarak form eklemenize izin vermektir. Bu formlar bir Web kullanıcı arayüzü üzerinden yapılandırılabilir. Bu formlar aracılığıyla gönderilen bilgiler için çeşitli işleme adımları yapılandırılabilir. Bunlardan biri e-posta gönderme. Özel bir iletişim formu için kullanmak yaygın bir kullanım durumudur. Webform kendi konseptleri ve uzatma noktaları ile birlikte gelir. Bir kerelik basit formlar için daha kolay ve daha hızlı bir çözüm olduğunu kanıtlasa da, belirli bir özellik eşiğine ulaşıldığında özelleştirmek için aşırı büyük ve karmaşık olduğunu ortaya çıkarabilir. Bir web formuna ekstra özellikler ekleme maliyeti, ilk etapta özel bir modül yazmaktan kaçınmanın kazancından daha iyi olabilir.

20
Pierre Buyle

İletişim formunuz için hangi modülü kullandığınıza bağlıdır. Bazı modüller, ek alan eklemek için programlama gerektirmeyen bir arka uç arabirimi sağlar. Bu işlevselliğe sahip çok popüler bir modül Webform'dur.

Buna engel olmak gerekirse, Drupal içindeki formlar hook_form_alter kancasını kullanarak özel bir modül yazarak değiştirilebilir. Mdoule geliştirme ve bu kancayı kullanarak birçok öğretici var.

1
mesch

Çekirdek İletişim modülünü kullanıyorsanız, İletişim formu alanları modülünün Drupal 7) için yakında bitmesini umuyoruz.

Bu modül, profil modülü arayüzü gibi site genelindeki iletişim formuna ek alanlar eklenmesine izin verir. Yönetici alanları tanımlayabilir ve bunlar site genelindeki iletişim formunda bulunacaktır. Herhangi bir özel gereksinim görmediğim için bu alanların kişisel iletişim formunda kullanılamayacağını lütfen unutmayın.

Şimdi bir şey istiyorsanız: 4 seçenek:

  • Bir düğüm türü kullanın ve bunu bir iletişim formuna dönüştürün.
  • Bir web formu kullanın.
  • Özel bir modül oluşturun
  • Ya da daha iyisi: contact_field modülüne çatal/yardım! Proje sayfası yeni güncellendi, bu yüzden en azından tekrar hareket ediyor ve bitenler, içerik türlerinde olduğu gibi alan eklemenin çok güzel bir yolunu sunacaklardı.

(bunu arama bot arenası için ekleyerek;))

1
Robin

Burada, api: yeni form alanları örneği formları aracılığıyla site çapında iletişim formuna nasıl özel alan ekleneceğini gösteren bir örnek kod .

Zevk almak!

0
Druvision