Presentatie JUG plugin Merka

11
JUG VLAANDEREN Plugin_content_merka

description

Presentatie van de eenvoudige plugin Merka

Transcript of Presentatie JUG plugin Merka

Page 1: Presentatie JUG plugin Merka

JUG VLAANDEREN

Plugin_content_merka

Page 2: Presentatie JUG plugin Merka

JUG VLAANDEREN

Hoe een heel eenvoudige plugin maken voor joomla

We noemen onze plugin plg_content_merkaDe naam moet voldoen aan bepaalde afspraken (JED). In ons geval namelijkplg (=plugin) content (=type plugin) merka (=unieke naam)

Plugins werken steeds op de achtergrond en worden geactiveerd door een event. In functie van welk event spreken we over een bepaald type plugin. Voorbeelden zijn Authentication (bvb login), captcha (bvb recaptcha), content

enz..Het type content wijzigt de inhoud voordat die wordt getoond aan de gebruiker. Een bekend voorbeeld is {google_map} Potvlietlaan, Antwerpen,… {/google_map}Waardoor er een Googlemap komt te staan i.p.v. de tekst.

Page 3: Presentatie JUG plugin Merka

Om de bestanden te schrijven gebruik je eender welke editor, zolang die maar UTF-8 formaat ondersteunt. Zoals bvb. NOTEPAD++

Onze plugin bestaat uit 3 bestanden:

1. index.html2. merka.xml3. merka.php

Wat willen we dat onze plugin gaat doen?De plugin gaat een (korte) tekst NA elke artikel zetten. Die tekst kunnen we aanpassen in het beheergedeelte van de plugin.

JUG VLAANDEREN

Page 4: Presentatie JUG plugin Merka

JUG VLAANDEREN

Het bestand index.html bevat 1 regel html code, die een leeg wit blad toont bij het aanroepen.

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

Dit bestand is voor de plugin niet echt noodzakelijk. Het verhindert enkel dat de mapstructuur wordt getoond bij het browsen naar de map.Je kan dit bestand best in ELKE map plaatsen, want wanneer dit bestand er niet staat kan de gebruiker de ganse mapstructuur en de bestanden zien, wat de deur openzet voor hackers.

Je kan dit ook opvangen door het .htaccess en of het web.config bestand aan te passen, maar soms worden die overschreven door de webhoster. Sommige providers ondersteunen zelfs deze bestanden niet. Meer uitleg over .htaccess vind je ophttp://www.weethet.nl/dutch/html_usinghtaccess.php

Page 5: Presentatie JUG plugin Merka

JUG VLAANDEREN

Het bestand merka.xml

<?xml version="1.0" encoding="utf-8"?><extension version="3.0" type="plugin" group="content" method="upgrade"> <name>plg_content_merka</name> <author>Karel Mertens</author> <creationDate>11/03/2014</creationDate> <copyright>Merkasoft</copyright> <license>GNU General Public License</license> <authorEmail>[email protected]</authorEmail> <authorUrl>http://lol.merka.be</authorUrl> <version>1.2.5</version> <description>Reclametekst toevoegen na elk artikel.</description> <files> <filename plugin="merka">merka.php</filename> <filename>index.html</filename> </files> <config>

<fields name="params"><fieldset name="basic">

<field name="crtext" type="text" default="2014 (C)" label="Reclametekst toe te voegen NA elk artikel" description="PLG_CONTENT_MERKA_FIELD_CRTEXT_LABEL" />

</fieldset></fields>

</config> </extension>

Page 6: Presentatie JUG plugin Merka

JUG VLAANDEREN

Het bestand merka.xml <?xml version="1.0" encoding="utf-8"?> // De xml versie/encoding. Noodzakelijk bij gebruik van vreemde tekens of talen zoals arabisch….<extension version="3.0" type="plugin" group="content" method="upgrade"> // plugin van het type content, MINIMUM vereiste is Joomla versie 3.0 / de methode upgrade zorgt er voor dat bij het upgraden van de plugin, de data NIET overschreven worden. <name>plg_content_merka</name> // De naam van onze plugin (volgens de normen). Belangrijk als je de plugin wil laten opnemen in de JED. <author>Karel Mertens</author> // Naam van de auteur <creationDate>11/03/2014</creationDate> //De datum van creatie <copyright>Merkasoft</copyright> // copyright label <license>GNU General Public License</license> // Licentie voor OpenSource <authorEmail>[email protected]</authorEmail> // e-mail adres van de auteur <authorUrl>http://lol.merka.be</authorUrl> // URL van de website <version>1.2.5</version> // de versie nummer (aangepast bij update) <description>Reclametekst toevoegen na elk artikel.</description> // omschrijving van de plugin

Page 7: Presentatie JUG plugin Merka

JUG VLAANDEREN

<files> // opsomming van ALLE bestanden gebruikt in de plugin <filename plugin="merka">merka.php</filename> <filename>index.html</filename> </files> <config> // de velden (variabele parameters) gebruikt in de plugin <fields name="params"> <fieldset name="basic">

<field name="crtext" type="text" // hierin komt de tekst die we willen laten zien

default="2014 (C)" // de defaultwaarde label="Reclametekst toe te voegen NA elk artikel" // het label description="PLG_CONTENT_MERKA_FIELD_CRTEXT_LABEL"

// de beschrijving van de variabele/>

</fieldset> </fields> </config> </extension>

Page 8: Presentatie JUG plugin Merka

JUG VLAANDERENHet bestand merka.php

<?php // begin php codedefined('_JEXEC') or die; // geen directe toegang tot het bestand (enkel vanuit het systeem)

class plgContentMerka extends Jplugin // maak een classe met als basis Jplugin{

function onContentAfterDisplay( $context, &$article, &$params, $limitstart )

// functie wordt uitgevoerd NA Display { $crtext = $this->params->get('crtext'); // plaats in de variabele $crtext de inhoud van het veld crtext (crtext = de tekst die we ingeven als parameter)

return "<p><font color='red'><b>$crtext</b></font></p>"; // de functie geeft de inhoud van $crtext terug (in het rood). Dit wil

zeggen dat er NA het oorspronkelijke artikel onze tekst wordt geplaatst. }}?> // einde php code

Page 9: Presentatie JUG plugin Merka

JUG VLAANDEREN

Nu we alle bestanden hebben wordt het hoog tijd om de plugin te maken. Hiervoor zippen we de (3) bestanden en geven het zipbestand de naam van onze plugin.Namelijk merka.zip (deze naam is vrij te kiezen, maar best toch een naam gebruiken die duidelijk de plugin benoemt.

Dan kunnen we onze plugin uploaden en zien we ze verschijnen in de lijst extensies.

Page 10: Presentatie JUG plugin Merka

JUG VLAANDEREN

Na het activeren is de plugin actief en zien we de default waarde verschijnen in de front-end.

Via de plugin instelling (back-end) kunnen we nu deze tekst aanpassen.

Page 11: Presentatie JUG plugin Merka

JUG VLAANDEREN