Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Versimpel beheer met Joomla modules

1,784 views

Published on

Start vandaag met het maken van eigen Joomla modules!

Wat zijn modules, en hoe kan een zelfgemaakte module het beheer van Joomla versimpelen? We leggen de basis uit van PHP, MySQL en XML en laten zien hoe je eenvoudig zelf een module maakt.

Deze presentatie is gegeven bij de Joomladagen 2016 en verschillende lokale Joomla User Groups.

Published in: Internet
  • Be the first to comment

Versimpel beheer met Joomla modules

  1. 1. Versimpel beheer met Joomla modules Emiel Kwakkel Emiel Kwakkel is not affiliated with or endorsed by the Joomla Project or Open Source Matters. The Joomla logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.
  2. 2. Emiel Kwakkel
  3. 3. Agenda Maak je eigen Joomla Module 1. Introductie 2. Technieken 3. Bouwen 4. Demo
  4. 4. Wat zijn modules? Introductie Modules zijn lichtgewicht en flexibele extensies voor Joomla
  5. 5. Custom HTML Of sourcerer module
  6. 6. Doel van een CMS Introductie Het scheiden van content en functionaliteit
  7. 7. Maak beheer makkelijk Introductie
  8. 8. Voordelen eigen module Introductie Simpeler voor admins Scheiding content & functionaliteit Template overrides Generiek
  9. 9. Technieken Maak je eigen Joomla Module XML HTML PHP+ +
  10. 10. XML Set van gestructureerde gegevens <persoon> <voornaam>Emiel</voornaam> <achternaam>Kwakkel</achternaam>   <afbeelding locatie="/images/emiel.png" beschrijving="Emiel" />   <interesses> <interesse type="websites">Joomla</interesse> <interesse type="sport">Wielrennen</interesse> </interesses>   </persoon> tag element attribuut
  11. 11. HTML De webpagina <!DOCTYPE html> <html lang="nl"> <head> <title>Webpagina titel</title> </head> <body> <h1>Versimpel beheer</h1> <p>Met Joomla modules. <br>Vandaag!</p> </body> </html> Versimpel beheer Met Joomla modules. Vandaag! tag element attribuut
  12. 12. PHP Server-side programmeertaal <?php // Maak een variabele "test" aan $test = “Ik ben variabel"; // Geef de variabele weer echo $test; ?> Ik ben variabel
  13. 13. PHP Server-side programmeertaal <?php // Maak variabelen aan $a = 10; $b = 5; // Ga rekenen $delen = $a / $b; // Geef resultaat weer echo "A gedeeld door B = " . $delen; ?> A gedeeld door B = 2
  14. 14. PHP Server-side programmeertaal <?php // Toon lees meer? 1 = ja / 0 = nee $show_readmore = 1; $readmore = “Lees meer…”; // Moet tekst getoond worden? if ($show_readmore == 1) { echo $readmore; } else { echo “<hr>”; } ?> Lees meer
  15. 15. De mapstructuur Welke bestanden heb je nodig? helper.php mod_naam mod_naam.php mod_naam.xml tmpl default.php Verbinding met de database (optioneel) Variabelen doorsturen naar template Beschrijf de module Template map Standaard view
  16. 16. De mapstructuur Hoe werkt het? mod_footer_column.xml mod_footer_column
  17. 17. De mapstructuur Hoe werkt het? mod_footer_column.php default.phphelper.php
  18. 18. mod_naam.xml Beschrijf de module <?xml version='1.0' encoding='utf-8'?> <extension type='module' version='3.1.0' client='site' method='upgrade'> <name>Naam module</name> <author>Naam auteur</author> <version>1.0.0</version> <description>Beschrijf je module</description> <files> <filename module='mod_naam'>mod_naam.php</filename> <filename>helper.php</filename> <folder>tmpl</folder> </files> <config>
  19. 19. mod_naam.xml Beschrijf de module <?xml version='1.0' encoding='utf-8'?> <extension type='module' version='3.1.0' client='site' method='upgrade'> <name>Naam module</name> <author>Naam auteur</author> <version>1.0.0</version> <description>Beschrijf je module</description> <files> <filename module='mod_naam'>mod_naam.php</filename> <filename>helper.php</filename> <folder>tmpl</folder> </files> <config> <fields name='params'> </fields> </config> </extension> Plaats hierin velden
  20. 20. mod_naam.xml In het config element /** Tekst veld voorbeeld **/ <field name='firstname' type='text' default='' label='Firstname' description='' size='10' /> /** Datum veld **/ <field name='startdate' type='calendar' default='13-07-2015' label='Start datum' description='' format='%d-%m-%Y' /> /** Media manager **/ <field name='main_image"' type='media' directory='stories' /> /** Meer voorbeelden: https://docs.joomla.org/Standard_form_field_types/nl**/
  21. 21. mod_naam.php Geeft variabelen door aan de template // Laad in de helper.php require_once dirname(__FILE__) . '/helper.php'; // Laad in variabelen $firstname = htmlspecialchars($params->params->get('firstname')); $startdate = htmlspecialchars($params->params->get('startdate')); $main_image = htmlspecialchars($params->params->get('main_image')); // Geef variabelen door aan de template require(JModuleHelper::getLayoutPath('mod_naam', $params->get('layout', 'default')));
  22. 22. default.php De template van de module (view) <p>Hallo <?php echo $firstname; ?></p> <?php if ($main_image != "") { ?> <img src="<?php echo $main_image;?>” alt="<?php echo $firstname;?>"> <?php } ?>
  23. 23. Starterskit Download voorbeeld module http://emielkwakkel.nl/downloads/presentations/joomla-maak-je-eigen-module/mod_name.zip mod_naam.zip
  24. 24. The Color Republic Demo
  25. 25. Snelopgitaar Demo
  26. 26. Live demo… Aan de slag
  27. 27. Vragen?
  28. 28. Connect! @eKwakkel Emiel Kwakkel emielkwakkel.nl joomlacommunity.eu: jEmiel

×