โมดูลของ GCMS
หน้าเว็บในส่วนต่างๆของ GCMS ถูกออกแบบมาในลักษณะของโมดูลแยกจากกันโดยเด็ดขาด และไม่มีส่วนเกี่ยวข้องใดๆกับระบบหรือ Template หลัก คุณสามารถออกแบบ แก้ไข หรือเพิ่มเติมโมดูลต่างๆ ได้โดยอิสระ ไม่ขึ้นแก่กัน (นอกจากโมดูลตามมาตรฐาน ที่อาจมีส่วนเกี่ยวพันกับอื่นๆเช่น Widget)
ส่วนประกอบหลักๆของโมดูลมีอยู่ 3 ส่วนครับ แยกตามหน้าที่คือ
1.ตัว โมดูล จะเก็บอยู่ใน modules/modulename/ ส่วนนี้ทั่วๆไปจะเป็นโค้ด PHP ทั้งหมดที่เกี่ยวข้องกับโมดูล ไฟล์ในส่วนนี้จะมีอย่างน้อยที่สุด 2 ไฟล์คือ
1.1 index.php ไฟล์นี้จะเป็นไฟล์ระบบ และมีเหมือนๆกันทุกโมดูล โดยทั่วๆไป คุณไม่จำเป็นต้องแก้ไขไฟล์นี้
1.2 main.php ไฟล์นี้จะเป็นไฟล์หลักของโมดูล ซึ่งทำหน้าที่ทั้งหมดของโมดูล เราจะให้โมดูลนี้ทำอะไรได้ก็ให้เขียน PHP ที่ส่วนนี้ และที่สำคัญไฟล์นี้จะเป็น PHP เท่านั้น ห้ามเขียนในรูป HTML
สำหรับไฟล์ อื่นๆของโมดูลก็อาจจะเป็นไฟล์ทั่วๆที่จำเป็นต้องใช้ หรืออาจเป็นหน้าอื่นๆของโมดูลก็ได้ เช่น หน้า view.php ซึ่งอาจถูกเรียกใช้ได้โดยการเรียก index.php?module=modulename/view เป็นต้น
ไฟล์อื่นๆที่สำคัญและเป็นไฟล์ระบบสำหรับ(ซึ่งอาจมีหรือไม่ก็ได้)โมดูลได้แก่ config.php ซึ่งจะเป็นไฟล์สำหรับเก็บค่ากำหนดที่จำเป็นของโมดูล ถ้ามีอะไรที่ต้องกำหนด สามารถเขียนไว้ในนี้ได้
สำหรับข้อความบน title bar ของโมดูลหรือบนเมนูมีความสัมพันธ์กันตามที่กำหนดในไฟล์ config ดังนี้
[code=php]// ไตเติลของโมดูล
$config[blog][title] = $lng[LNG_BLOG_TITLE];
// คีย์เวิร์ดหน้า main ของโมดูลนี้
$config[blog][keyword] = $lng[LNG_BLOG_KEYWORD];
// รายการที่แสดงบนเมนู
$config[blog][menu] = $lng[LNG_BLOG_MENU];
$config[blog][tooltip] = $lng[LNG_BLOG_MENU_TOOLTIP];[/code]
จะเห็น ว่ามันถูกชี้ไปยังตัวแปรภาษาอีกที ดังนั้นการแก้ไขก็ให้ดูตัวแปรที่มันเชื่อมกันอยู่และแก้ไขให้ถูกต้องที่ไฟล์ ภาษา ซึ่งวิธีนี้มีข้อดีตรงที่ ถ้าเรากำหนดเว็บให้เป็นภาษาอื่น เราสามารถแก้ไขได้ที่ไฟล์ภาษาเพียงไฟล์เดียวเท่านั้นไม่ต้องมาแก้ไขที่ config
ไฟล์ inint.php เป็นไฟล์ที่จะถูกโหลดในครั้งแรกเพียงครั้งเดียว เราสามารถใช้ไฟล์นี้เพื่อทำการโหลด Javascipt หรือ โหลดไฟล์ หรือ จัดการเมนูเพิ่มเติมอื่นๆ ได้ที่ไฟล์นี้
feed.php และ sitemap.php เป็นไฟล์ RSS และ Sitemap ของโมดูลนั้นๆ
ใฟล์ใดๆ ที่ขึ้นต้นด้วย admin_ จะถูกใช้ในส่วนของ admin เท่านั้นและไฟล์นี้จะไม่มีการเรียกใช้ Template ใดๆเลย
ไฟล์ modulename.js เป็นไฟล์ Javascript หลักของโมดูลซึ่งจะถูกโหลดอัตโนมัติเมื่อทำการเรียกเว็บในครั้งแรก
2.Template หรือ Skin ส่วนนี้จะอยู่ในโฟลเดอร์ skin/modulename/ ซึ่งโดยทั่วๆไปไฟล์นี้จะมีนามสกุลเป็น HTML แยกกันตามชื่อโมดูล และไฟล์นี้จะเป็น HTML ล้วนๆเท่านั้น และไม่ควรมีข้อความใดๆอยู่ในไฟล์นี้ (ข้อความต่างๆควรอยู่ในส่วนของภาษา)
3.ไฟล์ ภาษา จะเก็บอยู่ใน language/modulename/ภาษา.php แยกกันแต่ละโมดูลเช่นกัน และโดยปกติจะมี 2 ไฟล์ เช่น ภาษา.php สำหรับใช้โดย PHP และ ภาษา.js สำหรับเรียกใช้โดย Javascript
ส่วนประกอบหลักๆของโมดูลมีอยู่ 3 ส่วนครับ แยกตามหน้าที่คือ
1.ตัว โมดูล จะเก็บอยู่ใน modules/modulename/ ส่วนนี้ทั่วๆไปจะเป็นโค้ด PHP ทั้งหมดที่เกี่ยวข้องกับโมดูล ไฟล์ในส่วนนี้จะมีอย่างน้อยที่สุด 2 ไฟล์คือ
1.1 index.php ไฟล์นี้จะเป็นไฟล์ระบบ และมีเหมือนๆกันทุกโมดูล โดยทั่วๆไป คุณไม่จำเป็นต้องแก้ไขไฟล์นี้
1.2 main.php ไฟล์นี้จะเป็นไฟล์หลักของโมดูล ซึ่งทำหน้าที่ทั้งหมดของโมดูล เราจะให้โมดูลนี้ทำอะไรได้ก็ให้เขียน PHP ที่ส่วนนี้ และที่สำคัญไฟล์นี้จะเป็น PHP เท่านั้น ห้ามเขียนในรูป HTML
สำหรับไฟล์ อื่นๆของโมดูลก็อาจจะเป็นไฟล์ทั่วๆที่จำเป็นต้องใช้ หรืออาจเป็นหน้าอื่นๆของโมดูลก็ได้ เช่น หน้า view.php ซึ่งอาจถูกเรียกใช้ได้โดยการเรียก index.php?module=modulename/view เป็นต้น
ไฟล์อื่นๆที่สำคัญและเป็นไฟล์ระบบสำหรับ(ซึ่งอาจมีหรือไม่ก็ได้)โมดูลได้แก่ config.php ซึ่งจะเป็นไฟล์สำหรับเก็บค่ากำหนดที่จำเป็นของโมดูล ถ้ามีอะไรที่ต้องกำหนด สามารถเขียนไว้ในนี้ได้
สำหรับข้อความบน title bar ของโมดูลหรือบนเมนูมีความสัมพันธ์กันตามที่กำหนดในไฟล์ config ดังนี้
[code=php]// ไตเติลของโมดูล
$config[blog][title] = $lng[LNG_BLOG_TITLE];
// คีย์เวิร์ดหน้า main ของโมดูลนี้
$config[blog][keyword] = $lng[LNG_BLOG_KEYWORD];
// รายการที่แสดงบนเมนู
$config[blog][menu] = $lng[LNG_BLOG_MENU];
$config[blog][tooltip] = $lng[LNG_BLOG_MENU_TOOLTIP];[/code]
จะเห็น ว่ามันถูกชี้ไปยังตัวแปรภาษาอีกที ดังนั้นการแก้ไขก็ให้ดูตัวแปรที่มันเชื่อมกันอยู่และแก้ไขให้ถูกต้องที่ไฟล์ ภาษา ซึ่งวิธีนี้มีข้อดีตรงที่ ถ้าเรากำหนดเว็บให้เป็นภาษาอื่น เราสามารถแก้ไขได้ที่ไฟล์ภาษาเพียงไฟล์เดียวเท่านั้นไม่ต้องมาแก้ไขที่ config
ไฟล์ inint.php เป็นไฟล์ที่จะถูกโหลดในครั้งแรกเพียงครั้งเดียว เราสามารถใช้ไฟล์นี้เพื่อทำการโหลด Javascipt หรือ โหลดไฟล์ หรือ จัดการเมนูเพิ่มเติมอื่นๆ ได้ที่ไฟล์นี้
feed.php และ sitemap.php เป็นไฟล์ RSS และ Sitemap ของโมดูลนั้นๆ
ใฟล์ใดๆ ที่ขึ้นต้นด้วย admin_ จะถูกใช้ในส่วนของ admin เท่านั้นและไฟล์นี้จะไม่มีการเรียกใช้ Template ใดๆเลย
ไฟล์ modulename.js เป็นไฟล์ Javascript หลักของโมดูลซึ่งจะถูกโหลดอัตโนมัติเมื่อทำการเรียกเว็บในครั้งแรก
2.Template หรือ Skin ส่วนนี้จะอยู่ในโฟลเดอร์ skin/modulename/ ซึ่งโดยทั่วๆไปไฟล์นี้จะมีนามสกุลเป็น HTML แยกกันตามชื่อโมดูล และไฟล์นี้จะเป็น HTML ล้วนๆเท่านั้น และไม่ควรมีข้อความใดๆอยู่ในไฟล์นี้ (ข้อความต่างๆควรอยู่ในส่วนของภาษา)
3.ไฟล์ ภาษา จะเก็บอยู่ใน language/modulename/ภาษา.php แยกกันแต่ละโมดูลเช่นกัน และโดยปกติจะมี 2 ไฟล์ เช่น ภาษา.php สำหรับใช้โดย PHP และ ภาษา.js สำหรับเรียกใช้โดย Javascript
11 ตค. 2552 08:03 |
0 |
ดู 329 |
