การจัดการประเภทเนื้อหา (content types)

Primary tabs

      การจัดการประเภทเนื้อหาเป็นความสามารถที่มีเสน่ห์มากอย่างหนึ่งของ Drupal เนื่องจาก Drupal อนุญาตให้สามารถสร้างประเภทเนื้อหาได้ไม่จำกัด ตลอดจนเพิ่มความสามารถให้เนื้อหาแต่ละประเภทได้แตกต่างกันออกไป เพื่อการสร้างเนื้อหาในรูปแบบเฉพาะ (เพิ่ม field ต่างๆ เช่น ตัวอักษร, ไฟล์เอกสาร, ไฟล์ภาพ, ไฟล์วิดีโอ) ทั้งนี้หากสามารถจัดการประเภทเนื้อหาโดยใช้ field ได้แล้วก็สามารถนำไปประยุกต์ใช้กับ Module อื่นๆ ได้ เช่น webform, Profile (การสร้างฟอร์มสมัครสมาชิก)

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

     ผู้ที่เคยใช้ Drupal 6 มาจะคุ้นเคยกับการจัดการประเภทเนื้อหาโดยใช้ Module CCK อย่างไรก็ตาม Drupal 7 ได้รวม Module CCK ไว้ในแกนหลักของโปรแกรมเป็นที่เรียบร้อยแล้ว ฉะนั้นผู้ใช้ไม่จำเป็นต้องติดตั้งเพิ่มเติมแต่อย่างใด สามารถเข้าใช้งานได้ที่เมนู Structure > Content types ได้เลย ดังภาพ

     ในหน้า Content type เบื้องต้นโปรแกรมจะเตรียมประเภทเนื้อหาไว้ 2 ประเภทด้วยกัน คือ Article และ Basic page (อ่านหลักการของเนื้อหา 2 ประเภทนี้ที่นี่) เราจะเห็นประเภทของเนื้อหาได้ในหน้าการสร้างเนื้อหาที่ตรงกัน กล่าวคือ เมื่อสร้างประเภทเนื้อหามาหนึ่งชนิดก็จะมีรายการเนื้อหาในหน้าสร้างเนื้อหาเพิ่มขึ้นมาหนึ่งชนิดด้วยเสมอ เช่นเดียวกันเมื่อเราเปิดใช้ module ที่เป็นการสร้างประเภทเนื้อหาใหม่ เช่น Forum, Blog, Webform, Book ก็จะมีประเภทเนื้อหาของ modules นั้นเกิดขึ้นด้วยเสมอ อย่างไรก็ตามเราสามารถเข้าไปเพิ่มเติม แก้ไขประเภทเนื้อหาได้ทุกประเภท

การเพิ่มประเภทเนื้อหา

1. หน้า Content type จะประกอบด้วย 2 คอลัมน์ ด้วยกันคือ Name = ชื่อของประเภทเนื้อหาและรายละเอียด, Operations = การจัดการประเภทเนื้อหา และมีเมนู Add content type อยู่ด้านบนสุด ก่อนที่จะไปสู่การเพิ่มเติมแก้ไขประเภทเนื้อหา เพื่อความเข้าใจตั้งแต่ต้นแนะนำว่าให้สร้างประเภทเนื้อหาขึ้นมาใหม่สักประเภทหนึ่ง โดยไปที่เมนู Add content type ดังภาพ


2. ในหน้าสร้างประเภทเนื้อหาจะมีช่องให้กรอกชื่อ รายละเอียด ดังภาพ

ในช่องของชื่อประเภทเนื้อหาสามารถใส่ชื่อภาษาไทยได้ แต่แนะนำว่าให้ใส่ชื่อเป็นภาษาอังกฤษมากกว่า เพราะหากใส่ชื่อภาษาไทย ระบบจะให้กรอกชื่อที่เป็นภาษาอังกฤษสำหรับอ้างอิงในฐานข้อมูลอยู่ดี ส่วนในช่องรายละเอียดใส่ภาษาอะไรก็ได้ เพื่อให้เราเข้าใจว่าเนื้อหานี้สร้างขึ้นสำหรับเนื้อหาอะไร มีหลักเกณฑ์อย่างไร เป็นต้น

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

- Submission form settings Title คือ การกำหนดรูปแบบหน้าตาของเนื้อหา เช่น หัวเรื่องใช้ชื่อว่่าอะไร (Title field label (Title คือค่าเริ่มต้น)), ก่อนบันทึกเนื้อหาต้องแสดงตัวอย่างก่อนหรือไม่ (Preview before submitting (Disabled = ไม่ต้องแสดงตัวอย่าง, Optional = ให้เลือกได้ว่าจะแสดงตัวอย่างหรือไม่ก็ได้, Required = ต้องแสดงตัวอย่างก่อนเสมอ)),  คำแนะนำในการเขียนเนื้อหา (Explanation or submission guidelines) จะแสดงอยู่ด้านบนสุดในการสร้างเนื้อหาประเภทนั้นๆ

- Publishing options Published Promoted to Front page คือ การกำหนดการเผยแพร่เนื้อหา จะมีให้เลือก 4 รูปแบบด้วยกัน คือ  Published = การตีพิมพ์หรือเผยแพร่เนื้อหา, Promoted to front page = การการตีพิมพ์หรือเผยแพร่เนื้อหาในหน้าแรกของเว็บไซต์, Sticky at top of lists = การตีพิมพ์หรือเผยแพร่เนื้อหาและค้างไว้ด้านบนสุดของหน้าที่แสดง, Create new revision = การกำหนดให้สร้างรุ่นของเนื้อหา
ในส่วนนี้จะมีการกำหนดภาษาในการแสดงผล (Multilingual support) ด้วย (ในกรณีที่เป็นเว็บสองภาษา)

- Display settings Display author and date information คือ การกำหนดการแสดงผลข้อมูลผู้เขียนเนื้อหา หากไม่เลือกให้แสดงผลก็จะไม่มีข้อมูลผู้เขียนปรากฏในหน้าเนื้อหาที่เขียน

- Comment settings open, Threading, 50 comments per page คือ การกำหนดการแสดงความคิดเห็น เป็นการกำหนดให้เนื้อหาประเภทนี้อนุญาตให้แสดงความคิดเห็นได้หรือไม่ หากแสดงความคิดเห็นได้จะแสดงหัวเรื่องความคิดเห็นด้วยหรือไม่ จำนวนความคิดเห็นต่อหน้ากี่ความคิดเห็น  การแสดงความคิดเห็นตอบกลับ (reply) ให้แสดงในหน้าเดียวกันหรือไม่ และแสดงตัวอย่างก่อนบันทึกหรือไม่

- Menu settings คือ การกำหนดเมนูสำหรับเนื้อหา เป็นการกำหนดให้ประเภทเนื้อหานี้สามารถสร้างเมนูได้หรือไม่ และหากสร้างได้จะสร้างไว้ในเมนูกลุ่มใด (Main menu = เมนูหลักของ Theme, Management = เมนูในการบริหารจัดการเว็บไซต์ ผู้ดูระบบหรือสมาชิกที่ได้รับสิทธิ์เท่านั้นที่สามารถเข้าถึงเมนูนี้ได้, Navigation = เมนูนำทางผู้ใช้, User menu = เมนูผู้ใช้ จะปรากฏเมื่อผู้ใช้ล็อกอินเท่านั้น)

เมื่อกำหนดค่าต่างๆ เรียบร้อยแล้วให้กดปุ่ม Save content type

3. เมื่อกดปุ่ม Save content type ระบบก็จะนำคุณกลับไปสู่หน้ารายการ content types ก็จะเห็นว่ามีประเภทเนื้อหาที่ได้สร้างล่าสุดปรากฏอยู่ ดังภาพ

ในขณะนี้เราก็มีเนื้อหาใหม่ตามที่ต้องการแล้ว และ

ความจริงในขณะนี้เราสามารถสร้างเนื้อหาประเภทใหม่นี้ได้แล้ว (ลองดูในส่วนของการสร้างเนื้อหา (Add content)) แต่หากต้องการให้เนื้อหาประเภทนี้สามารถแนบไฟล์ภาพหรือเอกสารไปพร้อมกับการสร้างเนื้อหาได้ด้วย ลองดูในขั้นตอนที่ 4 ต่อไป

4. การสร้าง fields ในประเภทเนื้อหา เพื่อแนบไฟล์ภาพหรือเอกสาร เริ่มต้นให้มองหาเมนู manage fields ในคอลัมน์ Operations ด้านหลังของประเภทเนื้อหาที่ต้องการแนบไฟล์ ในกรณีนี้จะเพิ่ม fields ของเนื้อหาประเภท news ฉะนั้นต้องคลิกที่ manage fields ดังภาพ

5. หลังจากคลิกที่เมนู manage fields แล้วก็จะเข้าสู่หน้าของ Manage  fields ซึ่งจะเห็นตารางแสดง fields ที่มีอยู่ตั้งแต่เริ่มต้นของประเภทเนื้อหานั้นๆ ดังภาพ

- field เริ่มต้นของทุกเนื้อหาจะประกอบด้วย Title = หัวเรื่อง, Body = เนื้อความ

- คอลัมน์ทั้ง 5 ประกอบด้วย Label = ชื่อ field, Name =  ชื่อ field ในฐานข้อมูล, Field = ประเภท Field ในฐานข้อมูล, Widget = ประเภท Field, Operations  = การจัดการแก้ไข field

6. ในช่องของ add new field คือ การสร้าง field ใหม่ ฉะนั้น ให้ใส่ชื่อ field ที่ต้องการสร้าง ดังภาพ

ดังที่กล่าวมาข้างต้นว่าต้องการสร้าง field สำหรับแนบไฟล์เอกสาร ดังนั้น จึงให้ชื่อ field เป็น Document, doc, File, File ตามลำดับ จากนั้นกด Save

หมายเหตุ ประเภทของ field จะเห็นว่ามีหลายประเภทด้วยกัน ทั้งแบบเงื่อนไข (Boolean), ตัวเลข (Decimal, Integer), ไฟล์ (File), ภาพ (Image), รายการ (List), Text (ตัวอักษร) เป็นต้น ดังนั้น เราสามารถสร้าง field ได้หลากหลายประเภท ทั้งยังสามารถประยุกต์ใช้กับเนื้อหาหลากหลายรูปแบบที่มากกว่าการแนบไฟล์ไปกับเนื้อหา เช่น เนื้อหาประเภทวิดีโอ การสร้างแบบฟอร์มเนื้อหาที่ต้องการ การกำหนดช่องที่จำเป็นต้องกรอกในเนื้อหา เป็นต้น

7.หลังจากกดปุ่ม Save ระบบจะนำมาสู่หน้าการตั้งค่า Field (Field Settings) ดังภาพ

ในส่วนการตั้งค่า Field settings จะมีอยู่สองส่วนหลักๆ คือ การกำหนดให้ผู้สร้างเนื้อหาสามารถกำหนดให้แสดงหรือไม่แสดง field แต่ละ field ได้ (Enable Display field ) และการกำหนดให้แสดง field เป็นค่าเริ่มต้น (Files displayed by default) เมื่อตั้งค่าได้ตามที่ต้องการแล้วให้กดปุ่ม Save Field Settings

8. ระบบจะนำกลับมาสู่หน้า manage fields อีกครั้ง ให้กดที่เมนูแก้ไข (edit) field ที่สร้างขึ้นอีกครั้ง เนื่องจากมีรายละเอียดสำคัญที่ต้องกำหนดเพิ่มเติม เพื่อให้ field ที่สร้างขึ้นทำงานได้ตามที่ต้องการและมีประสิทธิภาพ ไปดูการกำหนดค่าเพิ่มเติมกันเลย ดังภาพ

จากภาพจะเป็นการตั้งค่า field ประเภท file field อย่างละเอียด กล่าวคือ

- Required field =  การกำหนดให้จำเป็นต้องกรอก field นี้เสมอ หากไม่กรอก field นี้จะไม่สามารถบันทึกการสร้างเนื้อหาได้

- Help text = ข้อความช่วยเหลือสำหรับการใช้งาน field นี้ จะปรากฏข้อความอยู่ด้านล่างของ field

- Allowed file extensions = นามสกุลไฟล์ที่อนุญาติให้อัพโหลด การใส่นามสกุลไฟล์ที่อนุญาตให้อัพโหลดได้ให้ใช้ comma คั่นระหว่างนามสกุลไฟล์

- File directory = ตำแหน่งที่เก็บไฟล์ในเครือแม่ข่าย (server) ค่าเริ่มต้นจะอยู่ที่ sites/default/files หากต้องการให้อยู่ในโฟลเดอร์ก็ใส่ชื่อโฟลเดอร์ที่ต้องการลงไป

- Maximum upload size = ขนาดไฟล์ที่อนุญาตให้อัพโหลดได้สูงสุดให้กรอกตัวเลขและตามด้วยหน่วยนับที่ต้องการเช่น 500 KB, 5 MB เป็นต้น

- Enable Description field = อนุญาตให้ใส่รายละเอียดของ field ได้ จะปรากฏให้ใส่รายละเอียดไฟล์เมื่ออัพโหลดไฟล์เสร็จเรียบร้อยแล้ว

ส่วนที่เหลือด้านล่างของหน้านี้จะเป็นส่วนเดียวกับที่ได้ตั้งค่าไปก่อนหน้านี้ (ขั้นตอนที่ 7) ฉะนั้นไม่ต้องสนใจก็ได้ ในทางกลับกันเราสามารถข้ามขั้นตอนที่ 7 แล้วมาทำในขั้นตอนที่ 8 เลยก็ได้เหมือนกัน

หมายเหตุ การตั้งค่า field ประเภทต่างๆ จะมีคุณลักษณะที่แตกต่างกันออกไป ตามลักษณะจำเพาะของ field นั้นๆ อย่างไรก็ตามก็ยังมีคุณลักษณะร่วมกันกับ file field เช่น image field จะมีส่วนที่เพิ่มขึ้นมาจาก file field คือ การกำหนดขนาดของภาพ และการแสดงผลของภาพ นอกจากนั้นก็เหมือนกัน ฉะนั้น ผู้ใช้สามารถใช้หลักการนี้ในการสร้าง field ประเภทอื่นๆ ประกอบกับการทำความเข้าใจ ศึกษาเพิ่มเติม และลองฝึกปฏิบัติจริง

9. ขั้นตอนที่ผ่านมาทั้งหมดจะเป็นการสร้าง field และกำหนดคุณลักษณะของ field แต่ในขั้นตอนนี้จะเป็นการจัดการแสดงผลของ field ในการสร้างเนื้อหา และการแสดงผลเมื่อตีพิมพ์หรือเผยแพร่เนื้อหา เช่น ตำแหน่งในการจัดวาง รูปแบบในการแสดงผล เราเรียกขั้นตอนนี้ว่า Manage Display โดยไปยังหน้า content types แล้วเลือก Manage Dispaly ดังภาพ

การไปยังหน้า Manage Dispaly ยังมีวิธีการหนึ่งซึ่งสะดวกและรวดเร็วกว่า คือ หากเราอยู่ในหน้า Manage Fields (ในขั้นตอนที่ 8) อยู่แล้ว สามารถคลิกที่แท็บ Manage Display ที่อยู่ด้านบนได้เลย ดังภาพ

ในหน้า Manage Display จะเห็นว่ามีตารางแสดง field ที่มีอยู่ทั้งหมดยกเว้น field หัวเรื่อง (title) ซึ่งบังคับว่าต้องแสดงไว้บนสุดอยู่แล้ว ในตารางจะประกอบด้วย 3 คอลัมน์ด้วยกันได้แก่

- Field = รายการ field ที่มีในเนื้อหาประเภทนี้ เราสามารถสลับการเรียงลำดับในการแสดงผลได้โดยใช้เมาส์คลิกลากที่เครื่องหมายบวกหน้ารายการ field เพื่อจัดเรียงลำดับใหม่ได้ตามที่ต้องการ

- Label = การกำหนดการแสดงชื่อของ field ในเนื้อหา มี 3 ลักษณะ ได้แก่ Above = แสดงชื่อของ field ไว้ด้านบน, Inline = แสดงชื่อของ field ไว้ในบรรทัดเดียวกัน (บาง Theme แสดงผลแบบนี้ไม่ได้), Hidden = ซ่อนชื่อของ field

- Format = การกำหนดรูปแบบการแสดงผล (field แต่ละประเภทจะมีรูปแบบให้เลือกแต่กต่างกันออกไป) ในกรณีของ file field จะมีให้เลือก 4 ลักษณะ ได้แก่ Generic file = แสดงชื่อของไฟล์และสามารถคลิกดาวน์โหลดได้, Table of files = แสดงไฟล์ในรูปแบบตารางและสามารถคลิกดาวน์โหลดได้, URL to file = แสดงที่อยู่ของไฟล์ (URL) เพื่อใช้ในการดาวน์โหลด, Hidden = ซ่อนไฟล์ (ผู้ใช้ไม่สามารถมองเห็นได้ มักใช้ในกรณีที่ต้องการกำหนดการแสดงผลจำเพาะใน Full content, Teaser ดูในขั้นตอนต่อไป)

เมื่อเลือกตำแหน่งการจัดวางและแสดงผลการแสดงผลได้เรียบร้อยแล้วให้กดปุ่ม Save เป็นอันเสร็จแรียบร้อย

อย่างไรก็ตาม หากเราต้องการให้ field นี้แสดงเฉพาะในส่วนของเนื้อหาฉบับเต็ม (Full content) หรือมีการแสดงผลที่แตกต่างกันในส่วนของเนื้อหาฉบับเต็ม (Full content) และเนื้อหาฉบับย่อ (Teaser) สามารถทำได้โดยคลิกที่ Custom display settings ดังภาพ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Custom display settings คือ การกำหนดลักษณะการแสดงผลเฉพาะของเนื้อหาแต่ละรูปแบบ เมื่อเราเลือกรูปแบบเนื้อหา (Full content, Teaser) ที่ต้องการกำหนดแล้วกดปุ่ม save ก็จะปรากฏเมนูสำหรับกำหนดลักษณะเนื้อหาที่เราต้องการอยู่ด้านบน (ลูกศรชี้) เมื่อเราคลิกเข้าไปก็จะมีหน้าตาเหมือนที่เราได้กำหนดผ่านมา ฉะนั้นของละไว้ในฐานที่เข้าใจก็แล้วกัน

10. มาถึงขั้นตอนสุดท้ายกันแล้ว เรามาดูผลจากการที่าเราได้สร้าง field กำหนดคุณลักษณะ และการแสดงผลเรียบร้อยแล้ว โดยไปที่เมนู Add content ก็จะปรากฏประเภทเนื้อหาที่เราสร้างขึ้น ดังภาพ

 

 

 

 

 

 

ให้เราลองคลิกสร้างเนื้อหาที่เราได้สร้างขึ้นมาใหม่ ในที่นี้คือ News

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

ทดลองสร้างและอัพโหลดเอกสาร

จะเห็นหน้าตาของเนื้อหาที่ได้ทดลองสร้างขึ้น และมีการแนบไฟล์ด้วย ทั้งนี้หากต้องการเปลี่ยนแปลงรูปแบบการแสดงผลของ field ก็สามารถแก้ไขได้จาก manage display หรือดูในขั้นตอนที่ 9 ก็ได้

 

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