22.2 Die Darstellung im Frontend
 
Wenn unsere Komponente im Frontend aufgerufen wird, so soll eine Tabelle ausgegeben werden, die das aktuelle Ranking so ausgibt, dass das beste Paar an erster Stelle steht. Die nötigen Werkzeuge dazu haben Sie bereits kennen gelernt.
1 <?php
2 defined( '_VALID_MOS' ) or die( 'Direct Access to this
3 script is not allowed');
4 $query = 'SELECT * FROM #__pair_rank '
5 .'WHERE published="1" ORDER BY points DESC';
6 $database->setQuery( $query );
7 $rows = $database->loadObjectList();
8 echo '<div align="center"><table width="50%">';
9 foreach($rows as $row)
10 {
11 echo '<tr><td bgcolor="#DDDDDD"> '
12 .$row->pair.'</td>';
13 echo '<td style='
14 .'"border:1px solid #DDDDDD;text-align:right">'
15 .$row->points.' </td></tr>';
16 }
17 echo '</table></div>';
18 ?>
Listing 22.3 pair_rank.php
Nach der üblichen Sicherheitsabfrage wird in den Zeile 4 – 5 das SQL-Statement festgelegt. Es ist so gestaltet, dass nur publizierte Datensätze ausgegeben werden. Die Ausgabe erfolgt nach der Spalte points in absteigender Reihenfolge. Dann wird die Abfrage geladen (Zeile 6) und ausgeführt (Zeile 7). Die Zeilen 8 bis 17 geben mittig eine Tabelle aus. Die Reihen werden in einer foreach-Schleife erzeugt (Zeilen 9 – 16), die alle Datensätze durchläuft und ausgibt. Die Ausgabe erfolgt in zwei Spalten (Zeilen 11/12 und 13 – 15). Die erste ist grau hinterlegt und enthält die Namen des Paares, die zweite hat einen grauen Rahmen und enthält die Wertungspunkte. Selbstverständlich könnten Sie die Ausgabe an dieser Stelle auch mit patTemplate realisieren.
Wenn Sie die genannten vier Dateien erstellt haben, können Sie die Komponente bereits über das Backend installieren. In Abbildung 22.1 sehen Sie auch, wo der Text der zusätzlichen Installationsdatei ausgegeben wird. Bei der Installation werden die Datenbanktabellen angelegt, die Dateien werden in das Verzeichnis joomla/components/com_pair_rank kopiert, und der Backend-Menüeintrag für das Components-Menü wird erstellt.
Im Components-Menü sollten Sie nun auch einen Eintrag Pair Rank und Pair Rank · Manage finden, die allerdings noch keine Wirkung haben. Um die Komponente aus dem Frontend aufrufen zu können, erzeugen Sie im Hauptmenü einen neuen Eintrag vom Typ Component und geben im nächsten Dialog einen Namen und unsere Komponente »Pair Rank« an. Wenn Sie jetzt ins Frontend wechseln, sollten Sie einen entsprechenden Menüeintrag sehen. Bisher ist die Datenbanktabelle jedoch noch leer, so dass nichts ausgegeben wird, wenn Sie dem Menüeintrag folgen. Um das Script zu testen, können Sie ein paar Beispieldatensätze einfügen, zum Beispiel, indem Sie diese beiden SQL-Statements in phpMyAdmin ausführen:
INSERT INTO 'jos_pair_rank' VALUES (1,'Josef/Maria',200,1);
INSERT INTO 'jos_pair_rank' VALUES (2,'Hans/Agathe',400,1);
Jetzt sollte im Frontend auch eine Ausgabe erfolgen. Sie sehen das Ergebnis in Abbildung 22.2.
|