24 January, 2014

โจทย์ : สร้างเงื่อนไขการ merge fileds ใน VIEWS

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

สิ่งที่เราต้องการทำคือ รวมฟิลด์ 2 ฟิลด์ไว้ด้วยกัน (A และ B) โดยฟิลด์ A มีค่าอยู่เสมอ (by default) และมีเงื่อนไขว่า หากฟิลด์ B เป็นค่าว่าง (Empty) ให้แสดงค่าจากฟิลด์ A แต่เมื่อใดที่ ฟิลด์ B ไม่เป็นค่าว่าง ให้แสดงค่าจากฟิลด์ B เท่านั้น ดูตัวอย่างจากภาพด้านล่างนะครับจะได้เข้าใจง่ายขึ้น



ภาพที่ 1
สถานการณ์จริงที่เกิดขึ้นกับโปรเจ็คของผม คือ เรามีตารางแสดงรายการหลักสูตรซึ่งใช้ Views Module เป็นตัวสร้าง (ผมจะเรียกว่า View A ซึ่งจะดึง Content ชนิดที่เป็น "หลักสูตร") โดยที่ในคอลัมน์ "รายชื่อ"  จะสร้างลิงค์ที่โยงไปหน้าแสดงรายชื่อผู้ลงทะเบียนของแต่ละหลักสูตรเอาซึ่งสอดคล้องกับ ID ของหลักสูตรนั้นๆโดยอัตโนมัติ (by default) นอกจากนี้ผมได้สร้างอีกฟิลด์ไว้สำหรับเก็บลิงค์ของ View เฉพาะหลักสูตร  "View Special" ซึ่งจะแสดงรูปแบบที่แตกต่างจาก View default

ลองคิดดูนะครับ แล้วไปดูเฉลยกันที่ เฉลย : สร้างเงื่อนไขการ merge fileds ใน VIEWS


No comments:

Post a Comment