Site İletişim Formuna fazladan alanlar ekleme


18

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ı?

Yanıtlar:


20

Form alanlarının içerik türleri gibi yapılandırılmasını beklemek aşırı genellemedir. İçerik türleri , web sitesinin içeriği (metin, resim vb.) Ve daha spesifik olarak Drupal'da, düğümler ( Drupal'daki ana içerik parçası) içindir. Alan ve Alan UI modülünü kullanarak, bir Web UI kullanarak içerik türüne kolayca alanlar eklenebilir . 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 genel yol, kancayı uygulayan özel bir modül oluşturmaktır . 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'deki her iki adımda da size yol gösterir. ( Bu yoruma da dikkat edin )hook_form_FORM_ID_alter

Kod olmayan bir çözüm, bir form içerik türü sağlayan Webform modülünü kullanmak ve formları web sitenize içerik olarak 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ıktan sonra ö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.


1

İ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'daki formlar hook_form_alter kancası kullanılarak özel bir modül yazılarak değiştirilebilir. Mdoule geliştirme ve bu özel kancayı kullanma konusunda çok sayıda öğretici var.


1

Çekirdek İletişim modülünü kullanıyorsanız, Drupal 7 için İletişim formu alanları modülünün yakında biteceğini 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 botu arenası için ekler;))


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.