J3.x

Developing an MVC Component/Developing a Basic Component/de: Difference between revisions

From Joomla! Documentation

Xadomir (talk | contribs)
Created page with "S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction|Zurück: Einführung"
Xadomir (talk | contribs)
Created page with "S:MyLanguage/J3.x:Developing_an_MVC_Component/Adding_a_view_to_the_site_part|Weiter: Erstelle eine Ansicht für den Seitenbereich"
Line 210: Line 210:
<div class="row">  
<div class="row">  
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction|Zurück: Einführung|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Introduction|Zurück: Einführung|class=expand success}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Adding_a_view_to_the_site_part|Next: Adding a view to the site part|class=expand}}</div>
<div class="large-6 columns">{{Basic button|S:MyLanguage/J3.x:Developing_an_MVC_Component/Adding_a_view_to_the_site_part|Weiter: Erstelle eine Ansicht für den Seitenbereich|class=expand}}</div>
</div>
</div>
__NOTOC__
__NOTOC__

Revision as of 10:24, 18 June 2019

Joomla! 
3.x
Tutorial
Entwicklung einer MVC Komponente

Hinzufügen einer variablen Anfrage zum Menütyp

Benutzung der Datenbank

Backend-Grundlagen

Hinzufügen von Sprachen

Hinzufügen von Aktionen im Backend

Hinzufügen von Dekorationen zum Backend

Hinzufügen von Validierungen

Hinzufügen von Kategorien

Hinzufügen einer Konfiguration

  1. Hinzufügen von ACL

Hinzufügen eines Installations-/Deinstallations-/Aktualisierungs-Skriptes

Hinzufügen eines Formulars im Frontend

  1. Hinzufügen von Bildern
  2. Hinzufügen von Karten
  3. Hinzufügen von AJAX
  4. Hinzufügen eines Alias

Benutzung des Sprachenfilters

  1. Hinzufügen von Modalen
  2. Hinzufügen von Verknüpfungen
  3. Hinzufügen der Freigabe/Sperrung von Elementen
  4. Hinzufügen von Sortierungen
  5. Hinzufügen von Ebenen
  6. Hinzufügen von Versionen
  7. Hinzufügen von Schlagwörtern (Tags)
  8. Hinzufügen von Zugriffsebenen
  9. Hinzufügen von Stapelverarbeitungen
  10. Hinzufügen eines Cache-Speichers
  11. Hinzufügen eines Feeds

Hinzufügen eines Aktualisierungs-Servers

  1. Adding Custom Fields
  2. Upgrading to Joomla4



Dies ist eine Artikel-Serie mit Tutorials über die Entwicklung einer Modal-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.
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".