dev.

Web Development Topics

ทำไมธีมดรูปัลไม่โดน!

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

ธีมที่แจกจ่ายกันใน drupal.org นั้น ส่วนใหญ่เจ๋งมากๆ พูดจริงๆนะไม่ได้ประชด เพราะถ้าดูที่เนื้อในของธีม เราจะเห็นเจตนาดีของผู้แจกจ่าย ที่พยายามลดขั้นตอนในการทำธีมของเราให้ได้มากที่สุดแล้ว (แต่เผอิญดันลืมลดขั้นตอนการดีไซน์ไปซะนี่) ยกตัวอย่าง ธีมตั้งต้นยอดนิยม (starter themes) เช่น Zen, Genesis, Blueprint, Tendu, Basic และอื่นๆ ธีมเหล่านี้เหมือนคฤหาสน์ที่มีรากฐานมั่นคง แต่เราต้องซื้อเฟอร์นิเจอร์และทาสีให้มันเอง (ดู ตารางเปรียบเทียบ Drupal6.x Starter Themes)

สำหรับ Drupal Core สิ่งที่กำลังปรับปรุงแน่ๆ คือ ทำให้มันใช้งานง่ายขึ้น และทำให้ผู้ใช้ไม่รู้สึกกลัวหน้าตาขึงขังเกินเหตุของมัน ได้ข่าวว่า พี่มาร์คแอนด์เดอะแก๊งค์ที่ก่อนหน้านี้รับหน้าที่รื้อดีไซน์ของ drupal.org ไปแล้วนั้น กำลังจะเข้ามาปรับปรุงเรื่อง Usability และ User experience สำหรับอินเตอร์เฟสของ Drupal 7 อีกหน (ลองอ่านดูในบล็อกของ Dries : Mark Boulton to help with Drupal 7) แต่สำหรับคนที่อยากได้ธีมดรูปัลหน้าตาเจ็บจี๊ดได้ใจ แบบดาวน์โหลดปุ๊บใช้ได้ปั๊บเลยนั้น ดรูปัลคือถิ่นทุรกันดารสำหรับคุณแน่นอน Confirm!

Code is Discipline

หลังจากหมกมุ่นและงุ่นง่านอยู่กับ Drupal CVS เกือบทั้งอาทิตย์ ทำให้ผมรู้ว่า "สไตล์ลูกทุ่ง" ที่ติดตัวมาแต่กำเนิดนั้น ไม่เหมาะกับงานพัฒนาซอฟต์แวร์เป็นอย่างยิ่ง!

เรื่องนี้เป็นการวิพากษ์วิจารณ์ตัวเองนะครับ ไม่ได้พาดพิงถึงคนอื่น เพราะอยากจะโน้ตไว้ซะหน่อยว่า ตัวเองควรปรับปรุงอะไรบ้าง เพื่อจัดการชีวิตและโค้ดให้เป็นระเบียบและมีหลักการมากขึ้น จะได้ไม่ต้องหัวหมุนตลอดปีตลอดชาติ ก่อนที่จะ สมัคร CVS account ของ drupal.org ผมก็ใช้เวลาอยู่หลายวัน เพื่อศึกษา การเขียนโค้ดให้ได้มาตรฐานของ Drupal ถ้า สำหรับ WordPress "โค้ดเป็นดั่งบทกวี" (Code is Poetry) สำหรับ Drupal "โค้ดคือระเบียบวินัย!" (Code is Discipline) เลยทีเดียวครับ (แม้แต่สไตล์การคอมเมนต์ในซอร์สโค้ด ยังต้องมีรูปแบบที่แน่นอน)

พอสมัคร CVS account รอบสองผ่าน ผมก็ใช้เวลาอีกหลายวัน กว่าจะเข้าใจว่ามันทำอะไรได้บ้าง แต่ก็เป็นธรรมดาของมนุษย์ลูกทุ่งอย่างผมที่มีความอดทนไม่มากนัก และไม่เคยคิดว่าตัวเองจะเกิดมาเพื่อพัฒนาซอฟต์แวร์ (หรืออะไรคล้ายๆแบบนั้น) ผมจึงอ่านเอกสารเกี่ยวกับการใช้งานแค่คร่าวๆ ที่เหลือก็มั่วเอา! ตอนแรกเห็นคำสั่ง command line สำหรับ CVS แล้วหนาว เลยหาโปรแกรมพวก GUI มาใช้แทน (CVL) แล้วส่ง Colourise Theme เวอร์ชั่นแรก เข้าโปรเจ็คจนได้

in Love with Drupal

ส่วนหนึ่งที่ผมชอบมากๆ ไม่ว่าจะเป็น drupal เวอร์ชั่นไหน คือ มันมาพร้อมกับ core ขนาดเบาๆ แต่ทำงานรวดเร็วและไว้ใจได้ ไม่ข่มเหงจิตใจคนทำเว็บ ส่วนใครอยากได้อะไรเพิ่ม ก็ไปหามาใส่ได้เรื่อยๆ (modules) โดยไม่ต้องไปฮ้งไปแฮกอะไรใน core

อีกส่วนนึงคือ ระบบ override ที่แบ่งเป็นเลเยอร์ชัดเจน ส่วนมากผมปรับแต่ง drupal แค่ในระดับ presentation layer (themes) แต่เพิ่งรู้ว่า เราสามารถกำหนดตัวแปรหรือฟังชั่นใหม่แทนอันเดิม ในเลเยอร์ระดับนี้ได้ด้วย wow! เพิ่งรู้จริงๆนะเนี่ย เคยสังเกตเห็นใน ไฟล์ template.php กับ settings.php ของบางธีม แต่ไม่เคยเอะใจ จนลองเล่นโมดูลใหม่ของ drupal6 ตัวนี้ : devel ถึงได้รู้ว่า มันทำอะไรได้เยอะกว่าที่เราคิด และก็เช่นเดิม โดยไม่ต้องไปแตะ core

Theme

Twitter Update

Restless Engine

Powered by Drupal, an open source content management system

Back to content. RSS