ทำความรู้จักกับ Mambots หรือ Plugins
แก้ไขล่าสุด ใน วันพฤหัสบดีที่ 30 กันยายน 2553 เวลา 23:37 น. เขียนโดย MrS Siam วันจันทร์ที่ 02 มิถุนายน 2551 เวลา 00:20 น.
| ดัชนีบทความ |
|---|
| ทำความรู้จักกับ Mambots หรือ Plugins |
| หน้า 2 |
| ทุกหน้า |
Mambots ตามที่เรียกใน Joomla! 1.0 หรือ Plugins ใน Joomla! 1.5 เป็นส่วนของ function เล็กๆ ที่จะทำให้สามารถเปลี่ยนแปลง function ของระบบ โดยที่ไม่ต้องแก้ใข code ในส่วนของ core หรือ อาจจะใช้ในการเพิ่มความสามารถให้กับ function เดิมของระบบก็ได้ เช่นการทำการ Search ปกติของ site จะทำการค้นหาจาก Articles จากส่วนของชื่อและเนื้อหาของบทความ แต่ใน DOCMAN ได้มีการเพิ่ม Search ในการค้นหาจากชื่อและคำอธิบายเอกสารเข้าไป โดยในแง่ของผู้ใช้จะใช้แค่การค้นหาในส่วนของ site เท่านั้นเอง
Plugins หรือ Mambots จะใช้ Observer pattern เพื่อคอยการทำงานตามเหตุการณ์ที่จะเกิดขึ้น โดยการคอยทำงานตามเหตุการณ์ที่ระบบอนุญาติให้เราทำการเปลี่ยนแปลงได้ ใน Joomla! 1.0 เราจะมี Event ไม่มากนัก แต่ใน Joomla! 1.5 นั้น Event จะมีมากขึ้น และเรายังสามารถเพื่ม Event ของเราใน Component ได้อีกด้วย
Events
เหตุการณ์หรือ Events ใน Joomla! 1.0 มีอยู่ทั้งหมด 5 กลุ่มเหตุการณ์คือ system, content, search, editor, editor-xtd ซึ่งเป็น folder ใน /mambots นั่นเอง
โดยในกลุ่ม Editor ก็คือ สามตัวหลังซึ่งจะมีการเรียกใช้โดย WYSIWYG editor
ใน Joomla! 1.0 จะใช้วิธีการง่ายๆ คือในตัวของ Mambot จะมีการ register ตัว function ของ Mambot เข้าไป โดยการเรียกใช้จากตัวแปรชื่อ $_MAMBOTS ดูตัวอย่าง
/* Register the Plugin in Joomla */
if (_BF_PLATFORM=='JOOMLA1.0'){
$_MAMBOTS->registerFunction( 'onAfterStart', '_LOAD_XAJAX' );
} else {
$mainframe->registerEvent( 'onAfterInitialise', '_LOAD_XAJAX' );
}
จากตัวอย่างด้านบนจะเป็น Plugin หรือ Mambot ที่ใช้ได้ทั้ง Joomla! 1.0 และ Joomla! 1.5 ซึ่งการ register ตัวฟังก์ชันจะแตกต่างกัน คือใน 1.0 จะ register โดยเรียก method ของ $_MAMBOTS ส่วนใน 1.5 จะเรียกใช้ method ของตัวแปร global ชื่อ $mainframe
ใน Joomla! 1.5 ได้มีการเพิ่ม Event หรือ เหตุการณ์ที่อนุญาติให้เราทำการแก้ไขได้อีกหลายเหตุการณ์โดยสามารถแบ่งเป็นกลุ่มได้ดังนี้ คือ
- authentication
- content
- editors
- editor-xtd
- search
- system
- user
- xmlrpc


