เริ่มต้นเขียน Joomla! module
แก้ไขล่าสุด ใน วันเสาร์ที่ 19 กันยายน 2552 เวลา 21:18 น. เขียนโดย Prasit Gebsaap วันอังคารที่ 29 เมษายน 2551 เวลา 06:38 น.
| ดัชนีบทความ |
|---|
| เริ่มต้นเขียน Joomla! module |
| หน้า 2 |
| หน้า 3 |
| ทุกหน้า |
Joomla! module เป็นส่วนประกอบย่อยๆ หรือ window เล็กๆ บนหน้า web site ที่วางอยู่ในตำแหน่งของ module position ตัวอย่าง module เช่น menu ต่างๆ โดยส่วนประกอบของ module ประกอบด้วยไฟล์ module (.php) ไฟล์ xml (.xml) โดยไฟล์ xml เป็นไฟล์ที่ใช้ในการติดตั้ง module โดย
1. ไฟล์ module จะต้องตั้งชื่อ mod_<name>.php
2. ไฟล์ติดตั้ง xml ต้องตั้งชื่อ mod_<name>.xml
3. ไฟล์ index.html
โดยแทนที่ <name> ด้วยชื่อของ module ของเรา ซึ่งจะต้องไม่ซ้ำกับ module อื่นๆ ไม่เช่นนั้นจะติดตั้งไม่ได้
ทีนี้เรามาเริ่มต้นกันที่ไฟล์หลักของ module ก่อนซึ่งนอกจาก comment ในส่วนหัวของไฟล์ที่เราจะเจอแล้วบรรทัดแรกที่เราจะต้องเจอและเป็นข้อบังคับเกี่ยวกับความปลอดภัยของการเขียน module และ component สำหรับ Joomla!
ซึ่งเป็นการป้องกันการเข้าถึงไฟล์โดยตรง (ต้องถูกเรียกโดย index.php หรือ index2.php เท่านั้นครับ) นั่นคือเราจะไม่สามารถเรียก
http://wwww.mysite.com/modules/mod_name.php
สำหรับในส่วนของไฟล์ xml ประกอบไปด้วยสามส่วนหลักๆ คือ ข้อมูลทั่วไป ส่วนของไฟล์ และส่วนของ paramters ดูตัวอย่าง
<?xml version="1.0" encoding="utf-8"?> <mosinstall type="module" version="1.0.14"> <name>Latest registered</name> <creationDate>April 2008</creationDate> <author>PG</author> <copyright>(C) 2007-2008 Joomlant.com</copyright> <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license> <authorEmail></authorEmail> <authorUrl>www.joomlant.com</authorUrl> <version>1.0.1-1</version> <description>Shows latest registered users</description> <files> <filename module="mod_jnt_latestregister">mod_jnt_latestregister.php</filename> </files> <params> <param name="limit" type="text" default="5" label="Display limit" description="number of last register to show"> </param> <param name="field" type="radio" default="0" label="Field to show" description="display username or fullnale"> <option value="0">username</option> <option value="1">name</option> </param></params> </mosinstall>
ในส่วนของไฟล์ index.html นั้นเป็นไฟล์ว่างๆ ซึ่งไฟล์นี้ใส่ไว้เพื่อเหตุผลทางด้านความปลอดภัยในกรณีที่ directory ไม่ได้ป้องกัน directory browsing เอาไว้ถ้าไม่เจอไฟล์มันจะทำการแสดงรายการไฟล์ใน directory นั้นแทน การใส่ไฟล์ index.html ไว้จะทำให้ server แสดง content ของไฟล์นี้แทน ไฟล์ index.html ซึ่งมีในทุกๆ directory ยกเว้น root directory และ admin directory ดังนั้นคุณสามารถ copy มาใช้ได้ สำหรับ module เนื่องจาก directory หลักมีไฟล์นี้อยู่แล้วก็ไม่จำเป็นต้องใช้ แต่ถ้าคุณมีไฟล์อื่นๆ อีกซึ่งควรสร้าง subdirectory ต่างหากก็จำเป็นต้องมี
content ของไฟล์ index.html
<html><body bgcolor="#FFFFFF"></body></html>
| < ย้อนกลับ |
|---|

