Het ontwikkelen van een MVC Component - De ontwikkeling van een eenvoudige component
From Joomla! Documentation
< J3.x:Developing an MVC Component
Artikelen in deze reeks
Het toevoegen van een menu aan de website
Het toevoegen van een model aan de website
Een 'variable request' toevoegen in het menu type
De database gebruiken
Basis beheergedeelte
Het toevoegen van taalbeheer
Het toevoegen van acties in het beheergedeelte
Het toevoegen van decoraties aan het beheergedeelte
Het toevoegen van controles
Het toevoegen van categorieën
Het toevoegen van configuratie
Het toevoegen van een installatie/deïnstallatie/update script-bestand
Een formulier op de website toevoegen
Het gebruik van de taal filterfunctie
- Een modaal venster toevoegen
- Het toevoegen van associaties
- Het toevoegen van uitchecken
- Het toevoegen van volgorde
- Het toevoegen van niveaus
- Het toevoegen van versies
- Het toevoegen van tags
- Het toevoegen van rechten
- Het toevoegen van batch-proces
- Het toevoegen van cache
- Het toevoegen van een feed
Het toevoegen van een update-server
Dit is een reeks van artikelen met handleidingen over het ontwikkelen van een Model-View-Controller Component voor Joomla! versie.
Begin met de Introductie en navigeer door de artikelen van de reeks door middel van de navigatieknop onderaan of het vak rechts (Artikelen in deze reeks).
Toelichting
Deze handleiding is een onderdeel van de Het ontwikkelen van een MVC Component voor Joomla! 3.x tutorial. Het is aan te bevelen om eerst de voorgaande delen te lezen, alvorens hiermee te beginnen.
Als u Joomla! heeft gebruikt voor het lezen van deze handleiding, heeft u gemerkt dat extensies worden geïnstalleerd met behulp van een gecomprimeerd bestand waar alle dingen die nodig zijn voor het installeren en verwijderen van de extensie, in aanwezig zijn.
U kunt de volgende stappen volgen voor het maken van de Hello World! component, of u kunt de bestanden rechtstreeks downloaden van het git repository archief
Hier zijn enkele slides gebaseerd op dit document die verklaren hoe u een eenvoudig tot geavanceerd Joomla! component maakt.
Joomla! Basic Component Help
Joomla! Advance Component Help
Er zijn ook een aantal videos die de stappen van deze handleiding bevatten, om te beginnen met
Stap 1, Ontwikkeling van een eenvoudig component en u kunt de slides die in de videopresentatie gebruikt worden bekijken op Slides.
Belangrijk! Rond versie 3.8 zijn de Joomla ontwikkelaars begonnen de namen van Joomla classes te veranderen en de plek waar ze bewaard worden in de mappenstructuur. Veel van de handleicing stappen verwijzen naar de oude naamconventies. Kijk, voor de gelijke nieuwe class en waar hij wordt opgeslagen in uw libraries/classmap.php bestand.
Hoe een component aan Joomla! toevoegen
In dit artikel wordt behandeld hoe een eenvoudig Joomla! component gemaakt en geïnstalleerd wordt. In dit voorbeeld werken we met de Hello World! component.
Om te beginnen maakt u eerst een map voor de Hello World! component met de bestandsmanager van uw voorkeur. Deze map kan overal op uw bestandsysteem staan zolang het maar niet in de map is waarin Joomla geïnstalleerd is. In dit voorbeeld krijgt de map de naam com_helloworld, maar de naam van de map kan van alles zijn.
Vervolgens moeten er enkele bestanden in deze map gemaakt worden. Gebruik de bestandsmanager van uw voorkeur om de volgende bestanden te maken; voeg tijdens het maken van de bestanden de broncode toe voor elk bestand, u vindt deze in de Bestandsgegevens.
1 | helloworld.xml | dit is een XML (manifest) bestand dat Joomla! vertelt hoe de component geïnstalleerd moet worden. |
2 | site/helloworld.php | dit is de site toegang tot de Hello World! component |
3 | site/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
4 | admin/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
5 | admin/helloworld.php | dit is de administrator toegang tot de Hello World! component |
6 | admin/sql/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
7 | admin/sql/updates/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
8 | admin/sql/updates/mysql/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
9 | admin/sql/updates/mysql/0.0.1.sql | bestand die het initialiseren van de schema versie van de component com_helloworld mogelijk maakt |
Installeren van de Hello World! component
Maak met de bestandsmanager van uw voorkeur een .zip bestand van deze map. In dit voorbeeld noemen we het bestand com_helloworld.zip, nogmaals het bestand kan iedere naam hebben.
Nu gaan we de Hello World! component installeren. Er zijn twee manieren waarop dit kan, beiden worden behandeld in Installeren van een extensie. Hier behandelen we de methode via extensiebeheer van Joomla!.
- Navigeer naar het administratiepaneel van uw Joomla! site met de webbrowser van uw voorkeur. Het adres zou zijn <uwsite>/joomla/administrator/index.php. In dit voorbeeld gaan we naar localhost/joomla/administrator/index.php.
- Klik Extensies → Beheer → Installeren → Upload pakketbestand → Kies bestand
- Navigeer en selecteer bestand
- Klik Uploaden & Installeren
Opmerking - U ziet een bericht dat u laat weten of de installatie geslaagd danwel mislukt is.
U kunt deze basisfuncties van de component testen door naar de Hello World! pagina van de site en administrator gedeelten te gaan van uw Joomla! website.
- Navigeer met gebruik van de webbrowser van uw voorkeur naar de Hello World! component pagina op het site-gedeelte van uw website. Het adres zou zijn <uwsite>/joomla/index.php?option=com_helloworld. In dit voorbeeld gaan we naar localhost/joomla/index.php?option=com_helloworld.
- Navigeer met gebruik van de webbrowser van uw voorkeur naar de Hello World! component pagina op het administrator-gedeelte van uw website. Het adres zou zijn <uwsite>/joomla/administrator/index.php?option=com_helloworld. In dit voorbeeld gaan we naar localhost/joomla/administrator/index.php?option=com_helloworld.
U kunt ook zien dat de Hello World! component zichtbaar is op de administrator site van uw Joomla installatie onder de Componenten menu.
Bestandsgegevens
admin/sql/updates/mysql/0.0.1.sql is een leeg bestand die het mogelijk maakt de schema versie van de com_helloworld te initialiseren.
helloworld.xml
<?xml version="1.0" encoding="utf-8"?>
<extension type="component" version="3.0" method="upgrade">
<name>Hello World!</name>
<!-- The following elements are optional and free of formatting constraints -->
<creationDate>January 2018</creationDate>
<author>John Doe</author>
<authorEmail>john.doe@example.org</authorEmail>
<authorUrl>http://www.example.org</authorUrl>
<copyright>Copyright Info</copyright>
<license>License Info</license>
<!-- The version string is recorded in the components table -->
<version>0.0.1</version>
<!-- The description is optional and defaults to the name -->
<description>Description of the Hello World component ...</description>
<update> <!-- Runs on update; New since J2.5 -->
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
<!-- Site Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /site/ in the package -->
<files folder="site">
<filename>index.html</filename>
<filename>helloworld.php</filename>
</files>
<administration>
<!-- Administration Menu Section -->
<menu link='index.php?option=com_helloworld'>Hello World!</menu>
<!-- Administration Main File Copy Section -->
<!-- Note the folder attribute: This attribute describes the folder
to copy FROM in the package to install therefore files copied
in this section are copied from /admin/ in the package -->
<files folder="admin">
<!-- Admin Main File Copy Section -->
<filename>index.html</filename>
<filename>helloworld.php</filename>
<!-- SQL files section -->
<folder>sql</folder>
</files>
</administration>
</extension>
site/helloworld.php
Hello World
admin/helloworld.php
Hello World administration
index.html
normaal voor alle mappen
<html><body bgcolor="#FFFFFF"></body></html>
Component inhoud
Op dit moment in de handleiding zou uw component de volgende bestanden moeten bevatten:
1 | helloworld.xml | dit is een XML (manifest) bestand dat Joomla! vertelt hoe de component geïnstalleerd moet worden. |
2 | site/helloworld.php | dit is de site toegang tot de Hello World! component |
3 | site/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
4 | admin/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
5 | admin/helloworld.php | dit is de administrator toegang tot de Hello World! component |
6 | admin/sql/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
7 | admin/sql/updates/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
8 | admin/sql/updates/mysql/index.html | voorkomt dat de server de inhoud van de map in een lijst weergeeft |
9 | admin/sql/updates/mysql/0.0.1.sql | bestand die het initialiseren van de schema versie van de component com_helloworld mogelijk maakt |
Er is een bijgewerkte git repository beschikbaar volgens deze handleiding @ https://github.com/Stevec4/Joomla-HelloWorld Maak voor verschillen in code of bewerkingen een pull request aan.