Content Type ใน Drupal แปลกันตามตัวเลยก็คือประเภทของข้อมูล หรือ ชนิดข้อมูล ตัวอย่าง Content Type เช่น ข่าว บทความ ประกาศ รายละเอียดสินค้า ข้อมูลบุคคล คำสั่งซื้อ ข้อมูลหลักสูตร เป็นต้น ข้อมูลเหล่านี้ขึ้นอยู่กับเว็บไซต์หรือระบบที่เราพัฒนา

Drupal มีชนิดข้อมูล (content types) ที่เปิดใช้มาตั้งแต่ตอนติดตั้งเลยมี 2 ประเภท คือ Article, Basic Page นอกนั้นก็ต้องไปเลือกเปิดเพิ่มเติมได้เช่น Book Page, Forum Topic และ Poll เป็นต้น ในแต่ละชนิดข้อมูลจะมีฟิลด์แตกต่างกันไปตามแต่ประเภทการใช้งาน (อาจจะเหมือนกันก็ได้) ซึ่งเราสามารถเพิ่มเติมฟิลด์ได้อย่างอิสระครับ เช่น Article แรกเริ่มเดิมทีมีฟิลด์ title กับ body เท่านั้น เราสามารถเพิ่มฟิลด์อื่นลงไปได้ เช่น image, tag, file ... ยิ่งไปกว่านั้นเราสามารถใช้ฟิลด์ข้ามชนิดข้อมูลได้ในกรณีที่มีการใช้งานเหมือนกัน เช่น ฟิลด์ title เท่านั้นยังไม่พอ หากชนิดข้อมูลตั้งต้นที่มาพร้อมกับ core Drupal ยังไม่ตอบโจทย์การใช้งาน เราสามารถเพิ่ม content type ได้ ซึ่งถือเป็นจุดเด่นสุดๆที่ผมชื่นชอบของ Drupal

หน้าที่

ทำหน้าที่เก็บข้อมูล ซึ่งนำเข้าโดย user โดยมีรายละเอียดฟิลด์ตามที่ admin ได้ออกแบบไว้ ข้อมูลในส่วนนี้จะถูกเก็บในฐานข้อมูล และสามารถเชื่อมโยงข้อมูลระหว่างกันได้

ส่วนประกอบ

ในแต่ละ Content type มีส่วนประกอบสำคัญคือ Manage fields และ Manage display ส่วนใน Drupal 8 จะมี Manage form display เพิ่มมาด้วย หรืออีกนัยหนึ่ง Content type ใน Drupal ก็จะเหมือนกับ Custom field ของ CMS ในค่ายอื่นๆครับ

โดยที่

Manage field คือ การออกแบบโครงสร้างข้อมูล ประกอบไปด้วย field name และ field type หรือประเภทของฟิลด์เช่น text, option, image, list, reference, upload file etc.. เพื่อสร้างเป็นฟอร์มนำเข้าข้อมูล

Manage Display คือการกำหนดว่าฟิลด์แต่ละฟิลด์จะถูกแสดงบนหน้าเว็บอย่างไรเมื่อมีการเรียกใช้ข้อมูล

Manage Form Display (เฉพาะ Drupal 8) คือการกำหนดฟิลด์แต่ละฟิลด์จะถูกแสดงในขณะที่กรอกข้อมูล

เห็นมั้ยครับ Content Types ใน Drupal จึงเป็นสิ่งที่นักพัฒนาเว็บด้วย Drupal ต้องเข้าใจก่อนเป็นอันดับแรก แล้วเราก็จะสามารถต่อยอดในส่วนอื่นๆได้ต่อไป