Hoe bouw ik een component? Drs. Arjan Burger

Vergelijkbare documenten
Joomla! 1.5 templates

Joomla! Modules. Iedereen kan ze maken!

Sparse columns in SQL server 2008

Templates maken voor Joomla! Hoe maak je zelf een template voor je Joomla! website

SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.

USB NAAR SERIËLE CONVERTER

Databases - Inleiding

Les 12 : database koppeling, opmaken van template, webstructuur en afdrukken van gegevens. (deel2).

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Versie: 1.0 Gemaakt door: Whisper380 Eigenaar: Whisper380-computerhulp.net Datum:

De MySQL C API. Variabelen in C Functies in C Pointers in C

Inhoudsopgave. Theorie Praktijk Gegevens uit Database halen DML commando s... 14

Inhoud. Pagina 2 van 13

Webapplicatie-generatie NIOC 2013

Netwerkprinter Dell 1320C installeren op Ubuntu LTS - Lucid Lynx

WebSite Director Gebruikersgids

Website aanpassingen 2015/11

Zen Cart TM Kadobon-Online module

Joomla! Open Source Content Management System. Dhr. Evert Jochums Turnhout Cross-media ontwerp

Automatische Installatie op IIS server

SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.

ICARUS Illumina E653BK on Windows 8 (upgraded) how to install USB drivers

Les 15 : updaten van gegevens in de database (deel2).

Een website maken met Joomla!

VoipCenter Application Programming Interface (API)

Standard Parts Installatie Solid Edge ST3

Loremipsumdolorsitamet,consectetue radipiscingelit.aeneancommodoligula egetdolor.aeneanmassa.cumsociisnat oquepenatibusetmagnisdisparturient

EM6250 Firmware update V030507

Secure Application Roles

Installatie instructies

Postcode module Webservices

Oracle client 1.2 voor ixperion 1.3 en hoger

Joomla! 1.0 vs Joomla! 1.5

Joomla & Security. Ing. Gertjan Oude Lohuis Byte Internet 19 november 2007

Icoon/Icon Betekenis Description. Change scheduling Online. Gaat offline op (datum/tijd) Online. Going offline on (date/time)

8. Koppeling met een database

Legal Eagle Agendafix Sdu Uitgevers / A. Koppenaal

Koppeling met een database

1. Voor het installeren wordt geadviseerd een backup te maken van uw database en bestanden.

MyDHL+ ProView activeren in MyDHL+

Object Oriented Programming

Joomla! en open source

WebSite Director Gebruikersgids

1. Installatie netwerklock

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Dit document beschrijft belangrijke aandachtspunten voor de installatie van Deep Defender. Ook omschrijft dit document hoe de beheerder kan omgaan

WinZip Wizard 54

Portal4U 1.4 Installatie

Installatiehandleiding Business Assistent

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

Javascript oefenblad 1

Zorg ervoor dat je een database hebt aangevraagd op Open daarna het volgende adres in je browser:

Een website maken met databasetoegang.

CLOUD4WI WI-FI AREA. Technote. Alcadis Vleugelboot CL Houten Versie: 1.0 Auteur: Thomas Snijder Datum:

Wat kan er allemaal in Design Studio 1.4

General info on using shopping carts with Ingenico epayments

Foto web applicatie documentatie

TECHNICAL DESIGN DOCUMENT

A3 Digitaal. Beheer. Datum : November 2012 Versie : 3.00 : The Early Warning Company

Je website veilig de zomer(vakantie) door

Technisch Design Document

Zonnepanelen Hoe krijg je de data op je website?

ORTHOSMART B.V. VERSIE FEBRUARI

1. Inleiding Inleiding SQL Inleiding Database, databaseserver en databasetaal Het relationele model...

Mailing List Manager. Hoofdstuk 19

Joomla! en SEO: De basis elementen van SEO. Richard Bruning

9. MYSQL. Daarin zien we het administratie paneel van mysql.

WEBDESIGN & Joomla 3.6

De auteur van dit ebook kan op geen enkele manier verantwoordelijk gehouden worden voor eventuele onjuistheden in dit ebook.

Groepswerk Technieken voor Datamodellering

12. Meer dan één tabel gebruiken en sub-queries

Bibliotheek in ProcessMaker

CBSOData Documentation

Snelle Installatiehandleiding

Test Joomla op je PC 1

CBSOData Documentation

EM4594 Firmware update

Portals & Open Source

Wiki on Wheels. -Wikipedia on your personal SQL server. Door Anton Kirschhock

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

MyDHL+ Tarief berekenen

Dynamiek met VO-Script

MyDHL+ Van Non-Corporate naar Corporate

Elfde-Liniestraat Hasselt Schooljaar TINFO POKER GAME Oracle Scripts

Installatiehandleiding TiC Narrow Casting Manager

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Installatie King Task Centre

Je website (nog beter) beveiligen met HTTP-Security Headers

Datastructuren Werkcollege Intro

Les 2 Eenvoudige queries

SendCloud OpenCart 2 Extension Documentation

Data Warehouse Script Generator Doel

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

IBIS-TRAD Handleiding installatie IBIS-TRAD databases (MS-SQL)

Technical Note. API Beschrijving Aangetekend Mailen

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Temperatuurbewaking met Linux (Deel 2)

ASRemote WebService. Via deze webservice kunt u:

Transcriptie:

Hoe bouw ik een component? Drs. Arjan Burger

Zelf bouwen in Joomla! Veel standaard componenten aanwezig Zelf bouwen: meer mogelijkheden Maatwerk (redelijke tot grondige) PHP kennis vereist

Meeliften op Joomla! Veel standaard mogelijkheden aanwezig Gebruik maken van de API Gebruik maken van de admin interface Gebruik maken van de template structuur

Component installeren Via admin interface Installers components ZIP bestand selecteren Zorgen dat juiste directories schrijfbaar zijn Voorbeeld: AKOComment (reactie formulier)

EasyBook installeren

EasyBook - geïnstalleerd

EasyBook in het menu

EasyBook invoer

Het resultaat

Hoe is het gastenboek gebouwd? PHP Scripts (gebruikmakend van Joomla API) XML bestand Database queries Alles opgebouwd in vaste structuur in ZIP bestand

XML bestand component_naam.xml Metagegevens Bestanden Afbeeldingen Database Installatie Administration

Metagegevens component 1. <mosinstall type="component"> 2. <name>easybook</name> 3. <creationdate>01.06.2006</creationdate> 4. <author>easyjoomla.org Projekt</author> 5. <copyright>released under GNU/GPL</copyright> 6. <authoremail>easybook@easyjoomla.org</authoremail> 7. <authorurl>www.easy-joomla.org</authorurl> 8. <version>1.1</version> 9. <description>easybook ist eine Joomla 1.0.x Gaestebuch Komponente.</description>

Bestanden registreren 1. <files> 2. <filename>easybook.php</filename> 3. <filename>offline.php</filename> 4. <filename>sub_commententry.php</filename> 5. <filename>sub_deleteentry.php</filename> 6. <filename>sub_writeentry.php</filename> 7. <filename>sub_editentry.php</filename> 8. <filename>img.php</filename> 9. </files>

Afbeeldingen registreren 1. <images> 2. <filename>images/logo.png</filename> 3. <filename>images/logo_sm.png</filename> 4. <filename>images/datei.css</filename> 5. <filename>images/iepngfix.htc</filename> 6. <filename>images/text_underline.png</filename> 7. <filename> </filename> 8. </images>

Database installatie 1. <install> 2. <queries> 3. <query> 4. CREATE TABLE IF NOT EXISTS `# easybook` ( 5. `gbid` int(10) NOT NULL auto_increment, 6. `gbip` varchar(15) NOT NULL default '', 7. `gbname` varchar(20) NOT NULL default '', 8. `gbmail` varchar(60) default NULL, 9. Etc.

Installatie/deïnstallatie 1. <installfile>install.easybook.php</installfile> 2. <uninstallfile>uninstall.easybook.php</unins tallfile>

Administration 1. <administration> 2. <menu>easybook</menu> 3. <submenu> 4. <menu task="view">eintragungen ansehen</menu> 5. <menu task="config">konfiguration bearbeiten</menu> 6. <menu task="language">sprache bearbeiten</menu> 7. <menu task="words">wortliste bearbeiten</menu> 8. <menu task="about">easybook Informationen</menu> 9. </submenu> 10. <files> </files> 11. <images> </images> 12. </administration>

PHP Bestanden component_naam.php Hoofdbestand Bevat alle basis functionaliteit Wordt door Joomla! aangeroepen bij aanroep component Bekijkt waarom de aanroep wordt gedaan Hier: easybook.php

easybook.php: functies 1. switch ($func) { 2. case 'deleteentry': 3. GuestbookHeader(true); 4. include('components/com_easybook/sub_deleteentry.php'); 5. break; 6. 7. case 'comment': 8. GuestbookHeader(true); 9. include('components/com_easybook/sub_commententry.php'); 10. break; 11.}

Voorbeelden API GET Parameters: $func = mosgetparam( $_REQUEST, 'func', ''); $gbid = mosgetparam( $_REQUEST, 'gbid');

Database select 1. $gbid = mysql_escape_string($gbid); 2. $query = "SELECT * FROM # easybook WHERE gbid ='$gbid';"; 3. $database->setquery($query); 4. $database->loadobject($gb);

Meertaligheid Uit admin.easybook.php defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); if (file_exists($mosconfig_absolute_path.'/components/com_easyb ook/languages/'.$mosconfig_lang.'.php')) { include($mosconfig_absolute_path.'/components/com_easyboo k/languages/'.$mosconfig_lang.'.php'); } else { include($mosconfig_absolute_path.'/components/com_easyboo k/languages/english.php'); }

Taalbestanden als defines 1. // Header language definitions 2. DEFINE("_GUESTBOOK_SIGN","Sign guestbook"); 3. DEFINE("_GUESTBOOK_VIEW","View guestbook"); 4. DEFINE("_GUESTBOOK_AFTERENTRIE","guestbook entry"); 5. DEFINE("_GUESTBOOK_AFTERENTRIES","guestboo k entries"); 6. DEFINE("_GUESTBOOK_PAGES","Pages:"); 7. DEFINE("_GUESTBOOK_ONLYREGISTERED","Only registered users are allowed to sign the guestbook.<br />Please login or register.");

Templates Hier gedefinieerd in apart php bestand (class) Wordt via class:functie aangeroepen

Voorbeeld aanroep template 1. class HTML_guestbook { 3. function showguestbookentries( $option, $task, &$rows, &$search, &$pagenav ) { 5. $entrylenght = "70"; 6. $commentlenght = "40";

Tips Maak zoveel mogelijk gebruik van standaard Joomla code Scheid code en vormgeving Gebruik vanaf het begin meertaligheid Gebruik Engels commentaar wanneer u uw component als open source wilt publiceren

Vragen? drs. Arjan Burger burger@eduvision.nl Auteur verschillende PHP boeken Docent PHP