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 20 Eigene Erweiterungen schreiben
  gp 20.1 Hallo Joomla!
  gp 20.2 Die API nutzen
  gp 20.3 Parametrisieren
  gp 20.4 Auf die Datenbank zugreifen
  gp 20.5 Unterschiedliche Layouts mit Templates


Galileo Computing

20.3 Parametrisieren  toptop

Es war schon einige Male die Rede davon, dass Module auch parametrisiert werden können. Dazu sind zwei Schritte notwendig. Zum einen müssen wir in der XML-Datei festlegen, welche Parameter es geben soll und über welche Formularelemente auf sie zugegriffen werden kann. Zum anderen ist der Modul-Code so zu ändern, dass diese Einstellungen auch Wirkung zeigen.

Sehen wir uns zunächst die XML-Datei an. Wir wollen vier Parameter einführen. Mit dem ersten soll man festlegen können, welche Bezeichnung für Gäste ausgegeben wird. Der zweite lässt dem User die Wahl zwischen einem von drei Layouts des Moduls. Der dritte bestimmt, ob ein Tooltip erzeugt wird, und der vierte legt fest, welches Bild als Hotspot für diesen Tooltip angezeigt werden soll.

Die Angabe der Parameter erfolgt über das XML-Tag <params>. Dieses enthält für jede Einstellungsoption ein weiteres Tag <param>, das wiederum einige Attribute hat.


Tabelle 20.2   Attribute von <param>

Attribut Beschreibung
name Name der Variable, über die der Wert später angesprochen werden soll.
type Art und Weise, wie die Werte des Parameters in der Einstellungsseite angegeben werden können (s.  u.).
label Beschriftung des Eingabefeldes.
size Größe des Eingabefeldes.
description Eine Beschreibung der Auswirkung des Parameters. Diese wird als Tooltip hinter dem Eingabefeld ausgegeben.
default Vorgabewert, falls nichts geändert wird.


Hinweis: Das Attribut description wird in älteren Joomla!-Versionen unter Umständen nicht angezeigt. Dieser Fehler ist in Version 1.0.8 behoben.

Die Darstellung einer Option auf der Einstellungsseite wird durch das Attribut type festgelegt. Hier haben Sie im Wesentlichen die Möglichkeiten, die man von HTML schon kennt, sowie einige Joomla!-spezifische Anzeigen.


Tabelle 20.3   Mögliche Eingabefelder für die Parameteransicht

Anzeige Attribut Beschreibung

Abbildung
Hier klicken, um das Bild zu vergrößern

text Einzeiliges Textfeld

Abbildung
Hier klicken, um das Bild zu vergrößern

textarea Mehrzeiliges Textfeld

Abbildung
Hier klicken, um das Bild zu vergrößern

list Dropdown-Auswahlliste

Abbildung
Hier klicken, um das Bild zu vergrößern

radio Radiobutton

Abbildung
Hier klicken, um das Bild zu vergrößern

spacer Horizontale Linie

Abbildung
Hier klicken, um das Bild zu vergrößern

imagelist Auswahlliste mit Bildern aus einem Verzeichnis

Abbildung
Hier klicken, um das Bild zu vergrößern

mos_category Auswahlliste mit allen verfügbaren Kategorien

Abbildung
Hier klicken, um das Bild zu vergrößern

mos_section Auswahlliste mit allen verfügbaren Sektionen

Abbildung
Hier klicken, um das Bild zu vergrößern

mos_menu Auswahlliste mit allen verfügbaren Menüs

Werden neue Parameter für ein Modul eingeführt, so muss das Modul komplett neu installiert werden, da in diesem Fall zusätzliche Einträge in der Datenbank notwendig sind. Wenn Sie nur die Texte der Anzeige ändern wollen, so können Sie das wieder im joomla/modules-Verzeichnis tun. In unserem Fall könnte die Parameter-Sektion in der Datei mod_halloparams.xml aus dem separaten Verzeichnis so aussehen:

14  ...
15  <params>
16     <param name="gast" type="text"
17            label="Gast" default="Besucher"
18            description="Bezeichnung für Gast-User"/>
19     <param name="layout" type="list"
20            label="Layout" default="layout1"
21            description="Erscheinungsbild des Moduls">

22        <option value="layout1">Layout 1</option>
23        <option value="layout2">Layout 2</option>
24        <option value="layout3">Layout 3</option>
25     </param>
26     <param name="@spacer" type="spacer"
27            default="" label="" description="" />
28     <param name="tooltip" type="radio"
29            label="Tooltip" default="yes"
30            description="Anzeige des Tooltips">
31        <option value="yes">Ja</option>
32        <option value="no">Nein</option>
33     </param>
34     <param name="hotspot" type="imagelist"
35            label="Hotspot" default="tooltip.png"
36            directory="/includes/js/ThemeOffice"
37            hide_none="1" hide_default="1"
38            description="Bild für den Hotspot" />
39     </params>
40  </mosinstall>
Listing 20.6   Ausschnitt aus mos_halloparams.xml

Die Beschreibung des Textfeldes (Zeilen 16–18) weist keine Besonderheiten auf und ist relativ leicht zu verstehen. Im folgenden Auswahlfeld (Zeilen 19–25) finden Sie die Untertags <option>, die die Werte angeben, die zur Auswahl stehen. Das Attribut value bestimmt in diesem Fall, welcher Wert an das Modul übergeben wird. Dieser Wert muss auch im default-Attribut von <param> angegeben werden, damit dieses richtig umgesetzt wird. Die horizontale Linie (Zeilen 26–27) hat im name-Attribut einen Wert, der mit @ beginnt. Damit wird dem System klar gemacht, dass es diesen Parameter als Wert ignorieren kann. Die Auswahl über Radio-Buttons (Zeilen 28–33) funktioniert genauso wie das Auswahlfeld. Der letzte Parameter, die Liste der Bilder (Zeilen 34–39), hat drei zusätzliche Attribute. directory gibt das Verzeichnis an, aus dem die Einträge für die Liste ausgewählt werden sollen. Der Pfad muss relativ zum Joomla!-Verzeichnis sein und mit einem Schrägstrich beginnen. Die Attribute hide_none und hide_default verstecken (Wert 1) oder zeigen (Wert 0) die Einträge »Use no image« und »Use default image« in der Liste.

Um das Ergebnis zu sehen, deinstallieren Sie das »Hallo Joomla«-Modul und installieren es neu. Wenn Sie nun die Einstellungsseite aufrufen, sollte die in etwa so aussehen, wie in Abbildung 20.3 dargestellt.


Abbildung
Hier klicken, um das Bild zu vergrößern

Abbildung 20.3   Die neue Parameter-Seite


Bisher haben die Parameter noch wenige Auswirkungen auf die Darstellung des Moduls. Daher müssen wir die Datei mos_halloparams.php so modifizieren, dass sie die Einstellungen berücksichtigt. Zentral ist natürlich der Zugriff auf die gespeicherten Werte. Dieser wird über das params-Objekt angesprochen. Es besitzt eine Methode get, in der Sie den Namen des Parameters und einen Standardwert angeben müssen. Die Ausgabe des Gastnamens muss also so verändert werden:

6    $my_name = $params->get('gast', 'Besucher');

Die Einstellung der Tooltip-Anzeige finden Sie in der nächsten Zeile:

12  if (!$tt = mosGetParam($_GET, 'tooltip'))
13           $tt = $params->get('tooltip', 'yes');

Um das richtige Bild ausgeben zu lassen, ist noch eine letzte Änderung nötig:

17  if ($tt == "yes")
18      echo mosToolTip($my_grp, 'Gruppe', '30',
19           $params->get('hotspot', 'tooltip.png'));
20  echo "</H1>";

Wie Sie sehen, haben wir an alle Stellen, an denen die Werte der Parameter verwendet werden, einfach die Abfrage des params-Objekts gestellt. Die Änderung der Anzeige in Abhängigkeit von einem bestimmten Layout werden wir weiter unten besprechen.

 << 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