Joomla!dagen 2011: Extensies maken voor Joomla!

Post on 27-Jun-2015

1.788 views 2 download

description

De grote kracht van Joomla! Is de grote hoeveelheid beschikbare extensies. Voor bijna alles wat je wil is wel een extensie... bijna...Deze presentatie zal je inzicht geven om met een basis php en (x)html kennis zelf extensies te gaan ontwikkelen. De aandacht zal voornamelijk op plugins en modules liggen.Ook zal je leren hoe je met een aantal al beschikbare extensies je Joomla! website naar je hand kan zetten zonder zelf extensies te hoeven schrijven.

Transcript of Joomla!dagen 2011: Extensies maken voor Joomla!

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