Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
Joomla! von Anja Ebersbach, Markus Glaser, Radovan Kubani
Das Handbuch für Einsteiger
Buch: Joomla!

Joomla!
496 S., mit CD, 29,90 Euro
Galileo Computing
ISBN 3-89842-632-7
gp Kapitel 22 Eine eigene Komponente
  gp 22.1 Die Installationsdateien
  gp 22.2 Die Darstellung im Frontend
  gp 22.3 Die Komponentenverwaltung
    gp 22.3.1 Die Listenansicht
    gp 22.3.2 Bearbeitungsmodus und Funktionen
    gp 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:

gp  pair_rank.xml Daten für die Installation.
gp  install.pair_rank.php Ein zusätzliches Installationsskript.
gp  uninstall.pair_rank.php Zusätzliche Information für die Deinstallation.
gp  pair_rank.php Ist für die Darstellung im Frontend zuständig.
gp  admin.pair_rank.php Enthält die Programmlogik für das Backend.
gp  admin.pair_rank.html.php Ist für die Darstellung im Backend zuständig.
gp  pair_rank. class.php Interface für den Zugriff auf die Datenbank.
gp  toolbar.pair_rank.php Einstellungen für die Toolbar.
gp  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


Galileo Computing

22.1 Die Installationsdateien  toptop

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
  
  Zum Katalog
Zum Katalog: Joomla!
Joomla!
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Joomla! 1.5 für Einsteiger






 NEU: Joomla! 1.5 -
 für Einsteiger


Zum Katalog: Einstieg in Joomla! - Das Video-Training






 Einstieg in Joomla! -
 Das Video-Training


Zum Katalog: CSS-Layouts






 CSS-Layouts


Zum Katalog: Webseiten erstellen für Einsteiger






 Webseiten erstellen
 für Einsteiger


Zum Katalog: Suchmaschinen-Optimierung für Webentwickler






 Suchmaschinen-Optimierung
 für Webentwickler


Zum Katalog: Professionelles Webdesign mit (X)HTML und CSS






 Professionelles Webdesign
 mit (X)HTML und CSS


Zum Katalog: Einstieg in osCommerce/xt:Commerce






 Einstieg in
 osCommerce/xt:Commerce


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





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