joomla componenten bouwen met component creator
DESCRIPTION
Joomla componenten bouwen met Component Creator, voor Joomladagen 2014TRANSCRIPT
R.Kreijveld
Joomla component bouwen
met Component Creator
René Kreijveld
R.Kreijveld
Joomla Extensies• Componenten
• Modules
• Plugins
• Templates
• Taalbestanden
R.Kreijveld
Joomla Extensies• Op de JED (Joomla Extension Directory)
zijn heel veel extensies beschikbaar.
• En toch … soms zit die ene er niet bij die jouw gewenste functionaliteiten biedt of er is te veel of te weinig functionaliteit.
• En dus wil je zelf wat maken.
R.Kreijveld
Joomla Extensies• Indien volgens Joomla standaarden
gebouwd, dan volgens MVC.
• Wat is MVC?
R.Kreijveld
MVC• http://nl.wikipedia.org/wiki/Model-view-
controller-model
• MVC is een design pattern, dat het ontwerp van een toepassing opdeelt in 3 eenheden:
Model, View, Controller
R.Kreijveld
MVC
ControllerControllerControllerController
ViewViewViewView ModelModelModelModel
R.Kreijveld
R.Kreijveld
Een eigen component …• Dus als ik zelf een component wil
bouwen, moet ik een Controller, Models en Views bouwen …
• Voor frontend en backend …
• Met kennis van PHP, MySQL, HTML, CSS, Javascript en het Joomla framework …
R.Kreijveld
Da’s best PITTIG!Althans voor René Kreijveld … ;-)
R.Kreijveld
www.component-creator.com
R.Kreijveld
R.Kreijveld
Component Creator• Bouwt Joomla 2.5 of 3.x componenten
• Joomla/MVC/ACL standaarden
• Meertalig
• Direct installeerbaar
• Alle standaard Joomla opties op data
R.Kreijveld
Component Creator• Mogelijk om te werken met gerelateerde
data(1-to-many relaties)
• List en form view in backend
• List, detail en edit view in frontend
R.Kreijveld
Component Creator• Alles draait in de browser (online)
• Twee varianten:Gratis versie: componenten met 1 tabelBetaalde versie: ongelimiteerde tabellen
• Betaalde versie € 19,00 per maand (jaar)
• Kortingcode jd14nl geeft 20% korting
R.Kreijveld
Component Creator - Werkwijze1.Maak nieuw component, kies Joomla
versie (2.5/3.2)
2.Voeg tabel(len) of lege view(s) toe
3.Per tabel: bepaal backend en frontend views, voeg kolommen toe in de tabel
4.Genereer component
R.Kreijveld
R.Kreijveld
R.Kreijveld
R.Kreijveld
R.Kreijveld
R.Kreijveld
R.Kreijveld
Bouw voorbeeld component• com_ipfilter
• Functie: beheer IP-adressen per gebruiker.
• Doel: gebruiker mag alleen inloggen vanaf het gekoppelde IP-adres (plugin).
• Component is een backend component, geen frontend views.
R.Kreijveld
Datamodel#__users#__users idid namename usernameusername emailemail passwordpassword … …
#__users#__users idid namename usernameusername emailemail passwordpassword … …
#__ipfilter_i#__ipfilter_ipp idid orderingordering statestate checked_outchecked_out checked_out_timechecked_out_time created_bycreated_by useriduserid ipadresipadres errorerror
#__ipfilter_i#__ipfilter_ipp idid orderingordering statestate checked_outchecked_out checked_out_timechecked_out_time created_bycreated_by useriduserid ipadresipadres errorerror
R.Kreijveld
com_ipfilter - werking1.Gebruiker logt in met login/password
2.Ip-adres in database? ja: 3 nee: 4
3.Ip-adres gebruiker = Ip-adres in database?ja: verder naar reguliere inlogverwerking, 4nee: exit met foutmelding
4.Controle login/password
R.Kreijveld
com_ipfilter
Demo bouw componentDemo werking component
R.Kreijveld
Controle IP-adres bij login?• Er bestaat een Joomla authenticatie
plugin.
• Deze plugin controleert Joomla login gegevens.
• Kunnen we deze plugin hergebruiken?
R.Kreijveld
plg_authentication_joomlaKloon naar plg_authentication_joomla_ip
Aanpassen plg_authentication_joomla_ip
Installatie plg_authentication_joomla_ip
De-publiceer plg_authentication_joomla
Publiceer plg_authentication_joomla_ip
R.Kreijveld
Finale• Test login met geldig ip-adres.
• Test login met ongeldig ip-adres.
R.Kreijveld
ipfilter component & plugin
Download component en plugin via:
http://www.rkrweb.nl/cc_jd14nl_unzip1st.zip
R.Kreijveld
Component Creator - plus• Snel en gemakkelijk component bouwen
• Uitgebreide list en edit views in backend
• List en detail view in frontend
R.Kreijveld
Component Creator - min• Geen many-to-many relaties mogelijk
• Zoeken en filteren in frontend standaard niet aanwezig
• Geavanceerde zaken als onBeforeSave events zelf bouwen
• Geen export/import
R.Kreijveld
Component Creator
http://www.component-creator.com/nl/maak-een-
account-aan
R.Kreijveld
Dankjewel!• http://about.me/
renekreijveld
• Twitter @renekreijveld
• Kortingcode jd14nl: 20% geldig tot 31 maart 2014
• slideshare.com/renekreijveld