J3.x

Entwicklung der Basis Komponente

From Joomla! Documentation

< J3.x:Developing an MVC Component
This page is a translated version of the page J3.x:Developing an MVC Component/Developing a Basic Component and the translation is 100% complete.

Other languages:
العربية • ‎Deutsch • ‎English • ‎español • ‎français • ‎Nederlands • ‎português do Brasil • ‎русский • ‎中文(中国大陆)‎
Joomla! 
3.x
Tutorial
Entwicklung einer MVC Komponente


Dies ist eine Artikel-Serie mit Tutorials über die Entwicklung einer Model-View-Controller Komponente für Joomla! VersionJoomla 3.x.

Beginne mit der Einführung und navigiere durch die Artikel dieser Serie mit Hilfe des Buttons am Ende der Seite oder der Box auf der rechten Seite ("Artikel in dieser Serie").



Info

Dieses Tutorial ist ein Teil der Entwicklung einer MVC Komponente für Joomla! 3.x Artikel-Serie. Es ist sinnvoll die vorherigen Teile des Tutorials zu lesen bevor du hier fortfährst.

Wenn du Joomla! nutzt bevor du dieses Tutorial ließt, wirst du feststellen das Erweiterungen durch eine komprimierte Datei, welche all die Dinge die für eine Installation und Deinstallation enthält, installiert werden.

Wenn du die nachfolgenden Schritte durcharbeitest, kannst du selbst deine eigene Hello World! Komponente erstellen oder kannst die Dateien direkt vom Git Repository Archiv herunterladen.

hier sind einige Folien basierend auf diesem Dokument die erklären wie man grundlegende bis erweitere Joomla! Komponenten erstellt.
Joomla! Basic Component Help
Joomla! Advance Component Help

Des Weiteren eine Reihe von Videos welche die Schritte im Tutorial begleiten, beginnend mit:
Schritt 1, Entwickle eine einfache Kompontente (en) Zugriff auf die in der Videoserie verwendeten Folien findest du unter: Folien.

Wichtig! Die Joomla Entwickler begannen seit Version 3.8 die Änderung der Namen von Joomla Klassen und dem Ort der Verzeichnisstruktur in der sie liegen. Viele der Schritte im Tutorial und den Videos verweisen auf veraltete Namenskonventionen. Um das passende Äquivalent der neuen Klasse und wo sie liegt finden zu können, schaue in deine libraries/classmap.php Datei.

Wie du eine eigene Komponente zu Joomla! hinzufügst

In diesem Artikel zeigen wir dir wie du eine Basis-Komponente für Joomla! erstellst und anschließend installierst. Für dieses Beispiel werden wir mit der Hello World! Komponente arbeiten.

Zu Beginn erstelle bitte mit deinem bevorzugten Datei-Explorer einen Ordner für die Hello World! Komponente. Dieser Ordner kann überall auf deinem Dateisystem sein, er muss nur außerhalb deines Joomla! Installationsverzeichnisses sein. Für dieses Beispiel geben wir dem neuen Ordner den Namen com_helloworld, aber grundsätzlich kann der Ordner auch jeden beliebigen anderen Namen besitzen.

Als nächstes müssen wir innerhalb des gerade erstellten Verzeichnisses einige Dateien anlegen. Lege die folgenden Dateien an und schreibe den jeweiligen Source-Code für jede Datei. Den jeweiligen Code findest du hier File Details.

1 helloworld.xml Das ist eine XML-Datei (Manifest), welche Joomla! sagt wo deine Komponente installiert werden soll.
2 site/helloworld.php Das ist der Einstiegspunkt der Seite für deine Hello World! Komponente
3 site/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
4 admin/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
5 admin/helloworld.php Das ist der Einstiegspunkt der Administration für die Hello World! Komponente.
6 admin/sql/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
7 admin/sql/updates/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
8 admin/sql/updates/mysql/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
9 admin/sql/updates/mysql/0.0.1.sql Datei, mit der die Schemaversion der Komponente com_helloworld initialisiert werden kann.

Installation der Hello World! Komponente

Erstelle mit deinem bevorzugten Datei-Explorer ein Zip-Archiv aus diesem Verzeichnis. Für dieses Beispiel nennen wir die Datei com_helloworld.zip. Und wieder der Hinweis der Name dieser Datei kann beliebig gewählt werden.

Jetzt sind wir bereit die Hello World! Komponente zu installieren. Es gibt zwei Wege dies zu tun. Beide sind erklärt in: Installation einer Erweiterung. Hier nutzen wir die Methode über die Erweiterungs-Verwaltung von Joomla!.

  • Benutze deinen bevorzugten Browser und navigiere zur Administrationsansicht deiner Joomla! Seite. Die Adresse wird folgende sein: <DeineSeite>/joomla/administrator/index.php. Für dieses Beispiel navigieren nun auf localhost/joomla/administrator/index.php.
  • Klicke auf Erweiterungen    Verwalten    Installieren    Paketdatei hochladen    Datei auswählen
  • Suche und wähle die Datei
  • Klicke auf Hochladen und Installieren

Hinweis - Du solltest eine Nachricht lesen können, ob die Installation erfolgreich oder fehlgeschlagen ist.

Du kannst die grundlegenden Funktionen der Komponente überprüfen indem du die Hello World! Seite für den Administrator- oder Seitenbereich eingibst.

  • Nutze deinen bevorzugten Browser und navigiere zur Hello World! Komponentenseite deiner Website. Die Adresse wäre: <DeineSeite>/joomla/index.php?option=com_helloworld. Für dieses Beispiel navigieren wir also zu: localhost/joomla/index.php?option=com_helloworld.
  • Nutze deinen bevorzugten Browser und navigiere zur Hello World! Komponentenseite deines Administrationsabschnittes. Die Adresse wäre: <DeineSeite>/joomla/administrator/index.php?option=com_helloworld. Für dieses Beispiel navigieren wir also zu: localhost/joomla/administrator/index.php?option=com_helloworld.

Du wirst weiterhin bemerken das die Hello World! Komponente in der Administratorenansicht deiner Joomla-Installation unter Komponenten sichtbar ist.

Details zu den Dateien

admin/sql/updates/mysql/0.0.1.sql ist eine leere Datei die es erlaubt die Schemaversion der com_helloworld Komponente zu initialisieren.

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

Übliche Datei in allen Ordnern.

<html><body bgcolor="#FFFFFF"></body></html>


Inhalte der Komponente

An diesem Punkt der Übung sollte deine Komponente folgende Dateien enthalten:

1 helloworld.xml Das ist eine XML-Datei (Manifest), welche Joomla! sagt wo deine Komponente installiert werden soll.
2 site/helloworld.php Das ist der Einstiegspunkt der Seite für deine Hello World! Komponente
3 site/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
4 admin/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
5 admin/helloworld.php Das ist der Einstiegspunkt der Administration für die Hello World! Komponente.
6 admin/sql/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
7 admin/sql/updates/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
8 admin/sql/updates/mysql/index.html Hindert den Webserver daran den Verzeichnisinhalt aufzulisten.
9 admin/sql/updates/mysql/0.0.1.sql Datei, mit der die Schemaversion der Komponente com_helloworld initialisiert werden kann.
Info non-talk.png
General Information

Ein aktualisiertes Git-Repository, das diesem Tutorial folgt, ist verfügbar unter https://github.com/Stevec4/Joomla-HelloWorld Bei Code Unstimmigkeiten oder Änderungen erstelle bitte ein "Pull Request".