Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Installation
3 Frontend
4 Backend
5 Eine erste Webseite
6 Inhalte erstellen und verändern
7 Module, Mambots, Komponenten
8 Konfiguration von Joomla!
9 Eine Site aufbauen
10 Der Joomla!-Baukasten
11 Formulare: Facile Forms
12 Benutzer und Bereiche
13 Joomla! als Community-Treff
14 Forum: Simpleboard
15 Blog: WordPress
16 Wiki: MamboWiki
17 Noch mehr Kommunikation
18 Systemwartung
19 Weiterführende Themen
20 Eigene Erweiterungen schreiben
21 Mambots erstellen
22 Eine eigene Komponente
23 Troubleshooting
A Die Joomla!-API
B Glossar
C Inhalt der CD
Index
Index
Download: - ZIP, ca. 19,6 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / Joomla! | vor >>
Joomla! von Anja Ebersbach, Markus Glaser, Radovan Kubani Das Handbuch für Einsteiger
Joomla! 496 S., mit CD, 29,90 Euro Galileo Computing ISBN 3-89842-632-7 |
| Kapitel 22 Eine eigene Komponente
|  | 22.1 Die Installationsdateien
|  | 22.2 Die Darstellung im Frontend
|  | 22.3 Die Komponentenverwaltung
|  |  | 22.3.1 Die Listenansicht
|  |  | 22.3.2 Bearbeitungsmodus und Funktionen
|  |  | 22.3.3 Die Toolbar
# Kapitel 22 Eine eigene Komponente Komponenten sind wesentlich komplexere Elemente als Mambots oder Module. Neben der Darstellung im Frontend gibt es auch im Backend einen Manager und ein eigenes Menü. Zudem greifen Komponenten auf die Datenbank zu, so dass auch hier eine Schnittstelle geschaffen werden muss. Daher besteht eine Komponente in der Regel auch aus mehreren Dateien. Wir wollen im Folgenden eine Komponente entwickeln, in der Tanzpaare zusammen mit einem internen Turnierranking gespeichert werden können, so dass man sich immer die aktuelle Vereinswertung ansehen kann. Dazu benötigen wir die folgenden Dateien:
| pair_rank.xml Daten für die Installation.
| install.pair_rank.php Ein zusätzliches Installationsskript.
| uninstall.pair_rank.php Zusätzliche Information für die Deinstallation.
| pair_rank.php Ist für die Darstellung im Frontend zuständig.
| admin.pair_rank.php Enthält die Programmlogik für das Backend.
| admin.pair_rank.html.php Ist für die Darstellung im Backend zuständig.
| pair_rank. class.php Interface für den Zugriff auf die Datenbank.
| toolbar.pair_rank.php Einstellungen für die Toolbar.
| toolbar.pair_rank.html.php Ist für die Darstellung der Toolbar zuständig.
Wie Sie sehen, folgen die Dateinamen einem Schema. Die Komponente hat den Namen pair_rank. Vor diesen Namen werden, durch einen Punkt getrennt, die Aufgaben spezifiziert, und nach dem Namen steht noch ein html bei den Dateien, die für Darstellungen zuständig sind. Eine Ausnahme bildet die Datei für die Frontend-Darstellung. Die Dateien mit html, class und install bzw. uninstall im Namen sind optional, helfen uns aber, den Code übersichtlich zu halten. Bevor wir beginnen, sollten wir uns noch Gedanken über den Aufbau unserer Datenbasis machen. Die Tabelle #__pair_rank soll die folgenden Spalten enthalten:

Tabelle 22.1 Die Spalten der Datenbankeinträge

Spalte | Wert | Beschreibung
id | Integer | Eine fortlaufende Nummer zur eindeutigen Identifizierung des Datensatzes
pair | Text | Die Namen der Tänzer
points | Integer | Die Anzahl der Punkte
published | Small Integer | 1 für publiziert, 0 für versteckt
## 22.1 Die Installationsdateien Die XML-Datei, die die Installation beschreibt, enthält einige Tags, die wir bisher noch nicht verwendet hatten.
    1   <?xml version="1.0" encoding="UTF-8"?>
    2   <mosinstall type="component">
    3    <name>pair_rank</name>
    4    <files>
    5     <filename>pair_rank.php</filename>
    6    </files>
    7    <install>
    8     <queries>
    9      <query>DROP TABLE IF EXISTS '#__pair_rank';</query>
    10     <query>CREATE TABLE '#__pair_rank' (
    11           'id' INT NOT NULL AUTO_INCREMENT,
    12           'pair' TEXT NOT NULL,
    13           'points' SMALLINT NOT NULL,
    14           'published' TINYINT(1) NOT NULL,
    15            PRIMARY KEY ('id') );
    16     </query>
    17    </queries>
    18   </install>
    19   <uninstall>
    20    <queries>
    21     <query>DROP TABLE IF EXISTS '#__pair_rank';</query>
    22    </queries>
    23   </uninstall>
    24   <installfile>
    25    <filename>install.pair_rank.php</filename>
    26   </installfile>
    27   <uninstallfile>
    28    <filename>uninstall.pair_rank.php</filename>
    29   </uninstallfile>
    30   <administration>
    31    <menu>Pair Rank</menu>
    32    <submenu>
    33     <menu act="all">Manage</menu>
    34    </submenu>
    35    <files>
    36     <filename>admin.pair_rank.php</filename>
    37     <filename>admin.pair_rank.html.php</filename>
    38     <filename>pair_rank.class.php</filename>
    39     <filename>toolbar.pair_rank.php</filename>
    40     <filename>toolbar.pair_rank.html.php</filename>
    41    </files>
    42   </administration>
    43  </mosinstall>
Listing 22.1 pair_rank.xml Zu den Zeilen 1 – 6 ist lediglich anzumerken, dass der Eintrag type in Zeile 2 natürlich den Wert component haben muss. Die Zeilen 7 – 18, die mit <install>-Tags umschlossen sind, beschreiben in den <query>-Tags, welche SQL-Statements bei der Installation ausgeführt werden sollen. Damit werden die nötigen Datenstrukturen für unsere Komponente angelegt. In Zeile 9 wird die Tabelle gelöscht, falls sie bereits existiert. Das bedeutet auch, dass bei einer Neuinstallation von pair_rank die alten Daten verloren gehen. In den Zeilen 10 – 15 wird die Tabelle mit den oben besprochenen Spalten angelegt. In den Zeilen 19 – 23 (im <uninstall>-Tag) legen wir fest, was bei einer Deinstallation in der Datenbank passieren soll. In unserem Fall wird die Tabelle gelöscht (Zeile 21). Wenn Sie bei der Installation bzw. Deinstallation zusätzliche Aktionen ausführen möchten, so können Sie in den Tags <installfile> bzw. <uninstallfile> Dateien angeben, die den entsprechenden Code enthalten (Zeilen 24 – 26 bzw. 27 – 29). Damit können Sie beispielsweise auf Wunsch Beispieldaten installieren. Der Bereich <administration> legt die Daten für das Backend fest (Zeilen 30 – 42). Bestimmen Sie zunächst den Namen des Eintrags im Components-Menü mit <menu> (Zeile 31) und dann im <submenu>-Tag die Untermenüs (Zeilen 32 – 34). Hier können Sie im Attribut act einen Wert angeben, der später beim Aufruf an die Komponente übergeben wird. Danach folgt nach bekanntem Schema eine Liste der Dateien, die zur Administrationsseite der Komponente gehören (Zeilen 35 – 41). Das zusätzliche Installations- und Deinstallationsskript sieht in unserem Fall sehr bescheiden aus und könnte zur Not auch weggelassen werden. Dann müssen Sie allerdings auch die Zeilen 24 – 29 aus der XML-Datei löschen.
    1   <?php
    2   function com_install() {
    3     echo "Schön, dass Sie unsere Komponente benutzen";
    4   }
    5   ?>
Listing 22.2 install.pair_rank.php Wichtig ist lediglich, dass Ihr Skript bei der Installation eine Funktion com_install enthält. Für die Deinstallation können Sie den gleichen Code verwenden. Die Funktion muss hier com_uninstall heißen.
<< zurück | <top> | vor >>
Zum Katalog
Joomla! bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| NEU: Joomla! 1.5 - für Einsteiger
| Einstieg in Joomla! - Das Video-Training
| CSS-Layouts
| Webseiten erstellen für Einsteiger
| Suchmaschinen-Optimierung für Webentwickler
| Professionelles Webdesign mit (X)HTML und CSS
| Einstieg in osCommerce/xt:Commerce
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de