การเพิ่มเขตข้อมูลพิเศษลงในแบบฟอร์มการติดต่อเว็บไซต์


18

นี่เป็นเรื่องยากสำหรับฉัน สิ่งที่ฉันคิดว่าเป็นเพียงการเพิ่มเขตข้อมูลเล็กน้อยเช่นการเพิ่มเขตข้อมูลลงในประเภทเนื้อหา แต่ไม่มี. ฉันไม่สามารถค้นหาสถานที่ใด ๆ เพื่อเพิ่มพูดหมายเลขโทรศัพท์ลงในแบบฟอร์มการติดต่อได้หรือไม่ มีใครรู้บ้างไหม?

คำตอบ:


20

การคาดหวังว่าฟิลด์ของฟอร์มจะถูกกำหนดค่าเช่นประเภทเนื้อหานั้นเป็นลักษณะทั่วไปมากเกินไป ประเภทเนื้อหาใช้สำหรับเนื้อหา (ข้อความรูปภาพ ฯลฯ ) ของเว็บไซต์และโดยเฉพาะอย่างยิ่งใน Drupal สำหรับโหนด (ชิ้นส่วนหลักของเนื้อหาใน Drupal) เมื่อใช้โมดูล Field และ Field UI เราสามารถเพิ่มฟิลด์ให้กับประเภทเนื้อหาได้อย่างง่ายดายโดยใช้ Web UI ยกเว้นบางกรณีแบบฟอร์มไม่ได้เป็นส่วนหนึ่งของเนื้อหาของเว็บไซต์ แต่เป็นวิธีที่ผู้ใช้สามารถเพิ่มและแก้ไขข้อมูลบางครั้งเนื้อหาและบางครั้งไม่ได้

ในการปรับแต่ง (เช่นแก้ไข) รูปแบบใน Drupal เป็นทางปกติคือการสร้างโมดูลที่กำหนดเองที่ใช้เบ็ด ด้วยวิธีนี้คุณสามารถเพิ่มองค์ประกอบแบบฟอร์มไปยังแบบฟอร์มที่มีอยู่ให้โดยโมดูลอื่น ๆ เมื่อต้องการใช้ข้อมูลสำหรับสาขาเพิ่มเข้าไปในรายชื่อผู้ติดต่อในรูปแบบวิธีนี้คุณยังจะต้องมีการปรับเปลี่ยนอีเมลที่ส่งโดยใช้การดำเนินการของhook_mail_alter () คำแนะนำต่อไปนี้จะนำคุณสู่ขั้นตอนทั้งสองใน Drupal 7 (โปรดสังเกตความคิดเห็นนี้ด้วย )hook_form_FORM_ID_alter

โซลูชันที่ไม่ใช้โค้ดคือการใช้โมดูลWebformที่ให้ประเภทเนื้อหาของฟอร์มและให้คุณเพิ่มฟอร์มเป็นเนื้อหาในเว็บไซต์ของคุณ แบบฟอร์มเหล่านี้สามารถกำหนดค่าได้ผ่าน Web UI ขั้นตอนการประมวลผลที่หลากหลายสามารถกำหนดค่าสำหรับข้อมูลที่ส่งผ่านแบบฟอร์มเหล่านี้ หนึ่งในนั้นคือการส่งอีเมล การใช้รูปแบบการติดต่อที่กำหนดเองเป็นกรณีการใช้งานทั่วไป เว็บฟอร์มมาพร้อมกับแนวคิดและจุดส่วนขยายของตนเอง แม้ว่ามันอาจจะพิสูจน์ได้ว่าเป็นวิธีที่ง่ายและรวดเร็วยิ่งขึ้นสำหรับรูปแบบที่เรียบง่ายเพียงครั้งเดียว แต่ก็อาจเปิดเผยว่ามีขนาดใหญ่และซับซ้อนเพื่อกำหนดเองเมื่อถึงขีด จำกัด คุณลักษณะบางอย่างแล้ว ค่าใช้จ่ายในการเพิ่มคุณสมบัติพิเศษให้กับเว็บฟอร์มนั้นสามารถทำได้ดีกว่าการหลีกเลี่ยงการเขียนโมดูลที่กำหนดเองในตอนแรก


1

ขึ้นอยู่กับโมดูลที่คุณใช้สำหรับแบบฟอร์มการติดต่อของคุณ บางโมดูลจะมีส่วนต่อประสานแบ็กเอนด์ที่ไม่จำเป็นต้องเขียนโปรแกรมเพื่อเพิ่มฟิลด์เพิ่มเติม โมดูลที่ได้รับความนิยมอย่างมากในฟังก์ชั่นนี้คือ Webform

นอกจากนั้นรูปแบบใน Drupal สามารถเปลี่ยนแปลงได้โดยการเขียนโมดูลที่กำหนดเองโดยใช้ hook_form_alter hook มีบทเรียนมากมายเกี่ยวกับการพัฒนา mdoule และการใช้เบ็ดนี้โดยเฉพาะ


1

หากคุณกำลังใช้โมดูลผู้ติดต่อหลักหวังว่าโมดูลเขตข้อมูลฟอร์มติดต่ออาจเสร็จสิ้นเร็ว ๆ นี้สำหรับ Drupal 7

โมดูลนี้อนุญาตให้เพิ่มฟิลด์เพิ่มเติมลงในแบบฟอร์มการติดต่อทั่วทั้งไซต์เช่นอินเทอร์เฟซโมดูลโปรไฟล์ ผู้ดูแลระบบสามารถกำหนดเขตข้อมูลและจะมีอยู่ในแบบฟอร์มการติดต่อทั่วทั้งไซต์ โปรดทราบว่าฟิลด์เหล่านี้จะไม่สามารถใช้ได้กับแบบฟอร์มการติดต่อส่วนบุคคลในขณะนี้เนื่องจากฉันไม่เห็นความต้องการเฉพาะ

หากคุณต้องการอะไรตอนนี้: 4 ตัวเลือก:

  • ใช้ชนิดโหนดและแปลงเป็นรูปแบบการติดต่อ
  • ใช้เว็บฟอร์ม
  • สร้างโมดูลที่กำหนดเอง
  • หรือดียิ่งขึ้น: แยก / ช่วยโมดูล contact_field! หน้าโครงการเพิ่งได้รับการอัพเดตดังนั้นอย่างน้อยก็ย้ายอีกครั้งและทำเสร็จแล้วเสนอวิธีที่ดีมากในการเพิ่มเขตข้อมูลเช่นเดียวกับประเภทเนื้อหา

(เพิ่มสิ่งนี้สำหรับเวทีการค้นหาบอท;))


0

นี่คือโค้ดตัวอย่างที่แสดงให้เห็นถึงวิธีการเพิ่มเขตข้อมูลที่กำหนดเองในแบบฟอร์มการติดต่อทั่วทั้งไซต์ผ่านทางรูปแบบ API: รูปแบบใหม่ทุ่งตัวอย่างเช่น

สนุก!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.