1. Joomla 3 Component programmeren met RAD Peter Martin,
www.db8.nl. twitter: @pe7er Joomladagen.nl/2014 22+23 maart
2014
2. Joomladagen 2014Joomladagen 2014 Peter Martin Joomla website
specialist Marketing + Communicatie achtergrond & technische
affiniteit Vrijwilliger Joomla: Global Moderator Community
Leadership Team Open Coffee Nijmegen Linux User Group Nijmegen
Interesses: Open Source Software Linux sinds 2007 (Ubuntu Debian
Arch Linux Debian) Raspberry Pi Muziek (Vinyl) Filmhuisfilms
Website: www.db8.nl e-mail: [email protected] LinkedIn:
http://www.linkedin.com/in/pe7er Twitter: @pe7er
3. Joomladagen 2014Joomladagen 2014 Overzicht Presentatie
>>>Sheetsvia:www.db8.nl>Componentvia:https://github.com/pe7er/db8locate
automatisch functionaliteit Bootstrap, jQuery, JSON Hierarchical
MVC (HMCV) - toon component views op andere plaatsen (andere views,
componenten, modules)
11. Joomladagen 2014Joomladagen 2014 c) Joomla Component met
RAD
12. Joomladagen 2014Joomladagen 2014 c) Joomla Component met
RAD Werkomgeving Lokale webomgeving (LAMP/XAMP/MAMP) + phpMyAdmin
Joomla 3.2.x installatie Git (software versie beheer) + github.com
IDE voor PHP (Netbeans/Eclipse/weapon of choice)
13. Joomladagen 2014Joomladagen 2014 db8 locate component Doel:
Locaties beheren en op Google Map tonen Naam: db8 Locate
Componentnaam: com_db8locate Database tabelnaam:
#__db8locate_items
18. Joomladagen 2014Joomladagen 2014 1.3 basis component SQL
definitie Maak SQL installatie bestand:
/administrator/components/com_db8locate/
sql/install/mysql/install.sql install.sql bevat: CREATE TABLE,
tabelnaam in meervoud: #__db8locate_items ID field, veldnaam in
enkelvoud: componentnaam_enkelvoud-view_id: db8locate_item_id (in
Joomla: id) title PRIMARY KEY (`db8locate_item_id`) = ID field
19. Joomladagen 2014Joomladagen 2014 1.3 basis component SQL
definitie /
administrator/components/com_db8locate/sql/install/mysql/install.sql
CREATE TABLE IF NOT EXISTS `#__db8locate_items` (
`db8locate_item_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL, PRIMARY KEY (`db8locate_item_id`) )
DEFAULT CHARSET=utf8;
20. Joomladagen 2014Joomladagen 2014 1.4 basis component XML
manifest 1/2 /administrator/components/com_db8locate/db8locate.xml
db8 locatePeter Martin23 March 2014Copyright (C) 2014 Peter Martin
/ db8.nlGNU General Public License version
[email protected] to manage and display locations on a
Google Map sql/install/mysql/install.sql
sql/install/mysql/install.sql sql/install/mysql/install.sql
sql/install/mysql/install.sql
29. Joomladagen 2014Joomladagen 2014 2. taalbestand sys.ini
kort systeem taalbestand voor gebruik door Joomla Plaats in
/language/ map van db8locate component!
/administrator/components/com_db8locate/
language/en-GB/en-GB.com_db8locate.sys.ini COM_DB8LOCATE="db8
Locate" COM_DB8LOCATE_XML_DESCRIPTION="Component to manage and
display locations on a Google Map"
30. Joomladagen 2014Joomladagen 2014 2. taalbestand .ini
taalbestand voor gebruik in com_db8locate Plaats in /language/ map
in component! /administrator/components/com_db8locate/
language/en-GB/en-GB.com_db8locate.ini TIP: Debug Language &
verzamel vertaal labels COM_DB8LOCATE="db8 Locate"
COM_DB8LOCATE_TITLE_ITEMS="Location Items"
COM_DB8LOCATE_COMMON_NORECORDS="No Location Items"
COM_DB8LOCATE_TITLE_ITEMS_EDIT="Edit Location Items"
COM_DB8LOCATE_LOCATION_ITEM_EDIT="Location Items"
COM_DB8LOCATE_LBL_ITEM_SAVED="Location Item saved"
COM_DB8LOCATE_CONFIRM_DELETE="Delete Location Item?"
33. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten database
veld Veld enabled aan databasetabel toevoegen om publicatiestatus
op te slaan. ALTER TABLE `#__db8locate_items` ADD `enabled`
TINYINT( 3 ) NOT NULL DEFAULT '1';
34. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten lijst
/administrator/components/com_db8locate/views/items/tmpl/form.default.xml
Aan toevoegen: Aan toevoegen:
39. Joomladagen 2014Joomladagen 2014 4. volgorde database veld
Veld ordering aan databasetabel toevoegen om volgorde op te slaan.
ALTER TABLE `#__db8locate_items` ADD `ordering` INT( 11 ) NOT NULL
DEFAULT '0';
40. Joomladagen 2014Joomladagen 2014 4. volgorde lijst
/administrator/components/com_db8locate/views/items/tmpl/form.default.xml
Aan toevoegen: Aan toevoegen:
43. Joomladagen 2014Joomladagen 2014 5. categorien database
veld Veld catid aan databasetabel toevoegen om category_id op te
slaan. ALTER TABLE `#__db8locate_items` ADD `catid` INT( 10 )
UNSIGNED NOT NULL DEFAULT '0';
44. Joomladagen 2014Joomladagen 2014 5. categorien lijst
/administrator/components/com_db8locate/views/items/tmpl/form.default.xml
NB: xml bestand bevat hardcoded SQL voor MySQL moet eigenlijk model
Aan toevoegen: Aan toevoegen:
60. Joomladagen 2014Joomladagen 2014 8. meertaligheid database
veld Veld language aan databasetabel toevoegen om taalcode op te
slaan. ALTER TABLE `#__db8locate_items` ADD `language` CHAR( 7 )
NOT NULL DEFAULT '*';
61. Joomladagen 2014Joomladagen 2014 8. meertaligheid lijst
/administrator/components/com_db8locate/views/items/tmpl/form.default.xml
Aan toevoegen: Aan toevoegen:
65. Joomladagen 2014Joomladagen 2014 9. magic fields Nu in
component: enabled (state), ordering, Ook nog toevoegen aan
database: created_by, created_on(created), modified_by,
modified_on(modified), locked_by(checked_out),
locked_on(checked_out_time), hits In lijstweergave: created_by
& created_on In formulierweergave: alle velden
68. Joomladagen 2014Joomladagen 2014 10. tags formulier
/administrator/components/com_db8locate/views/item/tmpl/form.form.xml
Aan toevoegen:
69. Joomladagen 2014Joomladagen 2014 10. tags Helaas... werkt
niet... bug in Joomla t/m versie 3.2.3: Gebruik van com_tags alleen
mogelijk indien het component JTable gebruikt.
70. Joomladagen 2014Joomladagen 2014 11. eigen velden voor
db8locate
71. Joomladagen 2014Joomladagen 2014 11. db8locate database
veld Eigen voor deze applicatie specifieke velden aan databasetabel
toevoegen om op te slaan. ALTER TABLE `jos_db8locate_items` ADD
`location` VARCHAR( 60 ) NOT NULL , ADD `address` VARCHAR( 50 ) NOT
NULL , ADD `postcode` VARCHAR( 12 ) NOT NULL , ADD `city` VARCHAR(
50 ) NOT NULL , ADD `region` VARCHAR( 50 ) NOT NULL , ADD `country`
VARCHAR( 50 ) NOT NULL , ADD `latitude` VARCHAR( 10 ) NOT NULL ,
ADD `longitude` VARCHAR( 10 ) NOT NULL , ADD `website` VARCHAR( 100
) NOT NULL
73. Joomladagen 2014Joomladagen 2014 11. db8locate verdere
verbeteringen Nieuw SQL installatie script:
/administrator/components/com_db8locate/sql/install/mysql/install.sql
Indien verplichte velden niet ingevuld zijn, resulteert save in
wissen van nog niet opgeslagen velden... Edit formulier wordt te
lang in kolommen indelen
/administrator/components/com_db8locate/views/item/tmpl/form.form.xml
80. Joomladagen 2014Joomladagen 2014 13. meer views
81. Joomladagen 2014Joomladagen 2014 13. meer views Combineren
van XML & PHP
/components/com_db8locate/views/items/tmpl/default.php en dan
form.default.xml ophalen Bijv om te mixen met Google Maps
82. Joomladagen 2014Joomladagen 2014 13. meer views mixed php
& xml
83. Joomladagen 2014Joomladagen 2014 13. meer views Extra
(ingebouwde) uitvoermogelijkheden: &format=csv
administrator/index.php?option=com_db8locate&format=csv
&format=json
administrator/index.php?option=com_db8locate&format=json Media
files overrides