สร้างโมดูล Joomla 1.6/1.7/2.x

สร้างโมดูลสำหรับ Joomla 1.6x

ข้อมูลอัพเดทเพิ่มเติมประกอบหนังสือ "สร้างเทมเพลทโมดูลและคอมโพเนนท์สำหรับ Mambo และ Joomla" เพื่อสร้างโมดูลให้ทำงานกับ Joomla 1.6x/1.7x/2.x ได้ 

 

ไฟล์ xml

รูปแบบและหลักการจะคล้ายๆกัน แต่มีที่เปลี่ยนแปลงอยู่บ้าง ดังตัวอย่างต่อไปนี้

 

<?xml version="1.0" encoding="tis-620"?>
<extension type="module" version="1.6.0"  client="site" method="upgrade">
    <name>Fuel_Price</name>
    <creationDate>June 2009</creationDate>
    <author>Kob</author>
    <copyright>This module is released under the GNU/GPL License</copyright>
    <authorEmail> This email address is being protected from spambots. You need JavaScript enabled to view it. </authorEmail>
    <authorUrl>www.yourweb.com</authorUrl>
    <version>1.0</version>
    <description>Fuel Price</description>
    <files>
  <filename module="mod_fuel">mod_fuel.php</filename>
 </files>


<config>
  <fields name="params">
   <fieldset name="basic">
     <field name="width"  type="text"   default="175"    label="ความกว้าง"    description="กว้าง default 175" />          พารามิเตอร์ 
  </fieldset>

 

   <fieldset    name="advanced">             พารามิเตอร์สำหรับแท็ป Advanced 
    <field
     name="layout"
     type="modulelayout"
     label="JFIELD_ALT_LAYOUT_LABEL"
     description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
    <field
     name="moduleclass_sfx"
     type="text"
     label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
     description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
    <field
     name="cache"
     type="list"
     default="1"
     label="COM_MODULES_FIELD_CACHING_LABEL"
     description="COM_MODULES_FIELD_CACHING_DESC">
     <option
      value="1">JGLOBAL_USE_GLOBAL</option>
     <option
      value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
    </field>
    <field
     name="cache_time"
     type="text"
     default="900"
     label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
     description="COM_MODULES_FIELD_CACHE_TIME_DESC" />
    <field
     name="cachemode"
     type="hidden"
     default="static">
     <option
      value="static"></option>
    </field>
   </fieldset>
  </fields>
 </config>
</extension>

 


 

ไฟล์ PHP

การเอ้าพุทข้อมูล และการรับค่าจะเหมือนเดิม แต่ต้องเปลี่ยนบรรทัดป้องกันการ access ดังตัวอย่างต่อไปนี้

 

<?php
/**
* @package
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
*/

defined('_JEXEC') or die('Restricted access');

$width = $params->get('width');
$content = " ... your output...";

?>