จะเกิดอะไรขึ้นกับข้อมูล Webform เมื่อมีการลบส่วนประกอบ ฉันสามารถเปลี่ยนประเภทส่วนประกอบได้หรือไม่


9

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

หากฉันลบองค์ประกอบข้อความของฟิลด์ข้อความจะเกิดอะไรขึ้นกับข้อมูลทั้งหมด ฉันคิดว่ามันจะถูกลบ

มีวิธีใดบ้างที่จะเปลี่ยนประเภทขององค์ประกอบของฟอร์มในขณะที่ยังคงรักษาข้อมูลไว้?

อัปเดต: ฉันใช้ Drupal 7 และ Webform 3.19


คุณใช้โมดูล Webformสำหรับ Drupal 6 หรือ Drupal 7 หรือไม่?
Aiias

Drupal 7. ขอโทษด้วยที่ควรพูดถึง
Kevin Morse

ใน Drupal 7 มีที่สำหรับเปลี่ยนชื่อฟิลด์ในฐานข้อมูล แต่ฉันไม่แน่ใจว่าจะทำอย่างไร
AgA

คำตอบ:


3

เมื่อลบองค์ประกอบของเว็บฟอร์มแล้วข้อมูลที่ส่งไปสำหรับองค์ประกอบนั้นจะถูกลบ ข้อมูลสำหรับส่วนประกอบอื่น ๆ ของแบบฟอร์มจะถูกเก็บรักษาไว้ ฉันยืนยันสิ่งเหล่านี้ด้วยการสอบถามตาราง webform_submitted_data MySQL บน Webform 7.x-3.23

ตามที่ผู้ใช้ระบุ calebtr มีช่องทำเครื่องหมาย "ส่วนตัว" สำหรับแต่ละองค์ประกอบที่สามารถใช้เป็นคุณลักษณะลบ - แต่ - บันทึก - the - data ersatz ยกเว้นว่าผู้ใช้ที่ลงชื่อเข้าใช้ที่มีสิทธิ์ในการอ่านผลลัพธ์จะยังเห็นองค์ประกอบบน แบบฟอร์ม (ไม่เพียง แต่ในผลลัพธ์) เขตข้อมูลเหล่านี้อาจซ่อนอยู่โดยใช้สไตล์ชีทหรือเทมเพลตที่กำหนดเองซึ่งอาจเกิดขึ้นหลังจากทำการเชื่อมโยงกับชุดข้อมูลส่วนตัว

Webform UI ไม่อนุญาตให้เปลี่ยนประเภทองค์ประกอบ ฉันเห็นข้อมูลนี้เก็บไว้ใน webform_component.fieldset ดังนั้นคุณอาจแก้ไขได้ที่นั่น คุณต้องการอัปเดตการตั้งค่าองค์ประกอบในคอลัมน์ "พิเศษ"


2

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

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

ฟิลด์ส่วนตัวจะแสดงให้ผู้ใช้ที่สามารถเข้าถึงผลลัพธ์ดังนั้นอาจไม่เหมาะกับกรณีการใช้งานของคุณ

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


0

หากฟิลด์ที่คุณลบนั้นไม่ซ้ำกับประเภทเนื้อหาฟิลด์นั้นจะหายไปจากฐานข้อมูล (ซึ่งรวมถึงข้อมูลของมัน) หากคุณลบเขตข้อมูลที่ใช้ร่วมกันออกเขตข้อมูลนั้นจะถูกลบออกจากประเภทเนื้อหานั้นพร้อมกับข้อมูลที่ไม่ซ้ำกับประเภทเนื้อหา

หากคุณพบว่าคุณต้องการเก็บข้อมูลที่เกี่ยวข้องกับเขตข้อมูลไว้ แต่คุณต้องการเขตข้อมูลประเภทอื่นสำหรับข้อมูลคุณต้องวางแผนล่วงหน้า

  • สร้างเขตข้อมูลใหม่
  • กำหนดวิธีการโอนย้ายข้อมูลจากเขตข้อมูลเก่าไปยังเขตข้อมูลใหม่
  • ลบฟิลด์เก่า

ทางออกที่ดีอาจใช้โมดูลฟีด (เพื่อนำเข้าสู่ฟิลด์) และโมดูลการส่งออกข้อมูลการดู (เพื่อส่งออกฟิลด์ไปยังสเปรดชีต) ขั้นตอนจะเป็น:

ตั้งค่ามุมมองที่แสดงค่าฟิลด์ข้อความทั้งหมดและแสดงฟิลด์ทั้งหมดที่คุณต้องการโยกย้าย จากนั้นส่งออกข้อมูลและเลือกรูปแบบ CSV

ใช้ฟีดเพื่อนำเข้าข้อมูลไปยัง D7 เพียงแมปฟิลด์ที่เอ็กซ์ปอร์ตแต่ละฟิลด์ไปยังฟิลด์ที่คุณต้องการ

ในทางกลับกันคุณอาจต้องการอ่านบทช่วยสอนนี้ด้วย


ฟีดจะนำเข้าข้อมูลเว็บฟอร์มหรือไม่
mpdonadio

ติดตาม MPD ได้มากขึ้น: องค์ประกอบของ Webform ถือเป็นเขตข้อมูล Webform ไม่อนุญาตให้คุณกำหนดประเภทองค์ประกอบของคุณเองยกเว้นผ่านโมดูลที่กำหนดเองดังนั้นฉันจะถือว่าองค์ประกอบ Webform เป็นเขตข้อมูลที่ใช้ร่วมกันทั้งหมดหรือไม่
Kevin Morse

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