Πως δημιουργούμε ένα module για Joomla 2.5



Αξιολόγηση Χρήστη:  / 2
ΧειρότεροΚαλύτερο 
Λεπτομέρειες
Κατηγορία: Joomla
Δημιουργηθηκε στις Δευτέρα, 11 Φεβρουαρίου 2013 07:59
Τελευταία Ενημέρωση στις Πέμπτη, 07 Μαρτίου 2013 14:47
Δημοσιεύτηκε στις Πέμπτη, 07 Μαρτίου 2013 11:02
Γράφτηκε από τον/την Administrator
Εμφανίσεις: 3058

Μπορούμε να δημιουργήσουμε ένα δικό μας module για το Joomla 2.5 CMS γράφοντας τον δικό μας κώδικα ακολουθούμε την εξής διαδικασία :

1.Αποφασίζουμε ένα όνομα. Όλα τα modules ξεκινούν με mod_

   ( π.χ : mod_mymodule )

2. δημιουργούμε έναν κατάλογο ( π.χ. mod_mymodule ) με τα εξής αρχεία :

    index.html

    helper.php

    mod_mymodule.xml

    mod_mymodule.php

   \tmpl\default.php

   \tmpl\index.html

αρχείο index.html :

View source
<html><body bgcolor="#FFFFFF"> </body></html>

αρχείο mod_mymodule.xml

View source
<?xml version="1.0" encoding="UTF-8"?>
 
<extension
    type="module"
    version="2.5"
    client="site"
    method="upgrade">
    <name>My first module</name>
    <creationDate>07 February 2013</creationDate>
    <author>www.developerpages.gr</author>
    <version>1.0</version>
    <description>My first module in joomla 2.5</description>
    <files>
        <filename module="mod_mymodule">mod_mymodule.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>mod_mymodule.xml</filename>
        <folder>tmpl</folder>
    </files>
    <config>
        <fields name="params">
            <fieldset name="basic">
                <field
                    name="param1"
                    type="text"
                    default=""
                    label="Parameter 1"
                    description="This is a Parameter 1 description">
                </field>
                <field
                    name="param2"
                    type="text"
                    default=""
                    label="Parameter 2"
                    description="This is a Parameter 2 description">
                </field>
 
            </fieldset>      
            <fieldset
                name="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="owncache"
                    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>
            </fieldset>                   
        </fields>
    </config>
</extension>
 

αρχείο helper.php

View source
<?php
 
// My first module in joomla 2.5
// www.developerpages.gr
 
class modMyModuleHelper {
 
    public function getMessage(&$params) {
        $par1 = $params->get('param1');
 
        $par2 = $params->get('param2');
 
        if ($par1 != NULL)
            $mess = 'Parameter 1 value : ' . $par1;
 
        if ($par2 != NULL)
            $mess = $mess . ' Parameter 2 value : ' . $par2;
 
        return $mess;
    }
 
}
 
?>

αρχείο mod_mymodule.php

View source
<?php
// My first modyle in Joomla 2.5
// www.developerpages.gr
 
//no direct access
defined('_JEXEC') or die('Restricted access');
 
//include the syndicate functions only once
require_once(dirname(__file__).DS.'helper.php');
 
// Load helper class and functions
$message = modMyModuleHelper::getMessage($params);
 
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
 
// Load layout filefrom template views
require(JModuleHelper::getLayoutPath('mod_mymodule'));
 
?>
 

αρχείο tmpl\index.html

View source
<html><body bgcolor="#FFFFFF"></body></html>

αρχείο tmpl\default.php

View source
<?php
// My first module in joomla 2.5 
// www.developerpages.gr
 
// no direct access
defined('_JEXEC') or die('Restricted access !');
 
echo $message;
 
?>
 

φτιάχνουμε το mod_mymodule.zip το οποίο περιέχει όλα τα αρχεία που δημιουργήσαμε και κάνουμε την εγκατάσταση στο joomla:

Έπειτα πηγαίνουμε στην λίστα με τα module και μπορούμε να το παραμετροποιήσουμε.

Έχουμε ορίσει δύο παραμέτρους για το παραδειγμά μας :

Βάζουμε τιμές στις παραμέτρους, ενεργοποιούμε το module και το βάζουμε στην θέση που θέλουμε στο site μας .

To αποτέλεσμα είναι :

Με αυτό τον τρόπο μπορούμε να δημιουργήσουμε τα δικά μας modules, να αντλήσουμε δεδομένα από την βάση δεδομένων και να τα παρουσιάσουμε με τον τρόπο που θέλουμε  στο site μας.

Το mod_mymodule που φτιάξαμε για το παράδειγμά μας μπορείτε να το κατεβάσετε από εδώ.