Growing Joomla! Community is Our Goal.
พฤหัสบดี 11 มีนาคม 2553
   
Text Size

เริ่มต้นเขียน Joomla! module

( 5 Votes )
ดัชนีบทความ
เริ่มต้นเขียน 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!

  1. <?php defined ( '_VALID_MOS' ) OR DIE( 'Direct access is not allowed' );?>
 

ซึ่งเป็นการป้องกันการเข้าถึงไฟล์โดยตรง (ต้องถูกเรียกโดย index.php หรือ index2.php เท่านั้นครับ) นั่นคือเราจะไม่สามารถเรียก

  1. http://wwww.mysite.com/modules/mod_name.php
 
ได้นั่นเอง

สำหรับในส่วนของไฟล์ xml ประกอบไปด้วยสามส่วนหลักๆ คือ ข้อมูลทั่วไป ส่วนของไฟล์ และส่วนของ paramters ดูตัวอย่าง

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mosinstall type="module" version="1.0.14">
  3.  <name>Latest registered</name>
  4.  <creationDate>April 2008</creationDate>
  5.  <author>PG</author>
  6.  <copyright>(C) 2007-2008 Joomlant.com</copyright>  
  7.  <license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>  
  8.  <authorEmail></authorEmail>
  9.  <authorUrl>www.joomlant.com</authorUrl>
  10.  <version>1.0.1-1</version>
  11.  <description>Shows latest registered users</description>
  12.  <files>
  13.   <filename module="mod_jnt_latestregister">mod_jnt_latestregister.php</filename>
  14.  </files>
  15.  <params>
  16.   <param name="limit" type="text" default="5" label="Display limit" description="number of last register to show">
  17.   </param>
  18.   <param name="field" type="radio" default="0" label="Field to show" description="display username or fullnale">
  19.    <option value="0">username</option>
  20.    <option value="1">name</option>
  21.   </param></params>
  22. </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

  1. <html><body bgcolor="#FFFFFF"></body></html>
 



JoomlaWatch Stats 1.2.8b_12-dev by Matej Koval
Restore Default Settings