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

Inhaltsverzeichnis
Vorwort
1 Einleitung
2 Installation
3 Frontend
4 Backend
5 Inhalte erstellen und verändern
6 Eine erste Webseite
7 Das Website-Design
8 Benutzer und Bereiche
9 Module, Plug-ins, Komponenten
10 Pflege der Webseite
11 Eine Site aufbauen
12 Was macht ein Template aus?
13 Tools zur Template-Erstellung
14 Barrierefreiheit
15 Aus der Trickkiste
16 Joomla! als professionelle Geschäftsplattform
17 Online-Shop: VirtueMart
18 Formulare: BreezingForms und ChronoForms
19 Dokumentenverwaltung: Docman und Attachments
20 Kalender: JEvent und iWebCal
21 Bildergalerien: Zoom Media Gallery und JoomGallery
22 Joomla! als Community-Treff
23 Weblogs: IDoBlog und MMS Blog
24 Wiki: JoomlaWiki
25 Forum: FireBoard
26 Gästebücher
27 Noch mehr Kommunikation
28 Installation beim Webhost
29 Backup und Upgrade
30 Tools
31 Standard-Erweiterungen
32 Mehrsprachigkeit
33 Suchmaschinenoptimierung
34 Statistik
35 Performance
36 Datentransfer und FTP-Modus
37 Sicherheit
38 Troubleshooting
39 Mein erstes Modul
40 Die Joomla!-API
41 Plug-ins erstellen
42 Eine eigene Komponente
A Parameter der unterschiedlichen Menütypen
B Die Joomla!-API
C Glossar
D Inhalt der DVD
Stichwort
Ihre Meinung?

Spacer
<< zurück
Joomla! 1.5 von Anja Ebersbach, Markus Glaser, Radovan Kubani
Das umfassende Handbuch
Buch: Joomla! 1.5

Joomla! 1.5
geb., mit DVD
820 S., 34,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-881-1
Pfeil 40 Die Joomla!-API
Pfeil 40.1 Zugriff auf die Interna von Joomla!
Pfeil 40.2 Informationen über den Benutzer
Pfeil 40.3 HTML-Elemente
Pfeil 40.4 URL-Parameter abfragen
Pfeil 40.5 Parametrisieren
Pfeil 40.6 Auf die Datenbank zugreifen
Pfeil 40.7 Internationalisierung


Rheinwerk Computing - Zum Seitenanfang

40.2 Informationen über den Benutzer topZur vorigen Überschrift

Informationen über den User stehen in der Klasse JUser. Dort finden Sie zwei wichtige Eigenschaften: username enthält den Namen des Benutzers, und usertype gibt an, in welcher Gruppe er sich befindet. Zudem haben Sie über id noch Zugriff auf eine Identifikationsnummer, die bei Datenbankabfragen von Bedeutung sein kann (s. u.). Wir wollen nun statt »Hallo Joomla!« den Namen des Benutzers ausgeben. Dazu erstellen wir ein neues Modul namens »API«. Dieses Modul besteht aus den folgenden Dateien:

  • mod_api.php enthält ein Gerüst des Moduls.
  • helper.php führt die Aufgaben des Controllers durch.
  • mod_api.xml wird für die Installation und für eventuell anzugebende Parameter auf der Einstellungsseite benötigt.
  • index.html dient zur Vorbeugung gegen unberechtigten Zugriff.
  • tmpl/default.php stellt das Template und somit den View-Part dar.
  • tmpl/index.html dient wiederum als Sicherheitsmaßnahme.

Da das Modul auf »Hallo Joomla!« aufbaut, können Sie die Dateien einfach kopieren. Den Zugriff auf das Benutzerobjekt packen wir in die Helper-Datei. Der Übersichtlichkeit halber sollte die Klasse nun auch in ModAPIHelper umbenannt werden.

1  <?php 
2  defined( '_JEXEC' ) or die( 'Restricted Access' ); 
3  class ModAPIHelper { 
4     public function getRandomColor() 
… 
13    public function getUserName() { 
14       $user =& JFactory::getUser(); 
15       if ($user->id == 0) { 
16          return "Besucher"; 
17       } else { 
18          return $user->username; 
19       } 
20    } 
21 } 
21 ?>

Listing 40.1 Auszug aus »helper.php«

Das Objekt mit den Daten des aktuellen Benutzers wird in Zeile 14 abgeholt. In Zeile 15 wird überprüft, ob die User-ID 0 ist. In diesem Fall gibt es keinen angemeldeten Benutzer und wir müssen unseren Gast neutral ansprechen. Als Ergebnis wird »Besucher« zurückgegeben (Zeile 16). Hat sich ein User angemeldet, so können wir ihn mit seinem Usernamen begrüßen, der dann in Zeile 17 als Rückgabewert an die Ausgabevariable übergeben wird.

Jetzt muss die zentrale Modulsteuerung angepasst werden, so dass der Benutzername an die View weitergereicht wird.

1  <?php 
2  defined( '_JEXEC' ) or die( 'Restricted Access' ); 
3  require_once(dirname(__FILE__).DS.'helper.php'); 
4  $color = ModAPIHelper::getRandomColor(); 
5  $username = ModAPIHelper::getUserName(); 
6  require_once(JModuleHelper::getLayoutPath('mod_api')); 
7  ?>

Listing 40.2 mod_api.php

In Zeile 5 wird die neue Funktion getUserName aufgerufen und das Ergebnis zur Weiterverarbeitung in die Variable $username gespeichert. Sie erraten es sicher schon: Wir müssen auch noch die Datei default.php anpassen, um das Ergebnis ausgeben zu lassen.

1  <?php 
2  defined( '_JEXEC' ) or die( 'Restricted Access' ); 
3  ?> 
4  <font color="<?php echo $color; ?>"> 
5  Hallo <?php echo $username; ?>! 
6  </font>

Listing 40.3 Die Datei »default.php«

In Zeile 5 wird einfach ein weiterer Ausgabebefehl eingefügt, der den Benutzernamen ausgibt. Zum Testen können Sie dieses Modul wieder installieren. Die XML-Datei können Sie aus mod_hallojoomla.xml übernehmen. Vergessen Sie nicht, den Eintrag <filename> in der zugehörigen XML-Datei anzupassen. Dies gilt auch für die folgenden Programme.

Wenn Sie auch noch den Typ des Benutzers ausgeben wollen, dann können Sie diesen über $my->usertype abfragen. Hier wollen wir keine Veränderung des Wertes vornehmen, sondern ihn einfach direkt ausgeben. Dazu reicht es, einfach eine weitere Zeile in die Datei default.php einzufügen:

4  <font color="<?php echo $color; ?>"> 
5  Hallo <?php echo $username; ?>! 
6  <br/>Ihr Status: <?php echo $my->usertype; ?>. 
7  </font>

Listing 40.4 Auszug aus »default.php«

Selbstverständlich können Sie diese Information nutzen, um abzufragen, ob ein Benutzer die entsprechenden Rechte besitzt, um Ihr Modul zu verwenden. Mögliche Werte sind in Tabelle 40.3 angegeben.


Tabelle 40.3 Mögliche Werte für »Usertype«

Wert Benutzerrecht

<leer>

Der Benutzer ist nicht angemeldet.

Registered

Der Benutzer ist angemeldet, hat aber keine weitergehenden Rechte.

Author

Der Benutzer hat Autorenrechte.

Editor

Der Benutzer hat Editorrechte.

Publisher

Der Benutzer hat Publisherrechte.

Manager

Der Benutzer hat Zugang zum Backend.

Administrator

Der Benutzer ist Administrator.

Super Administrator

Der Benutzer hat alle Rechte.




Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Joomla! 1.5 - Das umfassende Handbuch





Joomla! 1.5 -
Das umfassende Handbuch

Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Joomla! 3.5






 Joomla! 3.5


Zum Katalog: Top-Rankings bei Google und Co






 Top-Rankings bei
 Google und Co


Zum Katalog: Erfolgreiche Websites






 Erfolgreiche Websites


Zum Katalog: WordPress 4






 WordPress 4


Zum Katalog: Webseiten erstellen für Einsteiger






 Webseiten erstellen
 für Einsteiger


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
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.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de