Πως δημιουργούμε ένα module για Joomla 2.5
Λεπτομέρειες
- Λεπτομέρειες
- Κατηγορία: Joomla
- Δημιουργηθηκε στις Δευτέρα, 11 Φεβρουαρίου 2013 07:59
- Τελευταία Ενημέρωση στις Πέμπτη, 07 Μαρτίου 2013 14:47
- Δημοσιεύτηκε στις Πέμπτη, 07 Μαρτίου 2013 11:02
- Γράφτηκε από τον/την Administrator
- Εμφανίσεις: 4403
Μπορούμε να δημιουργήσουμε ένα δικό μας 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 :
αρχείο mod_mymodule.xml
<?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
<?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
<?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
αρχείο tmpl\default.php
φτιάχνουμε το mod_mymodule.zip το οποίο περιέχει όλα τα αρχεία που δημιουργήσαμε και κάνουμε την εγκατάσταση στο joomla:
Έπειτα πηγαίνουμε στην λίστα με τα module και μπορούμε να το παραμετροποιήσουμε.
Έχουμε ορίσει δύο παραμέτρους για το παραδειγμά μας :
Βάζουμε τιμές στις παραμέτρους, ενεργοποιούμε το module και το βάζουμε στην θέση που θέλουμε στο site μας .
To αποτέλεσμα είναι :
Με αυτό τον τρόπο μπορούμε να δημιουργήσουμε τα δικά μας modules, να αντλήσουμε δεδομένα από την βάση δεδομένων και να τα παρουσιάσουμε με τον τρόπο που θέλουμε στο site μας.
Το mod_mymodule που φτιάξαμε για το παράδειγμά μας μπορείτε να το κατεβάσετε από εδώ.