Score:0

จำกัดวันที่ใช้ได้ในกรณีที่ผู้ใช้สามารถลงทะเบียนหลายคนในหลายวันในรูปแบบเดียว

ธง cn
Pin

บริบทของปัญหา

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

แต่ละสัปดาห์มี 20 ที่นั่ง และ 8 สัปดาห์ให้เลือก ดังนั้น ผู้ปกครองควรทราบว่าในแต่ละสัปดาห์มีที่นั่งว่างกี่ที่นั่งเพื่อจัดการให้บุตรหลานลงชื่อสมัครใช้ - เด็กขึ้นในสัปดาห์ที่แตกต่างกัน)

จนถึงตอนนี้แนวทางที่ดีที่สุดของฉันคือ:

  • แบบฟอร์มเดียวสำหรับการลงทะเบียนค่าย (เว็บฟอร์ม ช่างเป็นโมดูลที่ยอดเยี่ยม)
  • สัปดาห์เป็นตัวเลือกในองค์ประกอบ "ช่องทำเครื่องหมาย" ดังนั้นจึงสามารถเลือกสัปดาห์ได้หลายตัวเลือก
  • ทำซ้ำองค์ประกอบก่อนหน้าสำหรับเด็กแต่ละคน ฉันทำ 5 ครั้ง ดังนั้นผู้ปกครองสามารถลงทะเบียนเด็กได้สูงสุด 5 คนต่อการส่งหนึ่งครั้ง
  • จากนั้นฉันตั้งค่าตัวจัดการ "ขีดจำกัดตัวเลือก/ช่องทำเครื่องหมาย" เพื่อตั้งค่าเป็นขีดจำกัด 20 รายการในแต่ละสัปดาห์
  • ทำซ้ำตัวจัดการก่อนหน้าสำหรับแต่ละลูก (5 ครั้ง) และเชื่อมโยงกับองค์ประกอบ "ช่องทำเครื่องหมาย" ที่สอดคล้องกัน

ปัญหาของแนวทางนี้คือข้อจำกัดนั้นไม่ขึ้นต่อกันระหว่างองค์ประกอบ ดังนั้นในแบบฟอร์มเดียวกัน คุณสามารถลงทะเบียนเด็กห้าคนในสัปดาห์แรกและยังมีที่นั่งว่าง 19 ที่นั่งแทน 15 (20-5)

ความคิดเห็น:

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

ฉันจะทำสิ่งนี้กับเนื้อหาสองประเภท แทนที่จะเป็นเว็บฟอร์ม:

  1. วันที่สล็อตที่มีอยู่
  2. การลงทะเบียน

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

จากนั้น คุณสามารถติดตามว่าช่องวันที่ว่างใดได้รับการอ้างสิทธิ์โดยสร้างกฎที่เปลี่ยนฟิลด์ในเนื้อหาวันที่ช่องที่มีอยู่ซึ่งอ้างอิงโดยการสมัครใช้งานที่สร้างโดยผู้ปกครอง

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

Pin avatar
cn flag
Pin
สวัสดีเกรย์สัน วิธีการที่น่าสนใจมาก ขอรายละเอียดวิธีทำกฎนี้หน่อยได้ไหม โดยเฉพาะส่วน "เงื่อนไข" ฉันคิดว่ากฎ "เหตุการณ์" คือ "หลังจากบันทึกองค์ประกอบของการสมัครใช้งานประเภทเนื้อหา" และกฎ "การกระทำ" คือ "ตั้งค่าข้อมูล" ใน "วันที่ช่องที่ใช้ได้" เป็น "ไม่พร้อมใช้งาน"
Grayson Cooper avatar
in flag
แค่นั้นแหละ! สำหรับเงื่อนไข: 1) เอนทิตีมีฟิลด์: [node-created] | การอ้างอิงเอนทิตี 2) เอนทิตีมีฟิลด์: [node-created:entity-reference] | วันที่ใช้ได้จากนั้นใช้การดำเนินการเพื่อตั้งค่าของ [node-created:entity-reference:date-available]

โพสต์คำตอบ

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