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 fortfährst.

Wenn du Joomla! bereits nutzt, hast du sicher schon festgestellt, dass Erweiterungen durch eine komprimierte Datei, welche alle für eine Installation und Deinstallation notwendigen Dateien enthält, installiert werden.

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

Hier sind einige auf diesem Dokument basierende Folien, die erklären wie, man grundlegende bis fortgeschrittene Joomla!-Komponenten erstellt.
Joomla! Basic Component Help
Joomla! Advance Component Help

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

Wichtig! Die Joomla-Entwickler begannen seit Version 3.8 mit der Änderung der Namen von Joomla-Klassen und 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 und deren Ort zu finden, 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 Komponente Hello World! arbeiten.

Zu Beginn erstelle bitte mit deinem bevorzugten Datei-Explorer einen Ordner für die Hello World! Komponente. Dieser Ordner kann überall in 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 Datei-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 die Komponente Hello World!
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 Komponente Hello World!

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 Komponente Hello World! 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 sehen, 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 Komponente Hello World! in der Administratorenansicht deiner Joomla-Installation unter Komponenten sichtbar ist.

Details zu den Dateien

admin/sql/updates/mysql/0.0.1.sql eine leere Datei, mit der die Schemaversion der Komponente com_helloworld initialisiert werden kann.

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 Dies ist eine XML-Datei (Manifest), die Joomla! mitteilt, wie unsere Komponente installiert werden soll.
2 site/helloworld.php Dies ist der Einstiegspunkt zum Seitenbereich der Komponente Hello World!
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 für die Administration der 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".