Modules (ติดตัว)
เนื้อหาตรงนี้จะเกี่ยวกับความเข้าใจเกี่ยวกับ Modules และ module พื้นฐานที่มีมาให้ในตัว Drupal ครับ
Modules คือ?
หลักการของ module ทั่วไปคือจะเป็นคล้าย ๆ กับ plug in เพิ่มความสามารถอื่น ๆ ให้กับตัว drupal เอง โดยจะมี module ในหลายลักษณะเท่าที่ผมเคยเจอมามีประมาณนี้ครับ
- module ที่ทำหน้าที่อันใดอันนึงโดยเฉพาะ แบบอยู่ได้ด้วยตัวของตัวเอง ไม่พึ่งพา module อื่น
- module ลูกข่าย ที่จะทำงานได้ต้องมี module แม่
- module เสริม module อีกตัว จะเป็นพวกตัวเสริมให้ module หลักทำงานได้หลากหลายมากขึ้น อันนี้เห็นได้ชัดมากจำพวก CCK หรือว่า ImageCache
- module ที่ไม่ทำอะไรเอง แต่จะเตรียมข้อมูลเอาไว้สำหรับ module อื่น ๆ เพื่อให้มาดึงข้อมูลตรงนี้ไปใช้ต่อได้ เป็นจำพวก api ทั้งหลายครับ
การติดตั้ง module
โดยทั่วไป ให้เราติดตั้ง module ที่เราโหลดมาเอาไปไว้ใน sites/all/modules นะครับ ถ้ายังไม่มี folder ชื่อ modules อยู่ ให้เราสร้างใหม่ขึ้นมา
เหตุผลที่ต้องเอาไปติดตั้งแยกลงในนี้แทนที่จะเอาลง folder ชื่อ modules ที่มีมากับในตัว drupal เลยเป็นเพราะว่า
- ให้ง่ายต่อการดูแลครับ เพราะทุกครั้งมีมีการ update drupal ไปใช้เวอร์ชั่่นอื่น เรามักจะต้องลบไฟล์เก่าของ dupal ออกเกือบหมด (ยกเว้น sites) ดังนั้น ถ้าเราเอาไฟล์ module ไปใส่ไว้ในตัว drupal เองแล้วเราจะต้องทำการติดตั้งใหม่ทุกครั้งที่มีการ update drupal ครับ =)
- module บางตัวถูกกำหนดมาให้ทำงานได้จาก sites/all/modules เท่านั้น ถ้าเราเอาไปไว้ที่อื่น เขาจะไม่ทำงาน (อันนี้เจอมากับตัว ในกรณีเวปของน้องมิก ที่เอา avatar_block ไปไว้ใน modules ของ drupal เลย แทนที่จะเอาไปไว้ใน sites/all/modules ผลที่ได้คือ module ไม่ยอมทำงาน ไล่หากันอยู่ 2 วันครับ :P)
อ่านเพิ่มเติม การติดตั้ง theme/module บน drupal
การเปิดใช้งาน
ในหน้าเวปของเรา ไปที่หลังบ้าน admin/site building/modules แล้วเลือกเปิด (enable) ตัว module ที่เราต้องการจากนั้นคลิ๊ก save ครับ
การปรับ setting ของตัว module
ตัว module แต่ละอัน มีคุณสมบัติหรือว่าตัว setting ไม่เหมือนกัน
- ส่วนใหญ่แล้ว setting ของ module เสริมที่เราติดตั้งเข้าไป จะแสดงอยู่ภายใต้หัวข้อ admin/site configurations
- setting ของ module บางตัว จะไปแสดงในส่วนอื่น หรืออาจจะเป็น tab ย่อย ๆ ใน setting ของ module อีกตัวที่ทำงานเกี่ยวข้องกัน
- module บางตัวไม่มี setting
- module บางตัวส่วน setting จะไปแสดงอยู่ภายใต้ admin หัวข้ออื่น ๆ เช่น user setting, content types ... หรืออื่น ๆ
ธรรมชาติของ modules
ด้วย technology แบบ open sources ทำให้การพัฒนา module จากทาง developer ผู้พัฒนา module แต่ละตัวเป็นแบบตัวใครตัวมัน แต่ก็จะมีความพยายามทำให้ module หลาย ๆ ตัวสามารถใช้งานหรือว่าทำงานร่วมกันได้ แต่... มีโอกาสที่ module บางตัว จะไปทำให้ module อีกตัวนึงไม่ทำงาน หรือว่าตีกันครับ - -a
ตรงนี้เราต้องค่อย ๆ ไล่หาและดูจาก issues ที่มีคนแจ้งเอาไว้ในหน้า support ของแต่ละ module ครับ

Comments
Post new comment