Extensies maken voor Joomla!
Peter van Westen
@NoNumber_nl
nonumber.nl
Extensies maken voor Joomla!1.5
Peter van Westen
@NoNumber_nl
nonumber.nl
Wie ben ik?
• Peter van Westen
•
• Programmeur… geen spreker
• 31
• Getrouwd
Wie ben ik?
Extensies• Add to Menu
• AdminBar Docker
• Advanced Module Manager
• Articles Anywhere
• Better Preview
• Cache Cleaner
• CDN for Joomla!
• Content Templater
• CustoMenu
• DB Replacer
• Modalizer
• Modules Anywhere
• NoNumber! Extension Manager
• ReReplacer
• Slider
• Snippets
• Sourcerer
• Tabber
• Timed Styles
• What? Nothing!
Wat gaan we bespreken?1. MVC model
2. Modules maken
3. Plugins maken
4. Modules/plugins maken m.b.v. bestaande extensies
5. Vragen…
MVC model
Model
View
Controller
1
CMV model
Controller
↓
Model
↓
View
1
Controller
Chef
1. MVC model
Model
Magazijn
1. MVC model
View
Vormgever
1. MVC model
Controller - Model - View
Magazijn VormgeverChef
1. MVC model
Modules maken
2
Wat zijn modules?• Module = widget
• Altijd geplaatst in module posities
(behalve met Modules Anywhere)
2. Modules maken
Wat zijn modules?• Afhankelijk van het aktieve Menu item (Itemid)
(behalve met Advanced Module Manager of MetaMod)
2. Modules maken
MVC model
helper.php tmplmod_x.php
Chef VormgeverMagazijn
2. Modules maken
BestandenBestanden kopieren van bestaande module
mod_wrapper / mod_latestarticlesmod_x.xml
mod_x.php
helper.php
index.html
<tmpl>
default.php
index.html
2. Modules maken
mod_x.php<?php/** * Module X */ // no direct accessdefined( '_JEXEC' ) or die( 'Restricted access' ); // Include the syndicate functions only oncerequire_once( dirname(__FILE__).DS.'helper.php' );
$layout = JModuleHelper::getLayoutPath( 'mod_x' );require( $layout );?>
2. Modules maken
helper.php<?php/** * Module X - Helper */ // no direct accessdefined( '_JEXEC' ) or die( 'Restricted access' ); class modXHelper{ ...}
2. Modules maken
tmp/default.php<?php/** * Module X – Default Template */ // no direct accessdefined( '_JEXEC' ) or die( 'Restricted access' );?><!– HTML -->
2. Modules maken
Module maken
Module : Artikeltje• Plaats de titel en intro text van een artikel op basis van artikel id
nummer.
2. Modules maken
Module maken
Voorbeeld:http://www.nonumber.nl/files/jd11nl/ mod_artikeltje.zip
2. Modules maken
Plugins maken
3
Wat zijn plugins?• Hebben effect op website
• Worden uitgevoerd a.d.h.v. ‘triggers’
• content / system / etc.
3. Plugins maken
MVC model Chef VormgeverMagazijn
3. Plugins maken
MVC model Chef VormgeverMagazijn
3. Plugins maken
BestandenBestanden kopieren van bestaande plugin
x.xml
x.php
<x>
...
3. Plugins maken
Plugin maken
Plugin: Artikeltje• Plaats de titel en intro text van een artikel op basis van artikel id
nummer.
• Syntax: {artikeltje 123}
3. Plugins maken
Plugin maken
Voorbeeld:http://www.nonumber.nl/files/jd11nl/ plg_artikeltje.zip
3. Plugins maken
Modules/plugins makenm.b.v. bestaande extensies
ReReplacerhttp://www.nonumber.nl/rereplacer
Sourcererhttp://www.nonumber.nl/sourcerer
4