Difference between revisions of "Absolute Basics of How a Component Functions/de"
From Joomla! Documentation
(Updating to match new version of source page) |
|||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<noinclude><languages /></noinclude> | <noinclude><languages /></noinclude> | ||
− | + | Dieser Artikel ist für Joomla! Anfänger entworfen worden; er ist entworfen worden um zu erklären, was eine Joomla! Komponente ist und wie sie funktioniert. Falls das Tutorial von einem bestimmten Komponenten Beispiel profitiert wird dieser Artikel auf eine Beispiel-Komponente namens "Hello World!" verweisen. | |
==Was ist ein Joomlaǃ Komponente== | ==Was ist ein Joomlaǃ Komponente== | ||
− | {{Chunk:Component/ | + | {{Chunk:Component/de}} |
− | + | Im Joomla! Framework können Komponenten entworfen werden, die ein flaches Model (gibt den HTML-Code der angefragten Seite zurück) oder das Model-View-Controller (kurz MVC) Muster nutzen. | |
− | == | + | ==Einführung in MVC== |
− | MVC | + | MVC ist ein Entwurfsmuster in der Softwareentwicklung, welches genutzt werden kann um Code zu strukturieren und so Geschäftslogik und Datenpräsentation zu trennen. Die Prämisse hinter diesem Ansatz ist, dass wenn die Geschäftslogik in einem Bereich zusammengefasst ist, dann können die Benutzerschnittstelle und -interaktion, die die Daten umgeben, überarbeitet und angepasst werden, ohne das die Geschäftslogik umprogrammiert werden muss. Ursprünglich wurde MVC entwickelt, um die traditionellen Eingabe, Verarbeitung, Ausgabe - Rollen auf eine logische GUI-Archtiektur abzubilden. |
===Model=== | ===Model=== | ||
− | + | Das Model ist der Teil der Komponente, der die Daten der Anwendung kapselt. Es stellt Routinen bereit, um diese Daten in einer sinnvollen Art und Weise zu verwalten und zu manipulieren. Zusätzlich bietet es Routinen, um die Daten vom Model abzurufen. Generell sollte die zugrunde liegende Technik des Datenzugriffs im Model gekapselt sein. Auf diese Weise muss nur das Model geändert werden (und nicht die View oder der Controller), wenn die Anwendung von einem System welches statt Dateien die Datenbank nutzt um Informationen zu speichern, wechselt. | |
===View=== | ===View=== |
Revision as of 05:39, 20 January 2016
Dieser Artikel ist für Joomla! Anfänger entworfen worden; er ist entworfen worden um zu erklären, was eine Joomla! Komponente ist und wie sie funktioniert. Falls das Tutorial von einem bestimmten Komponenten Beispiel profitiert wird dieser Artikel auf eine Beispiel-Komponente namens "Hello World!" verweisen.
Was ist ein Joomlaǃ Komponente
Eine Komponente ist eine Art von Joomla! Erweiterung. Komponenten sind die Haupt-Funktionseinheiten von Joomla!; sie können auch als Mini-Applikationen gesehen werden. Eine einfache Analogie sieht Joomla! als das Betriebssystem und die Komponenten als die Desktopanwendungen. Inhalte werden normalerweise von einer Komponente erzeugt und in der Mitte des Inhaltsbereichs eines Templates angezeigt (abhängig vom Template).
Die meisten Komponenten haben zwei Hauptbestandteile: einen Administrationsbereich und einen Site-Bereich. Der Site-Bereich wird genutzt, um Seiten anzuzeigen, wenn sie von Besuchern während des normalen Betriebs der Website angefordert werden. Der Administrationsbereich bietet eine Schnittstelle, um die verschiedenen Aspekte der Komponente zu konfigurieren und zu verwalten. In den Administrationsbereich gelangt man mit Hilfe der Joomla! Administrationsanwendung.
Joomla! wird mit einer Reihe von Basis-Komponenten, wie die Inhaltsverwaltung, Kontaktformulare und Weblinks, ausgeliefert.
Siehe auch: Module, Plugin, Template
Im Joomla! Framework können Komponenten entworfen werden, die ein flaches Model (gibt den HTML-Code der angefragten Seite zurück) oder das Model-View-Controller (kurz MVC) Muster nutzen.
Einführung in MVC
MVC ist ein Entwurfsmuster in der Softwareentwicklung, welches genutzt werden kann um Code zu strukturieren und so Geschäftslogik und Datenpräsentation zu trennen. Die Prämisse hinter diesem Ansatz ist, dass wenn die Geschäftslogik in einem Bereich zusammengefasst ist, dann können die Benutzerschnittstelle und -interaktion, die die Daten umgeben, überarbeitet und angepasst werden, ohne das die Geschäftslogik umprogrammiert werden muss. Ursprünglich wurde MVC entwickelt, um die traditionellen Eingabe, Verarbeitung, Ausgabe - Rollen auf eine logische GUI-Archtiektur abzubilden.
Model
Das Model ist der Teil der Komponente, der die Daten der Anwendung kapselt. Es stellt Routinen bereit, um diese Daten in einer sinnvollen Art und Weise zu verwalten und zu manipulieren. Zusätzlich bietet es Routinen, um die Daten vom Model abzurufen. Generell sollte die zugrunde liegende Technik des Datenzugriffs im Model gekapselt sein. Auf diese Weise muss nur das Model geändert werden (und nicht die View oder der Controller), wenn die Anwendung von einem System welches statt Dateien die Datenbank nutzt um Informationen zu speichern, wechselt.
View
The view is the part of the component that is used to render the data from the model in a manner that is suitable for interaction. For a web-based application, the view would generally be an HTML page that is returned to the user. The view pulls data from the model (which is passed to it from the controller) and feeds the data into a template which is populated and presented to the user. The view does not cause the data to be modified in any way, it only displays the data received from the model.
Steuerung
The controller is responsible for responding to user actions. In the case of a web application, a user action is generally a page request. The controller will determine what request is being made by the user and respond appropriately by triggering the model to manipulate the data appropriately and passing the model into the view. The controller does not display the data in the model, it only triggers methods in the model which modify the data, and then pass the model into the view which displays the data.
Joomla! Das Komponenten-Framework, erklärt
Model
Im Joomlaframework sind die Models verantwortlich für die Datenverwaltung. Die erste Funktion, die für ein Model geschrieben werden muss, ist die "get-Funktion". Sie gibt Daten zurück an den Aufrufer. Für dieses Beispiel der Aufrufer ist die "HelloWorldViewHelloWorld" Ansicht. Standardmäßig ist das Model "HelloWorldModelHelloWorld", welches unter site/models/helloworld.php zu finden ist, das wichtigste Model für diese Ansicht.
So let's have a quick look at the naming conventions with an example, since the naming convention are the actual magic, that make everything work:
The class HelloWorldViewHelloWorld resides in site/views/helloworld/view.html.php and will make use of the class HelloWorldModelHelloWorld in the file site/models/helloworld.php
Do let's just assume we want to use an imaginary view fluffy, you would have to have:
The class HelloWorldViewFluffy which resides in site/views/fluffy/view.html.php. The view will make use of HelloWorldModelFluffy in the file site/models/fluffy.php. Note: the actual screen of the view: site/views/fluffy/tmpl/default.php is required as well to make this example work.
Brechen mit dieser Konventionen führt zu Fehlern oder einer leere Seite.
Zugriff auf eine Joomlaǃ Komponente
First we need to access the Joomla! platform, which is always accessed through a single point of entry. Using your preferred web browser, navigate to the following URL:
1 | Benutzer Zugang | <deineDomain>/joomla/index.php |
2 | Administrator-Zugang | <deinedomain>/joomla/administrator/index.php |
"Hallo Welt!"- Beispiel: localhost/joomla/index.php
Sie können die Url der Komponente, oder eine Menu nutzen, um zur Komponente zu navigieren. In diesem Artikel werden wir die Möglichkeit der Url besprechen.
1 | Benutzer Zugang | <deine Seite>/joomla/index.php?option=com_<component_name> |
2 | administrator Zugriff | <deine Seite>/joomla/administrator/index.php?option=com_<component_name> |
Hallo Welt! Beispiel: localhost/joomla/index.php?option=com_helloworld
MVC-Basis Verzeichnis Struktur
Komponenten liegen in einem Verzeichnis Ihrer Joomla-Installation. Genau gesagt in htdocs/<PfadzuJoomla>/komponenten/com_<komponenten_name>/
Die Hallo Welt! Komponente wurde gespeichert in htdocs/<path_to_joomla>/Komponenten/com_helloworld/.
Eine Grundkomponente enthält die folgenden Dateien in ihrem Verzeichnis:
- A html file that is just a security file with a background colorː index.html
- A php file that represents the controller itselfː controller.php
- A php file that loads the controller classː <component_name>.php
- A php file that represents the model itselfː models/<component_name>.php
- Another html file for background controlː models/index.html
- A php file containing the default viewː views/<component_name>/tmpl/default.php
- A xml file for adding a menu item typeː views/<component_name>/tmpl/default.xml
- Another html file for background controlː views/<component_name>/tmpl/index.html
- Another html file for background controlː views/<component_name>/index.html
- A php file for displaying the viewː views/<component_name>/view.html.php
JEXEC
The following line is commonly found at the start of Joomla! PHP files:
<?php
defined('_JEXEC') or die('Restricted Access');
This enables for a secure entry point into the Joomla! platform. JEXEC contains a detailed explanation.
Tutorials on Designing a MVC Component
To learn how to design your own MVC Component, please complete the tutorial for your Joomla! version.