joomla 3 component programmeren met rad - joomladagen 2014
TRANSCRIPT
- 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)
- 10. Joomladagen 2014Joomladagen 2014 1. basis component (back-end) 1.Entry point /administrator/components/com_db8locate/db8locate.php 2.Dispatcher /administrator/components/com_db8locate/fof.xml 3.SQL definitie van database tabel(len) /administrator/components/com_db8locate/sql/install/mysql/install.sql 4.XML installatie manifest /administrator/components/com_db8locate/db8locate.xml 5.View: lijst /administrator/components/com_db8locate/views/items/tmpl/form.default.xml 6.View: formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml 7.Taalbestanden /administrator/components/com_db8locate/language/en-GB/ en-GB.com_db8locate.sys.ini + en-GB.com_db8locate.ini
- 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
- 14. Joomladagen 2014Joomladagen 2014 1. basis component (back-end)
- 15. Joomladagen 2014Joomladagen 2014 1. basis component (back-end) 1.Entry point /administrator/components/com_db8locate/db8locate.php 2.Dispatcher /administrator/components/com_db8locate/fof.xml 3.SQL definitie van database tabel(len) /administrator/components/com_db8locate/sql/install/mysql/install.sql 4.XML installatie manifest /administrator/components/com_db8locate/db8locate.xml 5.View: lijst /administrator/components/com_db8locate/views/items/tmpl/form.default.xml 6.View: formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml
- 16. Joomladagen 2014Joomladagen 2014 1.1 basis component entry point /administrator/components/com_db8locate/db8locate.php 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
- 21. Joomladagen 2014Joomladagen 2014 1.4 basis component XML
manifest 2/2 /administrator/components/com_db8locate/db8locate.xml
- COM_DB8LOCATE
- 22. Joomladagen 2014Joomladagen 2014 1.5 basis component view lijst /administrator/components/com_db8locate/views/items/tmpl/form.default.xml
- 23. Joomladagen 2014Joomladagen 2014 1.6 basis component view formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml
- 24. Joomladagen 2014Joomladagen 2014 1. basis component installatie Via Extensions > Extension Manager > Discover
- 25. Joomladagen 2014Joomladagen 2014 1. basis component (back-end) Lijst weergave
- 26. Joomladagen 2014Joomladagen 2014 1. basis component (back-end) Formulier weergave
- 27. Joomladagen 2014Joomladagen 2014 1. basis component (back-end) Lijstweergave na paar keer new & save
- 28. Joomladagen 2014Joomladagen 2014 2. taalbestand
- 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?"
- 31. Joomladagen 2014Joomladagen 2014 2. taalbestand
- 32. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten
- 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:
- 35. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten
- 36. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml Aan toevoegen: JPUBLISHED JUNPUBLISHED
- 37. Joomladagen 2014Joomladagen 2014 3. aan/uitzetten formulier
- 38. Joomladagen 2014Joomladagen 2014 4. volgorde
- 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:
- 41. Joomladagen 2014Joomladagen 2014 4. volgorde
- 42. Joomladagen 2014Joomladagen 2014 5. categorien
- 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:
- 45. Joomladagen 2014Joomladagen 2014 5. categorien lijst
- 46. Joomladagen 2014Joomladagen 2014 5. categorien formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml Aan toevoegen:
- 47. Joomladagen 2014Joomladagen 2014 5. categorien formulier
- 48. Joomladagen 2014Joomladagen 2014 5. categorien toolbar /administrator/components/com_db8locate/toolbar.php
- 54. Joomladagen 2014Joomladagen 2014 6. toegangsniveaus applicatie 2/2 /administrator/components/com_db8locate/access.xml
- 55. Joomladagen 2014Joomladagen 2014 6. toegangsniveaus 2. (Front-end) toegang tot database items
- 56. Joomladagen 2014Joomladagen 2014 6. toegangsniveaus lijst
- 57. Joomladagen 2014Joomladagen 2014 7. parameters
- 58. Joomladagen 2014Joomladagen 2014 7. parameters /administrator/components/com_db8locate/config.xml via Components > db8 locate > categories > [options]
- 59. Joomladagen 2014Joomladagen 2014 8. meertaligheid
- 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:
- 62. Joomladagen 2014Joomladagen 2014 8. meertaligheid formulier /administrator/components/com_db8locate/views/item/tmpl/form.form.xml Aan toevoegen: JALL
- 63. Joomladagen 2014Joomladagen 2014 8. meertaligheid lijst
- 64. Joomladagen 2014Joomladagen 2014 9. magic fields
- 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
- 66. Joomladagen 2014Joomladagen 2014 10. tags
- 67. Joomladagen 2014Joomladagen 2014 10. tags #__tags tabel: opslag van tags, bijv: id title 4 Joomla 5 Linux #__contentitem_tag_map tabel: koppeling van content items aan tags type_alias core_content_id content_item_id tag_id type_id com_content.article 1 1 2 1 com_content.article 1 1 3 1 com_content.article 3 2 4 1 com_content.article 3 2 5 1 com_weblinks.weblink 2 1 4 2 com_weblinks.weblink 2 1 5 2
- 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
- 72. Joomladagen 2014Joomladagen 2014 11. db8locate lijst
- 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
- 74. Joomladagen 2014Joomladagen 2014 12. front-end
- 75. Joomladagen 2014Joomladagen 2014 12. front-end basis component 1.Entry point /components/com_db8locate/db8locate.php 2.View: lijst /components/com_db8locate/views/items/tmpl/form.default.xml /components/com_db8locate/views/items/metadata.xml > voor menu items 3.View: detailpagina /components/com_db8locate/views/item/tmpl/form.item.xml /components/com_db8locate/views/item/metadata.xml > voor menu items 4.Language files /components/com_db8locate/language/en-GB/en-GB.com_db8locate.ini
- 76. Joomladagen 2014Joomladagen 2014 12. front-end view lijst /components/com_db8locate/views/items/tmpl/form.default.xml
- 77. Joomladagen 2014Joomladagen 2014 12. front-end view lijst
- 78. Joomladagen 2014Joomladagen 2014 12. front-end view details /components/com_db8locate/views/item/tmpl/form.item.xml
- 79. Joomladagen 2014Joomladagen 2014 12. front-end view details
- 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