Sie sind auf Seite 1von 247

Mambo

Open Source Software wird gegenüber kommerziellen Lösungen immer wichtiger.


Addison-Wesley trägt dieser Entwicklung Rechnung mit den Büchern der Open Source
Library. Administratoren, Entwickler und User erhalten hier professionelles Know-how,
um freie Software effizient einzusetzen. Behandelt werden sowohl Themen wie Betriebs-
systeme, Netzwerke und Sicherheit als auch Programmierung.

Eine Auswahl aus unserem Programm:

phpMyAdmin ist das am weitesten verbreitete Tool zur


Verwaltung von MySQL-Datenbanken. Dieses Buch gibt
Ihnen einen profunden Einstieg in die effiziente Verwal-
tung von MySQL-Datenbanken mit phpMyAdmin (neue
Version 2.6.0) bis hin zur professionellen Administration.
Der Autor zeigt, wie Sie mit phpMyAdmin Datenbanken
anlegen, editieren, abfragen und pflegen und wie Sie Be-
nutzer anlegen und verwalten. Sie lernen, wie Sie Ab-
fragen optimieren und automatisieren und was Sie beim
Arbeiten mit verschiedenen Zeichensätzen und MIME-
Typen beachten müssen u.v.a.m. Ein Troubleshooting-
Kapitel hilft bei Problemen.

phpMyAdmin
Marc Delisle
260 S.
Euro 19,95 (D), 20,60 (A)
ISBN 3-8273-2250-2

Sind Sie Webentwickler und suchen Sie PHP- und MySQL-


Grundlagen sowie Programmiertechniken in einem Buch?
Dann sind Sie hier richtig. Dieses praxisorientierte Buch
liefert nach einem kurzen Grundlagenteil eine ganze Samm-
lung von PHP- und MySQL-Rezepten: objektorientierte
Programmierung mit PHP 5, XML-Funktionen, prepared
statements, stored procedures, SQL-Grundlagen und
-Rezepte, GIS-Funktionen, mysqli-Schnittstelle, etc. An-
schließend demonstrieren mehrere umfangreiche Beispiel-
projekte das Zusammenspiel von PHP und MySQL. Ein
Kapitel über TYPO3 zeigt exemplarisch, wie im Internet
kostenlos verfügbare PHP/MySQL-Projekte installiert
und für eigene Zwecke adaptiert werden.

PHP 5 & MySQL 5


Michael Kofler, Bernd Öggl
696 S., 1 CD
Euro 49,95 (D), 51,40 (A)
ISBN 3-8273-2190-5
Hagen Graf

Mambo
Websites organisieren und gestalten
mit dem Open Source-CMS

An imprint of Pearson Education


München • Boston • San Francisco • Harlow, England
Don Mills, Ontario • Sydney • Mexico City
Madrid • Amsterdam
Die Deutsche Bibliothek – CIP-Einheitsaufnahme

Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen


Nationalbibliografie; detaillierte bibliografische Daten sind im Internet
über http://dnb.ddb.de abrufbar.

Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz
veröffentlicht.
Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.
Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen.
Trotzdem können Fehler nicht vollständig ausgeschlossen werden.
Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine
juristische Verantwortung noch irgendeine Haftung übernehmen.
Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar.

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in
elektronischen Medien.
Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig.

Fast alle Hardware- und Softwarebezeichnungen, die in diesem Buch erwähnt werden, sind gleichzeitig
auch eingetragene Warenzeichen oder sollten als solche betrachtet werden.

Umwelthinweis:
Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt.

10 9 8 7 6 5 4 3 2 1

07 06 05

ISBN 3-8273-2259-6

© 2005 by Addison-Wesley Verlag,


ein Imprint der Pearson Education Deutschland GmbH
Martin-Kollar-Straße 10–12, D-81829 München/Germany
Alle Rechte vorbehalten
Einbandgestaltung: Marco Lindenbeck, webwo GmbH (mlindenbeck@webwo.de)
Lektorat: Boris Karnikowski, bkarnikowski@pearson.de
Fachlektorat: Alexander Kempkens, München
Korrektorat: Florence Maurice, München
Herstellung: Monika Weiher, mweiher@pearson.de
Satz: reemers publishing services gmbh, Krefeld
Druck: Bosch Druck, Ergolding
Printed in Germany
Inhaltsübersicht
1 Begriffe und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3 Ein Rundgang durch Ihre neue Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4 Mambo anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 Nützliche Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6 Corporate Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
7 Eigene Programmerweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
A Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Danke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Inhaltsverzeichnis
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 Begriffe und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


1.1 Content Management System (CMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Ein kurzer Blick in die Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.1 Mambo (Open Source) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3 Struktur eines CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.1 Front- und Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.2 Zugriffsrechte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3.3 Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.4 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.5 Erweiterungen (Komponenten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.6 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3.7 Konfigurationseinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4 Mambo als Immobilie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.1 Mambo-Versionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.2 Mambo-Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.4.3 Beispiele für Mambo-Seiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1 Lokale Serverumgebung einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Auf einem virtuellen Server im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3 Mambo installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.1 In welches Verzeichnis installieren? . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.2 Lokale Installation von Mambo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 Ein Rundgang durch Ihre neue Homepage . . . . . . . . . . . . . . . . . . . . . . . . 43


3.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Menüs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1.2 Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.3 Werbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.1.4 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Inhaltsverzeichnis

3.1.5 Dekorative Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51


3.1.6 Aussichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Mambo anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


4.1 Der erste Versuch – Man spricht deutsh . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.1.1 Installationen einer anderen Sprachdatei . . . . . . . . . . . . . . . . . . . . . . . 55
4.1.2 Übersetzen eines Menüeintrags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1.3 Ändern der Menübezeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.1.4 Ändern des Templates für Ihre Homepage . . . . . . . . . . . . . . . . . . . . . . 60
4.2 Aufbau der Mambo-Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3 Menü Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4 Menü Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.1 Site – Global Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.4.2 Site – Language Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.3 Site – Media Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.4.4 Site – Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.5 Site – Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.6 Site – Template Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4.7 Site – Trash Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.4.8 Site – User Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.5 Menü Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5.1 Vorhandenes Menü anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5.2 Neues Menü erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6 Menü Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.6.1 Content By Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.6.2 All Content Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.6.3 Static Content Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.6.4 Section Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.6.5 Category Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.6.6 Frontpage Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.6.7 Archive Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.7 Menü Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.7.1 Install/Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.7.2 Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.7.3 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
4.7.4 Mass Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8
Inhaltsverzeichnis

4.7.5 News Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122


4.7.6 Polls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.7.7 Syndicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.7.8 Weblinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.8 Menü Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
4.8.1 Install/Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.8.2 Site Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.8.3 Modul kopieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.8.4 Administrator-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.9 Menü Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.9.1 Install New Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.9.2 Site Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.10 Menü Installers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.11 Menü Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.11.1 Inbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.11.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.12 Menü System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
4.12.1 Global Check-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

5 Nützliche Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151


5.1 Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.1.1 Was kann Simpleboard? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
5.1.2 Installation von Simpleboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
5.1.3 Administration von Simpleboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
5.1.4 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.1.5 Simpleboard Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.2 Kalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.2.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
5.2.2 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
5.2.3 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.2.4 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.2.5 Event Mambot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
5.3 Galerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.3.1 Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.3.2 Installation Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.3.3 Sprache auf Deutsch ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
5.3.4 Administration Zoom Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

9
Inhaltsverzeichnis

5.3.5 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181


5.3.6 Modul für die Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.4 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.4.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.4.2 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.4.3 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5.5 Mehrsprachigkeit mit Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.5.1 Installation von Mambelfish (Komponente und Modul) . . . . . . . . . . . . 185
5.5.2 Konfiguration von Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.5.3 Übersetzung mit Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.5.4 Mambot für Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.5.5 Eigene Komponenten in Mambelfish einbinden . . . . . . . . . . . . . . . . . . 190
5.6 Online-Shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.7 Dokumentenmanagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.8 Barrierefreies Mambo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.8.1 xMambo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

6 Corporate Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193


6.1 HTML/XHTML, CSS, XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.1.1 HTML/XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.1.2 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.1.3 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.2 Templates selbst erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.2.1 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.2.2 HTML-Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.2.3 Dateistruktur des Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.2.4 Erster Probelauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.2.5 Integration der Mambo-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.2.6 Ein Template-Paket erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.2.7 Installation mit dem Mambo-Template Installer . . . . . . . . . . . . . . . . . . 205
6.3 Dreamweaver-Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

7 Eigene Programmerweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207


7.1 Beispielkomponente mambobuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.1.1 Die MySQL-Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
7.1.2 Das Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7.1.3 Integration in das Hauptmenü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

10
Inhaltsverzeichnis

7.1.4 Die Mambo-Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214


7.1.5 Installationspaket erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
7.2 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
7.2.1 Quellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
7.2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
7.2.3 Ansicht auf der Homepage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
7.3 Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
7.4 Schlussbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

A Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
A.1 Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
A.1.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
A.1.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
A.1.3 Betriebssystemunabhängig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
A.2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
A.2.1 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
A.2.2 PHP und andere Einschübe in der index.php . . . . . . . . . . . . . . . . . . . . 237
A.3 Mambo API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
A.4 Admin-Passwort vergessen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

Danke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

11
Einleitung
Dieses Buch entsteht auf einer Reise. Es handelt von Mambo. Mambo ist ein Stück
Software, mit dem sich Inhalte einfach verwalten lassen. Ich werde im Verlauf dieses
Buches ausführlich die Verwaltung dieser Inhalte beschreiben.
Ich schreibe unterwegs. Zwischendurch gehe ich meiner Arbeit nach. Diese Arbeit
besteht aus Tätigkeiten wie unterrichten, beraten, zuhören, ausprobieren, program-
mieren, Strukturen verstehen, hinterfragen und immer wieder ausprobieren.
Warum schreibe ich ein Computerbuch über die Verwaltung von Inhalten und das
auch noch unterwegs?
Nun, die Welt ist mobiler geworden in den letzten Jahren.
Mobiler heißt Akkulaufzeiten von mehr als vier Stunden auch bei Laptops aus dem
Supermarkt. Bildschirme, die bei Sonnenlicht ablesbar sind. Drahtlose Internet Hot-
spots, die funktionieren und durchaus bezahlbar sind.
Mobiler heißt aber auch, Kunden in verschiedenen Ländern, mit verschiedenen Spra-
chen und Kulturen. Lange Auto-, Bus- oder Bahnfahrten für die notwendigen, aber
seltener werdenden persönlichen Treffen. Kurze bis sehr kurze Reaktionszeiten auf
E-Mail-Kundenanfragen. Die zauberhafte Abkürzung 24/7 trifft den Kern der Mobi-
lität. 24 Stunden am Tag, 7 Tage die Woche.
Mobilität hat Auswirkungen auf das, was man früher mal Büro nannte.
War es vor 5 Jahren und auch teilweise heute noch üblich, E-Mails auf dem eigenen,
lokalen Rechner zu Hause oder im Büro zu speichern, so bieten verschiedene Dienst-
leister inzwischen beinahe unerschöpflichen Festplattenplatz für diese Zwecke an.
Terminalserver gewinnen in größeren Firmen an Einfluss. Die Bandbreite der Inter-
netverbindungen steigt. Das alles hat den Vorteil, dass Sie von jedem Internetcafé auf
Ihren Fundus von E-Mails, Bildern und Dokumenten zugreifen können und nicht
mehr an den heimischen PC gebunden sind. Das macht Sie unabhängiger, da sich Ihr
Büro nun plötzlich an jedem Ort befindet, der über einen Browser und eine Internet-
verbindung verfügt.
In den neunziger Jahren behauptete die Firma Sun »Das Netz ist der Computer«. Bei
der zunehmenden Verbreitung webbasierter Anwendungen wie E-Mail Services,
Online-Banking, Gruppenkalendern, Dokumenten Management Systemen, Commu-
nities, Dating Services und natürlich Online-Auktionen etc. scheint die Realität der
Einleitung

Firma 10 Jahre später Recht zu geben. Das eigene Endgerät wird immer unwichtiger.
Selbst Mobiltelefone können heute E-Mails senden und empfangen, Fotos aufnehmen
und verschicken und vieles andere mehr.
In dieser zunehmend mobiler werdenden Welt benötigt eine Firma, eine Institution,
ein Verein, eine Organisation einen Internetauftritt, der ebenfalls mobil ist. Der »mit
der Zeit geht«, der »einfach über einen Browser zu verändern ist« und der einfach
erweitert werden kann. Diese Homepage ist der Platz, an dem Sie anderen erklären
können, was Sie tun, bzw. was Ihre Firma tut. Sie ist der Platz, der 24 Stunden am Tag,
7 Tage in der Woche bereitsteht, um Kundenbeziehungen zu pflegen. Bis vor kurzem
war die Erstellung einer solchen Homepage eine schwierige Sache. Sie mussten zwar
kein ausgewiesener Spezialist sein, aber eine gewisse Form von Durchhaltevermögen
kombiniert mit Spaß am Thema waren notwendig, um ein ansprechendes Ergebnis zu
erzeugen. Sie mussten statische HTML-Seiten in einem HTML-Editor erstellen und
anschließend per File Transfer Protokoll auf einen Server laden. Um auch nur sim-
pelste Interaktivitäten wie beispielsweise ein Gästebuch oder ein Forum zu erstellen,
mussten Sie eine Programmiersprache erlernen. Viele Menschen haben aus nachvoll-
ziehbaren Gründen diese Mühsal nicht auf sich genommen und die Erstellung ihrer
Homepage entweder an eine Webagentur übergeben oder das Projekt gar nicht erst
angefangen.
Doch Rettung naht, denn jetzt gibt es ja Mambo!
Dieses Buch handelt von der einfachen Erstellung einer Website. Wir verwenden
dazu das Content Management System Mambo und werden zeigen, wie man eine
attraktive, interaktive Homepage ohne Programmierkenntnisse und ohne den Einsatz
von HTML-Editoren erstellt und pflegt.
Diese Homepage liegt auf einem zentralen Server. Der Zugriff auf alle Funktionalitä-
ten erfolgt über ein beliebiges Endgerät mit Internetzugang. Sie können also aus
jedem Internetcafé dieser Welt oder sogar von Ihrem Mobiltelefon aus Ihre Home-
page pflegen und verändern.
Freuen Sie sich nun, die Welt von Mambo kennen zu lernen!

14
1 Begriffe und Konzepte
Bevor wir uns ins Mambo-Getümmel stürzen, gestatten Sie mir, ein paar Begriffe und
Konzepte zu klären.

1.1 Content Management System (CMS)


Der Begriff Content Management System enthält die englischen Begriffe Content (Inhalt)
und Management (Verwaltung). Er bezeichnet also recht ungenau ein System, mit dem
Inhalte verwaltet werden können. So ein System kann eine Tafel und ein Stück Kreide
sein (Speisekarte, Schultafel), es kann aber auch so etwas wie die freie Enzyklopädie
Wikipedia oder ein Auktionshaus wie Ebay sein. In allen drei Fällen werden Inhalte
verwaltet. In den letzten beiden Beispielen sogar von sehr vielen Teilnehmern.
Diese Teilnehmer spielen bei Inhaltsverwaltungssystemen eine große Rolle, einerseits
in der Funktion des Verwalters (Administrator) und andererseits in der Rolle des
Benutzers (User).
Aber es kommt noch besser. Außer CM-Systemen gibt es natürlich auch noch Bezeich-
nungen wie Enterprise Ressource Planning Systeme (ERP, Verwaltung von Firmen-
daten), Customer Relationship Management Systeme (CRM, Pflege von Kundenkontak-
ten), Document Management Systeme (DMS, Verwaltung von Dokumenten), Human
Resource Management Systeme (HRM, Personalverwaltung) und viele weitere. Ein Com-
puterbetriebssystem wie Windows oder Linux verwaltet ebenfalls Inhalte.
Durch diese inflationäre Begriffs- und Funktionsvielfalt fällt es schwer, den Begriff
CMS zu definieren.
In der letzten Zeit hat sich der Begriff ECMS für Enterprise Content Management Sys-
teme etabliert. Alle anderen oben aufgeführten Abkürzungen sind dann Untermengen
eines ECMS.
Mambo fällt in die Gattung der Web Content Management Systeme (WCMS), da es aus-
schließlich Inhalte auf einem Webserver verwaltet.
Da all diese Systeme noch relativ neu in der Unternehmenswelt sind, werden sich die
Begriffe sicher noch weiterentwickeln. Grundsätzlich wird es aber immer ein Integra-
tionssystem geben, dass versucht alle Systeme miteinander zu verbinden.
1 Begriffe und Konzepte

Im allgemeinen Sprachgebrauch wird der Begriff Content Management meist im


Zusammenhang mit Webseiten verwendet, die sich über einen Browser pflegen las-
sen. Was die Definition nicht unbedingt einfacher macht.

1.2 Ein kurzer Blick in die Geschichte


Während die Firma Sun in den neunziger Jahren behauptete »Der Computer ist das
Netz«, wollte die Firma Microsoft erst ruhen, wenn auf jedem Schreibtisch ein Com-
puter mit Windows steht.
Der Rechner, um den es Microsoft ging, war immer eine Mixtur aus Datendateien und
Binärdateien. Die Dateien mit den binären Inhalten nennt man Programme. Sie wur-
den von den Kunden gekauft und installiert, um damit die Daten bearbeiten zu kön-
nen. Microsoft Office erlebte einen Siegeszug durch die meistens Büros dieser Welt.
Der Rechner, um den es der Firma Sun ging, war eher ein Dumb Tube. Ein billiges,
dummes Endgerät mit einem Bildschirm, einer Tastatur, einer Maus und einem
Zugang ins Internet. Die Programme und die Daten sollten sich nicht auf diesem
Rechner befinden, sondern irgendwo im Netz.
Die Philosophie von Microsoft tendierte also mehr in die Richtung meins, die Philoso-
phie von Sun mehr in die Richtung unser.
Die Triebfedern dieser Philosophien ist nicht reine Menschenfreundlichkeit, sondern
wirtschaftliches Interesse. Microsoft verkaufte in erster Linie im Konsumentenbereich
Software für PC, Sun dagegen im Unternehmensumfeld Serverhardware und die pas-
senden Programme dazu.
Mitte der neunziger Jahre erfolgte die explosionsartige Verbreitung des eigentlich
schon in den sechziger Jahren erfundenen Internets unter anderem durch HTML
(Hyper Text Markup Language, die Sprache, in der Webseiten geschrieben werden) und
die Entwicklung von Webservern und Webclients (Browsern).
Das Internet selbst ist nur ein Satz von Spielregeln, der von verschiedenen Geräten
verstanden und so geschickt kombiniert wurde, dass dieses Netz in kürzester Zeit
den gesamten Planeten überzog.
Ohne eine E-Mail-Adresse war der einzelne Mensch nicht erreichbar und ohne eine
Homepage war eine Firma nicht nur altmodisch, sondern in Augen vieler Kunden
nicht mehr existent. Die ganze Welt drängelte also in kurzer Zeit in dieses Netz, um
ein Teil davon zu werden. Filme wie Matrix1 wurden Klassenschlager und 19842 von
George Orwell wurde erfolgreich verdrängt.
Die neuen Netzbürger kamen zum einen aus der meins-Welt und zum anderen aus
der unser-Welt.

1 http://whatisthematrix.warnerbros.com/
2 http://de.wikipedia.org/wiki/1984

16
1.2 Ein kurzer Blick in die Geschichte

Die, die es gewohnt waren Programme zu kaufen, kauften HTML-Editoren und


erstellten damit Internetseiten. Die anderen schrieben den HTML-Code meist lieber
gleich selbst in einem ohnehin vorhandenen Texteditor. Die Webagentur war gebo-
ren, bei der man Homepages in Auftrag geben konnte.
Beide Gruppen hatten allerdings das Problem, dass HTML-Seiten statisch sind. Um
den Inhalt der Seite zu ändern, muss man sie am heimischen PC bearbeiten und
danach wieder auf den Server kopieren.
Das war nicht nur unbequem und teuer, das machte auch Webauftritte wie Ebay oder
Amazon unmöglich.
Beide Gruppen fanden mehr oder weniger gute Lösungen für das Problem.
In der meins-Fraktion entstanden schnell binäre Programme, mit denen man HTML-
Seiten erzeugen konnte und diese dann per automatisiertem Verfahren auf den Ser-
ver lud. In die Seiten wurden interaktive Elemente wie Besucherzähler u.Ä. einge-
baut.
Die unser-Fraktion entdeckte Java Applets und damit die Möglichkeit, ein Programm
zu schreiben, das zentral auf einem Server liegt und über einen Browser bedienbar ist.
Auf dieser Lösung beruhten ganze Geschäftsideen wie Online Broking und Flug-
buchungskonzepte.
Beide Gruppen versuchten auf verschiedene Arten ihre Marktanteile auszubauen.
Das Ergebnis war ein recht stabiler Markt für beide, in dem Religionskämpfe über das
richtige Betriebssystem (Windows, Linux, Mac OS X) ständig die Versionsnummern
der Programme hochtrieben und sich die Kunden daran gewöhnten, dass das alles
nicht so einfach ist.
In solchen Situationen gibt es immer einen dritten Weg. In unserem Fall ist das unter
anderem die Entstehung von Open Source Scriptsprachen wie PHP3. Rasmus Lerdorf
hatte das Ziel, seine Homepage mit interaktiven Elementen zu versehen, und heraus
kam eine neue Programmiersprache. PHP wurde von Anfang an optimiert auf die
perfekte Zusammenarbeit mit der Datenbank MySQL, die ebenfalls unter der
GNU/GPL4 stand.
Glücklicherweise gab es das Betriebssystem Linux und einen Webserver namens
Apache, die die benötigte Infrastruktur auf dem Server boten. Das Anzeigemedium
beim Kunden war der Browser, der mit Sicherheit vorhanden war. LAMP (Linux,
Apache, MySQL, PHP) wurde bald das Synonym für datenbankgestützte, interaktive
Auftritte im Internet.
Wie in einem kreativen Rausch entstanden verschiedenste Systeme, die es ermöglich-
ten, Inhalte nur mit Hilfe eines Browsers zu organisieren, wie Forenseiten, Communi-
ties, Online Shops, Voting-Seiten und ähnliche Dinge.

3 http://www.php.net/
4 http://www.gnu.de/gpl-ger.html

17
1 Begriffe und Konzepte

Nach den »harten« Sachen wie Linux und Apache entstanden nun die »weichen« Pro-
dukte.
Die neunziger Jahre neigten sich dem Ende, die Internetaktienblase platzte und plötz-
lich kam es darauf an, ganz klassische Geschäftsmodelle mit ganz klassischen Metho-
den zu etablieren.
Immer wenn es der Wirtschaft nicht gut geht, schaut sie auf die Kosten und überlegt,
ob es Möglichkeiten gibt, diese zu senken. Es gab und gibt zahlreiche Möglichkeiten!
Die PHP-Anwendungen, die es damals gab, hatten Verbreitungszahlen, die in die
Millionen gingen. Als Beispiele seien hier nur die Projekte phpBB5 und phpMyAdmin6
genannt. Das eine hat sich zum Quasistandard für Forensoftware entwickelt, das
andere zum Standard für das Bearbeiten von MySQL-Datenbanken per Webinterface.
Der Quellcode der Sprache PHP selbst und der Quellcode der Anwendungen wurde
durch die enorme Zahl von Nutzern und Entwicklern immer schneller immer besser.
Je offener ein Projekt gestaltet wurde, desto erfolgreicher wurde es.
Einzelne Gurus konnten Unternehmen in kürzester Zeit immense Kosten sparen.
Statische HTML-Seiten galten als alt, teuer und überholt. Dynamisch musste es sein!
In diesem Umfeld bewegen wir uns jetzt seit ein paar Jahren. Linux, Apache, MySQL
und PHP sind in der Industrie akzeptiert. Die Suche nach professionell verwertbaren
PHP-Anwendungen begann.
Bei dieser Suche schaut man auf
 eine einfache Installation,
 eine gute Wartbarkeit des Quellcodes,
 Sicherheit des Quellcodes,
 Benutzerfreundlichkeit und
 einfache Erweiterbarkeit.
Der besondere Vorteil von PHP-Anwendungen ist die Unabhängigkeit von Hard-
ware und Betriebssystem. LAMP existiert auch als WAMP für Windows, MAMP für
den Apple und auf zahlreichen anderen Plattformen.
Und jetzt kommt endlich unser Mambo ins Spiel.

5 http://www.phpbb.com/
6 http://www.phpmyadmin.net/

18
1.3 Struktur eines CMS

1.2.1 Mambo (Open Source)


Die australische Firma Miro7 entwickelte im Jahre 2001 ein Content Management Sys-
tem mit dem Namen Mambo. Sie stellte dieses System als Open Source Software zur
Verfügung, um es auszutesten und für eine weitere Verbreitung zu sorgen. Im Jahre
2002 spaltete die Firma ihr Produkt Mambo in eine kommerzielle und eine Open
Source-Version. Die kommerzielle Variante nannte man Mambo CMS, die Open
Source-Version Mambo Open Source oder kurz MOS. Mittlerweile haben sich alle
Beteiligten darauf geeinigt, dass MOS ganz offiziell Mambo genannt werden darf und
dass man gemeinsam eine erfolgreiche Zukunft für das sich momentan am schnells-
ten entwickelnde CMS gestaltet.8
Die Vorteile der kommerziellen Variante liegen für Firmen in erster Linie in der
erhöhten Sicherheit und in der Tatsache, dass sie die Firma Miro als Ansprechpartner
haben, die auch die weitere Entwicklung unterstützt.
Die Vorteile der Open Source-Version sind, dass sie »frei« ist und eine riesige
Gemeinde von Benutzern und Entwicklern ebenfalls für eine zügige Weiterentwick-
lung sorgt.
Außerdem ist es für Unternehmen möglich, Mambo als Basis zu nehmen und darauf
aufbauend eigene Lösungen zu entwickeln.

1.3 Struktur eines CMS

1.3.1 Front- und Backend


Ein CMS besteht aus einem Frontend und einem Backend. Das Frontend ist die Home-
page, wie sie der Besucher und der angemeldete Benutzer sehen.
Das Backend dagegen beinhaltet die Verwaltungsoberfläche der Homepage für den
Administrator. Im Backend wird konfiguriert, gepflegt, aufgeräumt, werden Statisti-
ken erstellt und neue Inhalte erzeugt. Das Backend findet man unter einem anderen
URL als die Homepage.

1.3.2 Zugriffsrechte
Immer wenn es um Management geht, geht es um das clevere Verwalten von vorhan-
denen Ressourcen. In einem CMS werden den beteiligten Personen Usernamen zuge-
ordnet und diese mit unterschiedlichen Zugriffsrechten versehen. Das geht von
einem einfachen registrierten Benutzer über einen Autor und Editor bis hin zum Super-

7 http://www.miro.com.au/
8 http://mamboserver.com/The_News/News/Mambo_and_Miro_Reunite/

19
1 Begriffe und Konzepte

administrator, der alles darf. Abhängig von den Rechten erscheint die Homepage dann
mit anderen Inhalten, oder der Benutzer arbeitet in der von der Homepage getrenn-
ten Verwaltungsoberfläche.

1.3.3 Inhalte
Inhalte können verschiedener Art sein. Im einfachsten Fall ist es ein Text. Inhalt kann
aber auch ein Bild, ein Link, ein Musikstück oder die Kombination aus allem sein. Um
einen Überblick über die Inhalte zu behalten, bettet man sie in Strukturen ein, bei-
spielsweise Texte in verschiedene Kategorien. Auch die Kategorien sind natürlich
Inhalte, die verwaltet werden müssen.

1.3.4 Templates
Ein Template ist eine Art visuelle Schablone, die über die Inhalte gelegt wird. Ein
Template definiert die Farben, Schriftarten, Schriftgrößen, Hintergrundbilder, Ab-
stände und Aufteilung der Seite und somit alles, was mit dem Erscheinungsbild der
Seite zu tun hat.

1.3.5 Erweiterungen (Komponenten)


Jedes System muss erweiterbar sein und mit den Anforderungen wachsen. Unter den
Begriff Komponenten fallen Funktionalitäten, die in einen Sinnzusammenhang gehö-
ren. Typische Komponenten sind beispielsweise ein Online Shop, ein User Manager,
ein Newsletter-Verwaltungssystem oder ein Forensystem.
Komponenten enthalten die Geschäftslogik Ihrer Seite.
Module innerhalb der Komponenten werden genutzt, um die Inhalte in der
gewünschten Form im Template zu integrieren. Ein Letzte Neuigkeiten-Modul liefert
beispielweise die Überschriften der neuesten fünf Nachrichten an das Template. Ein
anderes Modul ermittelt die Anzahl der User, die gerade online sind, oder die Wetter-
daten Ihres aktuellen Wohnortes.

1.3.6 Workflow
Unter Workflow versteht man einen Arbeitsablauf. Der deutsche Dreisatz (stempeln,
lochen, abheften) ist ein Beispiel für einen Workflow. Auch ein Rezept zum Backen
eines Kuchens ist ein Workflow. Da bei einem CMS meist mehrere Menschen die
Inhalte bearbeiten, ist ein gut organisierter Workflow eine echte Hilfe.
Manchmal spricht man in diesem Zusammenhang auch von Arbeitsvorräten, die ein
bestimmter User hat. Beispielweise sieht der Editor eine Liste von geposteten Neuig-
keiten, die er auf Richtigkeit zu untersuchen hat. Nach der Prüfung schaltet er die

20
1.4 Mambo als Immobilie?

Neuigkeiten frei und sie erscheinen im Arbeitsvorrat des Publishers, der sich nun
überlegen muss, ob er die Nachricht auf der Startseite veröffentlicht.

1.3.7 Konfigurationseinstellungen
Hier werden Einstellungen festgelegt, die für die gesamte Homepage gelten. Dazu
gehören beispielsweise der Titeltext im Browserfenster, Schlüsselwörter für Such-
maschinen, Schalter, die es erlauben oder verbieten sich auf der Seite anzumelden, die
die gesamte Seite offline oder online schalten und viele weitere Funktionen.

1.4 Mambo als Immobilie?


Mambo ist eine Art Baukasten, mit dem Sie, wenn es einmal auf dem Server installiert
ist, Ihre Homepage erstellen und pflegen können. Mambo ist wie ein Haus, das Sie
sich auf einem Grundstück Ihrer Wahl bauen und das Sie nach und nach einrichten.
Also gewissermaßen eine Immobilie.
Halt! Ich rede die ganze Zeit von Mobilität und nun sollen Sie eine Immobilie bauen?
Keine Angst, die Immobilie die Sie bauen werden, befindet sich zwar physikalisch an
einem Ort (Ihrem Server), ist aber von jedem anderen Ort aus zugänglich. Um eine
Immobilie bewohnbar zu machen, brauchen Sie lebensnotwendige Versorgungsleis-
tungen wie Heizung, Strom und Wasserversorgung. Das ist der Grund, warum Ihr
Mambo auf einem möglichst sicheren Server deponiert wird, bei dem hoffentlich nie
der Strom ausfällt. Denken Sie an die Abkürzung 24/7.
Wie bei einem Haus haben Sie auch in Mambo eine bestimmte Raumaufteilung. Sie
haben einen Raum zum Repräsentieren, einen zum Kochen und Reden, einen zum
Arbeiten und einen ganz privaten, den Sie nur guten Freunden zeigen. Vielleicht
haben Sie auch einen großen Raum, der alle Bereiche integriert.
Egal für welche Raumaufteilung Sie sich entscheiden – Sie müssen Ihr Haus möblie-
ren, mit einem schönen Fußboden versehen, die Wände tapezieren, ein paar Bilder an
die Wand hängen und natürlich auch regelmäßig sauber machen. Die vielen Gäste
hinterlassen ja Spuren, die nicht immer erwünscht sind.
Damit Besucher Ihr Haus auch finden, braucht es eine Adresse, unter der es gefunden
werden kann. Diese Adresse muss möglichst vielen Menschen bekannt sein. Da es im
Internet kein Einwohnermeldeamt gibt, müssen Sie sich selbst um das Thema »Wie
werde ich gefunden« kümmern.
Vielleicht haben Sie um Ihr Haus herum auch einen Garten mit verschiedenen Ein-
gangstoren. Einem offiziellen Eingangsportal, einen Hintereingang und vielleicht
noch eine kleine verwitterte Gartenpforte für die guten Freunde.

21
1 Begriffe und Konzepte

Vielleicht mögen Sie ja solche Häuser gar nicht und benutzen eher Bauwagen, Zelte,
Wohnmobile, Hotels oder bevorzugen Wohngemeinschaften. Vielleicht wohnen Sie
auch gern zur Miete und wollen sich über diese Dinge keine Gedanken machen.
Wenn Sie die letzten Sätze auf Ihre Homepage beziehen, so merken Sie schon, dass es
wichtig ist zu wissen, was Sie wollen, wer Sie sind und wie Sie Ihrer Umwelt erschei-
nen wollen.
Man kann nicht nicht kommunizieren! Man kann aber sehr schnell falsch verstanden
werden.
Also planen Sie Ihr virtuelles Haus im Internet genau. Denken Sie nach über die Texte
und über die Farbgestaltungen, über mögliche interaktive Elemente wie einen Kalen-
der oder ein Forum und natürlich einen Bereich, den nur registrierte Benutzer sehen
dürfen.
Denken Sie an Benutzerführungen, die Benutzer führen und nicht bevormunden, und
schauen Sie sich mal um, wie andere es machen.
Reden Sie mit den Menschen, die Sie mit Ihrer Homepage ansprechen wollen und
investieren Sie viel Herzblut in diese Dinge, die ganz entscheidend für den Erfolg
Ihres Auftritts sind.

1.4.1 Mambo-Versionen
Bei Mambo gibt es wie bei jeder Software verschiedene Entwicklungsstufen. Dieses
Buch befasst sich mit der Version 4.5.2.
Wie Sie an der relativ hohen Versionsnummer sehen, ist Mambo bereits sehr ausge-
reift und durchgetestet.
Die Versionen 4.5.1, 4.5.2 und die im Jahr 2005 erscheinenden Versionen 4.5.3 und
4.5.4 sind miteinander kompatibel.
Diese Kompatibilität ist wichtig bei Sicherheitsupdates und bei der Nutzung von
externen Komponenten und Modulen. Eine Gästebuchkomponente, die für die Ver-
sion 4.5.1 geschrieben wurde, sollte auch unter Version 4.5.2 und weiteren Versionen
laufen.
Eine früher geplante Version 4.6 wird es nicht mehr geben. Die aktuelle Roadmap
wurde Ende Februar 2005 veröffentlicht9. Der nächste Versionssprung geht Anfang
des Jahres 2006 auf die Version Mambo 5. Momentan (April 2005) dreht sich das Ver-
sionskarussell bei Mambo noch recht schnell. Die Version 5.0 wird allerdings Ruhe in
die Entwicklung bringen.
Unabhängig davon, welche Version Sie benutzen, die grundsätzlichen Konzepte und
Bedienungsabläufe sind in allen Versionen die gleichen.

9 http://mamboserver.com/menu/Mambo_4.5_and_5.0_Roadmap/

22
1.4 Mambo als Immobilie?

1.4.2 Mambo-Features
Hier eine Auflistung der Mambo-Features in Kurzform:
 Der Quellcode ist frei verfügbar.
 Es existiert eine große und eifrige Benutzer- und Entwicklergemeinschaft.
 Ein einfaches Workflow-System
 Caching Mechanismus, um einen schnellen Seitenaufbau bei beliebten Seiten
sicher zu stellen
 Papierkorb
 Banner Management
 Dateimanager für den Upload und die Verwaltung von Dateien
 Veröffentlichungssystem für Inhalte
 Inhaltszusammenfassungen im RSS-Format
 Suchmaschinenfreundliche URLs
 Mehrsprachiges Frontend
 Makrosprache für Inhalte (Mambots)
 Von der Homepage getrennte Administrationsoberfläche
 Einfaches, erweiterbares Template- und Komponentensystem
 Einfaches, aber mächtiges Template-System (HTML, CSS, PHP) ohne komplizierte
Template-Sprache
 Hierarchische Benutzergruppen
 Einfache Besucherstatistiken
 WYSIWYG-Editor für Inhalte
 Einfache Umfragen
 Bewertungssystem für Inhalte
Viele freie Erweiterungen auf der Seite http://www.mamboforge.net wie beispielsweise:
 Foren
 Bildergalerien
 Dokumenten Management Systeme
 Templates
 Kalender
 Und vieles andere mehr ...

23
1 Begriffe und Konzepte

1.4.3 Beispiele für Mambo-Seiten


Um ein Gefühl dafür zu bekommen, wie Mambo-Seiten aussehen und ob es die
Mambo-Seite überhaupt gibt, schauen Sie sich einfach mal ein paar an. Ich habe,
unabhängig vom Inhalt, mal eine Auswahl für Sie zusammengestellt, um Ihnen einen
Überblick über den Einsatzbereich von Mambo zu geben.

Porsche, Brasilien
Die Firma Porsche kennen Sie vermutlich. Ein Sportwagenhersteller aus Deutschland.

Abbildung 1.1: http://www.porsche.com.br/

PC Praxis, Deutschland
Ein Computermagazin aus Deutschland (siehe Abbildung 1.2 nächste Seite).

BSI DANS, Norwegen


Meine Norwegischkenntnisse sind leider nicht besonders fortgeschritten, aber das
Design ist sehr schön (siehe Abbildung 1.3 nächste Seite).

Team Lesotho, Lesotho


Die Seite des Entwicklungshilfeteams Aaron & Debbie Smart (siehe Abbildung 1.4
übernächste Seite).

24
1.4 Mambo als Immobilie?

Abbildung 1.2: http://www.pc-praxis.de/

Abbildung 1.3: http://www.bsi-dans.no/

25
1 Begriffe und Konzepte

Abbildung 1.4: http://www.teamlesotho.com/

Weitere Beispiele für Mambo-Seiten finden Sie unter


http://www.mamboawards.com/
und in der Galerie unter
http://www.mamboserver.com/.
Viel Spaß beim Stöbern – es lohnt sich.

26
2 Installation
Die Installation von Mambo selbst ist eine Sache von zwei Minuten. Damit die Instal-
lation überhaupt möglich ist, benötigen Sie als Entwicklungsumgebung das bereits
im ersten Kapitel angesprochene Dreamteam Apache, MySQL und PHP. An Apache
und MySQL stellt Mambo keine besonderen Anforderungen.
Sie können auch jeden anderen Webserver benutzen, der in der Lage ist, mit PHP
zusammenzuarbeiten1. Ab der nächsten Version von Mambo (4.5.3) soll es auch mög-
lich sein, andere Datenbanken als MySQL zu benutzen.
PHP muss in einer Version größer als 4.1.2 vorliegen und die Unterstützung für
MySQL und Zlib muss einkompiliert sein. Zlib ist eine Bibliothek, die es PHP ermög-
licht, Dateipakete zu lesen, die mit dem ZIP-Verfahren komprimiert wurden.
Die Installation muss auf einem Server stattfinden, der über das Internet erreichbar
ist. Also in der Regel ein Server bei einem Internetprovider.
Bevor Sie sich in die Wildnis des Internets begeben, sollten Sie erst mal lokal auf
Ihrem PC üben. Das hat den Vorteil, dass es erstens keine Verbindungsgebühren kos-
tet, zweitens sehr schnell ist und drittens Sie in aller Ruhe alles ausprobieren können.
Vielleicht haben Sie ja zu Hause sogar ein kleines PC-Netzwerk. Dann können Sie
Mambo auf einem PC installieren und von den anderen PC darauf zugreifen.
Um die Beschaffung der benötigten Downloads ein wenig zu erleichtern, habe ich alle
Downloads, die in diesem Buch besprochen werden, auf der Website zum Buch2
zusammengestellt. Im Anhang des Buches finden Sie eine Liste der Dateipakete. Für
eine lokale Installation sind diese Dateien durchaus geeignet, da sich damit die Bei-
spiele im Buch gut nachvollziehen lassen.
Denken Sie aber daran, dass es vermutlich aktuellere Versionen auf den jeweiligen
Projektseiten im Internet gibt. Wenn Sie Mambo in the wild, also auf einem Server im
Internet, installieren, sollten Sie immer die letzte stabile Version verwenden.

1 http://de.wikipedia.org/wiki/Webserver
2 Unter der Adresse www.alternative-unternehmensberatung.de stehen die Dateidownloads zur
Verfügung.
2 Installation

2.1 Lokale Serverumgebung einrichten


Um Mambo lokal installieren zu können, müssen Sie die entsprechende Serverumge-
bung bereitstellen.

2.1.1 Windows
Windows ist sehr benutzerfreundlich und weit verbreitet. Über 90 % aller PC arbeiten
mit Windows als Betriebssystem. Leider sind weder der Webserver Apache, noch die
Datenbank MySQL oder PHP im Lieferumfang enthalten.
Sie können jedes dieser Programme einzeln installieren, Sie können allerdings auch
auf ein vorkonfiguriertes Paket zurückgreifen. Das schont die Nerven und ist einfach
praktisch.
Melden Sie sich auf Ihrem System im Administratormodus an. Falls Sie nicht wissen,
ob Sie Administratorrechte haben, sehen Sie in START -> SYSTEMSTEUERUNG -> BENUT-
ZERKONTEN nach und ändern Sie die Rechte gegebenenfalls (Abbildung 2.1).

Abbildung 2.1: Benutzerkonten in WinXP

XAMPP für Windows


XAMPP ist ein Projekt von Kai Seidler und Kay Vogelgesang. Die beiden »backen«
seit mehreren Jahren eine komplette Entwicklungsumgebung mit den Zutaten Apa-
che, MySQL, PHP, Perl und diversen sinnvollen Erweiterungen und stellen sie auf
ihrer Homepage3 als ZIP-Archiv für gängige Betriebssysteme zur Verfügung. Das ist
von immensem Vorteil für Menschen wie Sie und mich, da wir ja in erster Linie an
Mambo interessiert sind und nicht so sehr daran, wie das Drumherum funktioniert.

3 http://www.apachefriends.org/

28
2.1 Lokale Serverumgebung einrichten

Außerdem kann man die ganze Installation mit einem Mausklick wieder rückstands-
frei vom Windows-PC entfernen.
Jetzt aber los:
Laden Sie sich die Datei xampplite-win32-1.4.12.zip herunter4.
Packen Sie die Datei auf der Laufwerksebene eines beliebigen Laufwerkes aus. Es ent-
steht ein Verzeichnis xampplite(Abbildung 2.2).

Abbildung 2.2: xampplite-Verzeichnis

Doppelklicken Sie auf die Datei setup_xampp.bat im xampplite-Verzeichnis (Abbildung


2.3). Xampp macht selbst keine Einträge in die Windows Registry und setzt auch keine
Systemvariablen.
Jetzt können Sie den Apache starten. PHP wird dabei als Modul mitgestartet. Dop-
pelklicken Sie auf die Datei [Laufwerk]:\xampplite\apache_start.bat.
Es öffnet sich eine Kommandoaufforderung, die anzeigt, dass Apache gestartet
wurde (Abbildung 2.4).

4 Im Anhang finden Sie beschrieben, wie Sie an die Downloads kommen.

29
2 Installation

Abbildung 2.3: setup_xampp.bat ausführen

AchtungAchtung
Die Kommandoaufforderung können Sie minimieren, Sie dürfen sie
aber nicht schließen, denn durch ihr Schließen würde der Apache-
Webserver heruntergefahren.

Abbildung 2.4: Start Apache-Webserver

Starten Sie MySQL mit einem Doppelklick auf die Datei [Laufwerk]:\xampp-
lite\mysql_start.bat. Im Gegensatz zu Apache gibt es hier ein separates Script zum
Herunterfahren. Es heißt mysql_stop.bat und Sie können MySQL damit regulär been-
den (Abbildung 2.5).

30
2.1 Lokale Serverumgebung einrichten

Abbildung 2.5: Start MySQL

Öffnen Sie Ihren Internetbrowser und geben Sie http://127.0.0.1/ oder http://localhost/
ein. Danach sollten Sie die XAMPP-Startseite sehen. Klicken Sie auf den Link
DEUTSCH und es zeigt sich folgende Seite.

Abbildung 2.6: Startseite XAMPP für Windows

Das Dokumentenverzeichnis für Ihre Homepage ist

[Laufwerk]:\xampplite\htdocs.

In diesem Verzeichnis liegen alle von einem anderen Rechner im Internet zugängli-
chen Seiten. Lesen Sie die beigelegte readme_de.txt-Datei. Hier finden Sie weitere
Informationen zu den benötigten Passwörtern.
Wenn Sie das Paket deinstallieren wollen, stoppen Sie alle laufenden Server und
löschen Sie einfach das xampplite-Verzeichnis.

31
2 Installation

Mambo Stand Alone Server (MSAS)


Das Mambo Stand Alone Server(MSAS)-Projekt bietet auf seiner Homepage ein kom-
plett vorkonfiguriertes Mambo 4.5.2-System zum Download an5. Es beinhaltet neben
Mambo auch Apache, MySQL und PHP. Sie können dieses System auf Ihren PC laden
und per Doppelklick installieren und haben dann ein lauffähiges Mambo-System.
Da es in diesem Buch auch um die Installation von Mambo geht, habe ich mich für die
xampplite-Variante entschieden.

2.1.2 Linux
Bei Linux liegen die Dinge meist einfacher. Es gibt verschiedene Distributionen mit
verschiedenen Standardkonfigurationen. Meist ist unser Dreamteam vorinstalliert
und muss nur gestartet werden. Es besteht auch die Möglichkeit, eine XAMPP-Ver-
sion für Linux zu installieren. Meines Erachtens ist es hier allerdings sinnvoller, auf
die Originalprogramme zurückzugreifen. Die Installation erfolgt mittels Paketmana-
ger und ist sehr einfach.

SUSE (9.1)
Mit Hilfe des Konfigurationsprogramms YaST können Sie überprüfen, ob Apache,
MySQL und PHP bereits installiert sind. Sollte das nicht der Fall sein, wählen Sie die
entsprechenden Pakete zur Installation aus und lassen Sie sie durch YaST installieren.
Im Einzelnen handelt es sich um die Pakete:
 apache2, apache2-devel, apache2-mod_php4
 mysql, php4-mysql
Sie finden diese Pakete über die Oberfläche von YaST (Abbildung 2.1) auf den Daten-
trägern Ihrer SUSE-Distribution oder im Internet.

Abbildung 2.7: YaST, von einem Windows-PC aus in einer Shell aufgerufen

5 http://www.mambosolutions.com/main/content/view/13/59/

32
2.1 Lokale Serverumgebung einrichten

Starten Sie den Webserver Apache durch den Befehl /etc/init.d/apache2ctl start und
den Datenbankserver MySQL über /etc/init.d/mysql start.
Stoppen können Sie beide mit dem Parameter stop. Eine Übersicht über alle Parame-
ter erhalten Sie mit help.

Debian 3.1 »Sarge«/Knoppix


Bei Debian heißt das Mittel der Wahl apt. Mit Hilfe des Programms apt können Sie
Apache, MySQL und PHP installieren.

apt-get install [paketname]

Im Einzelnen handelt es sich um die Pakete:


 apache-common – Support files for all Apache webservers
 php4 – A server-side, HTML-embedded scripting language
 mysql-common – mysql database common files (e.g. /etc/mysql/my.cnf)
 mysql-server – mysql database server binaries
Sie finden diese Pakete automatisch über apt im Internet oder auf der Debian
CD/DVD.
Starten Sie Apache dann durch den Befehl /etc/init.d/apachectl start und MySQL
über /etc/init.d/mysql start.

Eigener Server bei einem Provider


Wenn Sie einen kompletten Server bei einem Provider gemietet haben, so haben Sie
meist einen Shell-Zugang und die freie Wahl der Linux-Distribution, die Sie benutzen
wollen. Außerdem ist das System vorkonfiguriert und enthält bereits alle notwendi-
gen Dateipakete und Konfigurationen. Für die Konfiguration dieser Server werden
meist spezielle Administrationsoberflächen wie Confixx6 oder Visas7 benutzt. Mit
diesen Tools können Sie Ihren Server und die Dienste Apache und MySQL bequem
über eine Browseroberfläche starten, stoppen und konfigurieren.

6 http://www.sw-soft.com/de/products/confixx/
7 http://www.visas.de/

33
2 Installation

2.2 Auf einem virtuellen Server im Netz


Die Installation bei verschiedenen Providern können Sie aus Aktualitätsgründen in
einem Online-PDF nachlesen

2.3 Mambo installieren


Um Mambo installieren zu können, benötigen Sie zunächst den Quellcode. Laden Sie
das Paket MamboV4.5.2-Stable.tar.gz und speichern es auf Ihrem System8.

2.3.1 In welches Verzeichnis installieren?


Sie müssen sich überlegen, ob Ihr Mambo direkt in das Dokumentenverzeichnis
installiert werden soll oder in ein Unterverzeichnis. Das ist wichtig, weil Sie vermut-
lich einen möglichst kurzen URL zu Ihrer Homepage möchten.

Beispiel:
Wenn Sie Mambo direkt in /htdocs auspacken, so startet Ihre Webseite, wenn Sie auf
Ihrem lokalen PC http://localhost/ bzw. auf Ihrem Server im Internet Ihren Domain-
namen http://www.meinehomepage.de/ aufrufen. Erstellen Sie unter /htdocs/ noch ein
weiteres Verzeichnis, beispielsweise /htdocs/meinmambo/ und entpacken das Paket dort,
so müssen Sie im Browser http://localhost/meinmambo/ eingeben. Lokal ist das kein
Problem, auf einer produktiven Seite im Internet sieht das nicht so gut aus.
In Ihrer lokalen xampplite-Umgebung unter Windows liegen allerdings schon einige
HTML-Dateien und Unterverzeichnisse in /htdocs, die beispielsweise die Begrü-
ßungsseite von xampplite anzeigen (Abbildung 2.6). In Ihrer lokalen Linux Umge-
bung wird Ihnen ebenfalls eine Startseite, abhängig von der Distribution und den
Webservereinstellungen, angezeigt.

2.3.2 Lokale Installation von Mambo


Verzeichnis
Ich schlage vor, Sie erstellen sich ein Unterverzeichnis mit dem Namen mambo unter-
halb Ihres Dokumentenverzeichnisses. In Windows nehmen Sie dazu den Windows
Explorer, in Linux entweder die Shell, den KDE Konqueror oder den Midnight Com-
mander.

[Dokument Home]/htdocs/mambo/

8 Downloadmöglichkeit: siehe Anhang.

34
2.3 Mambo installieren

Im Windows Explorer sollte Ihr Verzeichnisbaum nun folgendermaßen aussehen


(Abbildung 2.8).

Abbildung 2.8: Mambo-Verzeichnis

Wenn Sie in Ihrem Browser http://localhost/mambo/ eingeben, erscheint in der xampplite-


Variante eine Seite mit einem leeren Inhaltsverzeichnis (Abbildung 2.9).

Abbildung 2.9: Apache Verzeichnisanzeige

Unter Linux oder bei einer anderen Konfiguration kann es sein, dass Sie eine Mel-
dung erhalten, derzufolge Sie keinen Zugriff auf dieses Verzeichnis haben. Das hängt
mit der Konfiguration des Webservers zusammen. Aus Sicherheitsgründen ist die
automatische Verzeichnisanzeige oft deaktiviert. Ein potentieller Angreifer könnte
aus diesen Informationen viele interessante Schlüsse über die Verzeichnisstruktur
und die Dateien auf Ihrer Homepage ziehen und sie dann gezielt angreifen.

Entpacken
Jetzt können Sie endlich das Dateipaket MamboV4.5.2-Stable.tar.gz in das vorbereitete
Verzeichnis auspacken. Das Dateipaket ist ein so genannter komprimierter Tarball.
Unter Windows XP können Sie dieses Paket direkt mit dem Datei-Explorer auspa-
cken. Unter allen anderen Windows-Versionen benötigen Sie ein separates Packpro-
gamm wie beispielsweise das freie Programm Filzip (Download siehe Anhang).

35
2 Installation

Unter Linux benutzen Sie in einer Shell den Befehl

$ tar -zxvf MamboV4.5.2-Stable.tar.gz

Nach dem Entpacken sehen Sie im Windows Explorer die folgenden Verzeichnisse
und Dateien (Abbildung 2.10).

Abbildung 2.10: Mambo-Quellcodedateien

Diese Struktur ist auf allen Betriebsystemen die gleiche. Unterschiede bestehen nur in
der Darstellung. In Abbildung 2.11 sehen Sie beispielsweise eine Darstellung in einem
FTP-Client. Im linken Fenster sehen Sie Ihren lokalen PC, im rechten Fenster Ihren
entfernten Webserver.

Abbildung 2.11: Mambo-Dateien im FTP Client WSFTP

36
2.3 Mambo installieren

Mambo-Webinstaller
Ab jetzt geht alles blitzschnell, weil der Mambo-Webinstaller das Kommando über-
nimmt. Rufen Sie den URL http://localhost/mambo/ auf. Der Webinstaller meldet sich in
englischer Sprache mit dem pre-installation check. Dieser Check soll Ihnen helfen zu
beurteilen, ob Ihre Umgebung für die Installation von Mambo geeignet ist.

Abbildung 2.12: Mambo-Webinstaller pre-installation check

Die Installation des Webinstallers erfolgt in mehreren Schritten. Wenn Sie überwie-
gend grüne Testergebnisse sehen, so ist das schon mal ein gutes Zeichen. Abhängig
von Ihrer Konfiguration kann es hier Unterschiede geben. Der Webinstaller berück-
sichtigt die Konfigurationseinstellungen von Apache, PHP und dem Betriebssystem.
Auf Linux-Systemen sollten Sie auf Schreibberechtigungen achten. Wenn Sie mit der
xampplite-Lösung unter Windows arbeiten, sollte es bei Ihnen so aussehen wie bei
mir. Klicken Sie auf NEXT und Sie erhalten die Anzeige der GNU/GPL-Lizenz, die Sie
durch Ankreuzen des entsprechenden Feldes akzeptieren müssen.

37
2 Installation

HinweisHinweis
Eine deutsche Übersetzung dieser Lizenz finden Sie unter
http://www.gnu.de/gpl-ger.html

Schritt 1 (Step 1)
Nach diesen Vorbereitungen gelangen Sie nun zum Schritt 1 des Webinstallers. In
einem Formular werden die Datenbankparameter abgefragt (Abbildung 2.13). In der
xampplite-Serverumgebung können Sie beliebig viele Datenbanken anlegen und
haben einen MySQL-Benutzer mit dem Namen root ohne Passwort. Aus diesem
Grund kann ich im Installer den Namen einer Datenbank angeben, die noch nicht
existiert. Der Installer legt sie einfach an. In einer produktiven Umgebung werden
Ihnen die Datenbankzugangsdaten in der Regel vorgegeben.

Abbildung 2.13: Webinstaller, Schritt 1

Tragen Sie bei einer lokalen xampplite-Installation folgende Werte ein:

Host Name: localhost


MySQL Username: root
MySQL Password: [leer lassen – Achtung Sicherheitsrisiko !!]
MySQL Database Name: mambo452

38
2.3 Mambo installieren

Der MySQL Table Prefix ist eine praktische Sache. Vor jede Tabelle, die der Web-
installer erzeugt, schreibt er den Text, den Sie in das Prefix-Feld eingeben. Standard-
mäßig schlägt der Webinstaller mos_ vor.
Das hat einen einfachen Grund. Manchmal erhalten Sie bei einem Internetprovider
nur eine MySQL-Datenbank. Wenn Sie nun zwei Mambo-Seiten betreiben wollen,
hätten Sie ein Problem, da Sie ja die Tabellen nicht voneinander unterscheiden kön-
nen. Durch den Tabellennamen prefix ist es möglich, die Tabellen verschiedener
Mambo-Installationen auseinander zu halten (mambomueller_ oder mamboschulze_). Hier
sollten Sie den Standard mos_ übernehmen.
Drop existing Tables: Sollte es eine »frische« Installation in eine leere Datenbank sein,
brauchen Sie hier nichts anzukreuzen. Wenn Sie allerdings ein altes Mambo in Ihrer
Datenbank haben, können Sie mit diesem Schalter dafür sorgen, dass die alten
Dateien überschrieben werden.
Backup old Tables: Mit Mambo lassen sich Datensicherungen (Backups) erstellen. Die
Backups werden in speziellen Backup-Tabellen gespeichert. Wenn Sie hier ein Kreuz-
chen setzen, werden die alten Backup-Tabellen ersetzt.
Install Sample Data: Diese Auswahl ist standardmäßig angekreuzt. Wenn Sie den
Haken dort lassen, so wird Ihre Homepage mit Beispieldaten gefüllt, damit Sie eine
Vorstellung vom späteren Aussehen erhalten. Füllen Sie Ihre Installation mit diesen
Beispieldaten. Wir werden im weiteren Verlauf des Buches damit arbeiten.
Klicken Sie auf den Button NEXT. Nach einer Sicherheitsabfrage, ob die Installation
wirklich durchgeführt werden soll, legt der Webinstaller die Datenbank und die ent-
sprechenden Tabellen an.

Schritt 2 (Step 2)
In Schritt 2 legen Sie den Namen Ihrer Homepage fest (Abbildung 2.14).

Abbildung 2.14: Webinstaller Schritt 2

39
2 Installation

Dieser Name taucht in der Titelzeile des Browserfensters auf, wenn jemand Ihre
Homepage aufruft. Der Name wird auch an verschiedenen anderen Stellen benutzt,
beispielsweise bei Bestätigungsmails an registrierte Benutzer.
Wählen Sie einen aussagekräftigen Namen. Ich nehme für unsere Beispielseite den
Namen Mambo452. Klicken Sie auf NEXT und der Name wird gesetzt.

Schritt 3 (Step 3)
In Schritt 3 müssen Sie ein paar Basiseinstellungen bestätigen. Diese Einstellungen
sind wichtig, um dem Mambo-System die Orientierung auf Ihrem Server zu erlauben
(Abbildung 2.15).

Abbildung 2.15: Webinstaller Schritt 3

URL: Das ist der URL, unter dem Ihre Homepage erreichbar ist.
Path: Das ist der Dateipfad auf dem Server, der zu Ihrer Seite führt. In unserem Fall
ist es die Windows-Umgebung.
Your e-Mail: Tragen Sie hier Ihre E-Mail-Adresse ein. Als Administrator erhalten Sie
hin und wieder Post von Ihrer Homepage.
Admin Password: Mambo schlägt ein Passwort vor. Sie sollten es übernehmen oder
ein ähnlich kompliziertes Passwort bei einer Internetinstallation wählen. Bei der loka-
len Installation können Sie sich etwas Einfacheres ausdenken.
Die beiden Auswahlmöglichkeiten bei den Datei- und Verzeichnisrechten sollten Sie
übernehmen. Bei der Installation setzt Mambo automatisch Zugriffsrechte für Teile
des Systems, in denen Dateien hochgeladen oder Programmteile installiert werden.

40
2.3 Mambo installieren

Sie sollten alle vorgeschlagenen Werte übernehmen und um Ihre E-Mail-Adresse


ergänzen.

Schritt 4 (Step 4)
Der vierte und letzte Schritt gratuliert zur erfolgreichen Installation. Ich gratuliere
auch.
In roter, fetter Schrift steht dort, dass Sie bitte das Verzeichnis mit dem Namen Instal-
lation löschen sollen. Diesen Hinweis sollten Sie jetzt beherzigen, denn Ihre Mambo-
Homepage läuft ohne diese Maßnahme nicht.
Außerdem werden Ihnen noch mal Ihre Login-Daten angezeigt. Notieren Sie sich den
Usernamen und das Passwort am besten auf einen Zettel.

HinweisHinweis
Beachten Sie aber, dass Mambo ein neues Passwort vergibt, wenn Sie
von Schritt 4 noch einmal zurückgehen – etwa wenn Sie eine Einstel-
lung ändern wollen oder weil die Installation doch nicht richtig
geklappt hat. Für den Fall, dass Sie das Administratorpasswort ver-
gessen/verlegt haben sollten, finden Sie im Anhang eine Lösung.

Abbildung 2.16: Webinstaller Schritt 4

Die Installation ist jetzt vollbracht und Sie haben die Wahl zwischen VIEW SITE
(Homepage ansehen) und ADMINISTRATION (Administrationsoberfläche).
Sehen Sie ruhig mal Ihre frisch erstellte Homepage an und klicken Sie auf VIEW SITE.
Sollten Sie noch nicht das Verzeichnis Installation gelöscht haben, erhalten Sie jetzt
noch einmal einen freundlichen Hinweis, es zu löschen und anschließend die Seite zu
aktualisieren.

41
2 Installation

Das Ergebnis sieht sehr eindruckvoll aus.

Abbildung 2.17: Ihre Homepage direkt nach der Installation

Schauen Sie sich in Ruhe um, klicken Sie ein paar Möglichkeiten durch und versuchen
Sie sich zu orientieren. In dieser mit Beispieldaten gefüllten Homepage werden viele
Funktionalitäten von Mambo genutzt und wir werden uns diese in Ruhe ansehen.

42
3 Ein Rundgang durch Ihre neue
Homepage
Nachdem Sie nun Ihre Homepage installiert und vorsichtig erkundet haben, können
wir uns das Ergebnis gemeinsam ansehen. Auf den ersten Blick sehen diese Seiten ein
wenig verwirrend aus. Grundsätzlich teilen sie sich in ein Frontend und ein Backend.
Das Frontend sieht der Kunde, der Websurfer und das Backend nur die Mitarbeiter,
bzw. Administratoren.

3.1 Frontend
Wenn Sie sich ein wenig Zeit nehmen, werden Sie feststellen, dass viele verschiedene
Funktionen in die Seite integriert sind.
Um eine bessere Übersicht zu erhalten, habe ich die Bereiche auf der Seite markiert
und beschriftet (Abbildung 3.1).
Die Kunst des Webdesigns besteht jetzt darin, die für Ihre Homepage wichtigen Ele-
mente zu erkennen, die unwichtigen wegzulassen und alles in einer für den Benutzer
logischen, schnell überschaubaren und ansehnlichen Form darzustellen. Das Ergeb-
nis ist immer ein Kompromiss aus Funktionsvielfalt und Gestaltung.
Vom Aufbau her erinnert diese Struktur an eine Tageszeitung oder eine Portalseite
wie Yahoo! oder Freenet. Es gibt Kästen links und rechts mit genau definierten Inhal-
ten. In der Mitte stehen Nachrichten.
Das Layout der Seite bestimmt ein so genanntes Template. Templates sind austausch-
und änderbar, das heißt, sie können die gleichen Inhalte in verschiedenen Layouts
anzeigen. Jede Tageszeitung würde Sie um diese Möglichkeit beneiden.
3 Ein Rundgang durch Ihre neue Homepage

Abbildung 3.1: Struktur der Beispiel-Homepage

Gehen wir das Beispiellayout mal genauer durch. Es gibt vier verschiedene Katego-
rien von Bereichen auf der Seite:
 Menüs
 Funktionen
 Inhalte
 Dekorative Elemente

3.1.1 Menüs
Menüs sollen dem Benutzer die Navigation in der Seite so leicht wie möglich machen.
Für verschiedene Aufgaben gibt es verschiedene Menüs. Mambo hat in den Beispiel-
daten vier Menüarten vordefiniert. Sie können beliebig viele weitere Menüs hinzufü-
gen. Das vierte Menü wird in unserem Beispiel übrigens nicht gezeigt. Es handelt sich
um das so genannte Usermenu, das der registrierte Benutzer sieht, nachdem er sich
eingeloggt hat.

44
3.1 Frontend

Oberes Menü

Abbildung 3.2: Top Menu

Das obere Menü heißt in Mambo Top Menu (Abbildung ). Es befindet sich möglichst
weit oben und soll dem Benutzer einen Schnellzugriff auf die wichtigsten Inhalte der
Seite geben. In Deutschland stehen in solchen Menüs oft die Begriffe Produkte, Kon-
takt, Impressum.

Hauptmenü
Das Hauptmenü (Main Menu) ist der zentrale Navigationspunkt der Seite (Abbildung
3.3). Hier sollte es immer eine Möglichkeit geben, wieder auf die erste Seite zurückzu-
kommen. Das Menü sollte auf jeder Seite der Homepage an genau derselben Stelle
wieder erscheinen. Das Hauptmenü ist ein wichtiger Orientierungspunkt für den
Benutzer.

Abbildung 3.3: Hauptmenü

Zusätzliches Menü

Abbildung 3.4: Zusätzliches Menü

Ein zusätzliches Menü (Other Menu) kann an verschiedenen Stellen auftauchen


(Modulpositionen). Abhängig vom Inhalt und Kontext der Seite kann es sinnvoll sein,
zusätzliche Menüpunkte anzubieten, beispielsweise in einer Shopkomponente.

45
3 Ein Rundgang durch Ihre neue Homepage

3.1.2 Inhalte
Da sind sie endlich. Die Inhalte! Der Content, den wir managen wollen.

Was ist Inhalt?


Inhalt kann eine Nachricht sein, ein redaktionell bearbeiteter Artikel, eine statische
Seite mit Erklärungen. Inhalt kann auch eine dynamische Linkliste1 sein, ein Shop2
oder ein Flohmarkt3.
Inhalt kann auch etwas völlig Dynamisches, für jeden offenes sein. Die freie Enzyklo-
pädie Wikipedia4 beispielsweise benutzt zur Verwaltung ihrer Inhalte ein System,
das es jedem erlaubt, die Inhalte zu ändern. Diese spezielle Form der Inhaltsverwal-
tung nennt sich Wiki5. Jeder darf die Inhalte verändern und sogar löschen. Es funk-
tioniert bisher erstaunlich gut.
Das Gegenteil von Wikis sind statische Inhalte, die einmal geschrieben, für eine lange
Zeit Gültigkeit haben. Dieses Buch beispielsweise. Es wird in Bezug auf die Versions-
nummern der behandelten Software veralten, bietet aber den Vorteil, dass es das
Thema umfassend im Zusammenhang erklärt und beleuchtet. Ich erzeuge Inhalte in
einer bestimmten Form und betreibe somit auch eine Form von Content Manage-
ment.
Prospekte, Flyer, Aufkleber, Geschäftsberichte, Betriebsanleitungen sind ebenfalls
meist statischer Natur. Sie werden für ein bestimmtes Ereignis erstellt und sind dann
irgendwann veraltet oder auch schlicht falsch.
Viele ältere Homepages bestehen ausschließlich aus statischen Elementen. Im Inter-
net ticken die Uhren jedoch ein wenig schneller. Was bei Büchern, Prospekten, u.Ä.
wohlwollend toleriert wird (schließlich kann ich z.B. das Buch auch am Strand und in
der U-Bahn lesen) wird von Homepage Besuchern als Mangel empfunden. Für das
Image Ihrer Firma gibt es vermutlich nichts Schlimmeres als eine 4 Jahre alte, statische
Homepage auf der auch noch ein »powered by ...«-Button prangt, der auf eine hoff-
nungslose veraltete Software hinweist.
Die Präsentationsmöglichkeiten von Inhalten sind unerschöpflich. Sie hängen vom
verfügbaren Endgerät, der verfügbaren Bandbreite und vielen anderen Dingen ab,
die wiederum abhängig vom Benutzer sind. Der Empfänger der Nachricht spielt eine
zunehmend wichtigere Rolle. Wer ist eigentlich Ihre Zielgruppe?
Es gibt eine Binsenweisheit, die lautet:
Content ist King!

1 http://www.google.de/
2 http://www.dell.de/
3 http://www.ebay.de/
4 http://www.wikipedia.de/
5 http://de.wikipedia.org/wiki/Wiki/

46
3.1 Frontend

Auf den Inhalt kommt es an. Jede Webagentur würde jetzt vermutlich milde lächeln
und sich an die tägliche Arbeit zur nächsten Website machen. Millionenschwere Wer-
beetats für Produkte wie Tiefkühlspinat oder Bier sind der beste Beweis dafür, dass
eine erfolgreiche Kommunikation auch ohne speziellen Inhalt funktioniert.
Grundsätzlich ist die Aussage, dass der Inhalt das Entscheidende ist, aber richtig.
Wenn Sie nichts zu sagen oder anzubieten haben, wird niemand Ihnen freiwillig
zuhören. Da Sie vermutlich keinen millionenschweren Werbeetat haben, können Sie
die Menschen auch nicht dazu zwingen. Inhaltsleere Seiten können noch so schön auf
noch so vielen Endgeräten zur Verfügung stehen. Kein Mensch wird sie freiwillig
besuchen.
6

HinweisHinweis
Überlegen Sie sich die Inhalte Ihrer Seite genau! Jeder, wirklich jeder
auf der Welt kann sie lesen und im Zweifel gegen Sie verwenden. Sie
können Opfer von Abmahnungsanwälten oder enttäuschten Kolle-
gen oder anderen unangenehmen Dingen werden.6
Auf der anderen Seite ist das natürlich auch ein unschlagbarer Vor-
teil: Jeder auf der Welt kann Ihre Inhalte lesen, seine Meinung dazu
sagen und mit Ihnen Kontakt aufnehmen. Welch eine Chance!
Sie sollten sich beider Dinge bewusst sein, wenn Sie die Inhalte kon-
zipieren.

Erste Seite/Frontpage
Inhalte werden auf der ersten Seite Ihrer Website angekündigt (Abbildung 3.5,
nächste Seite).
Inhalte haben einen Autor, ein Erstellungsdatum, eine Überschrift, einen Aufmacher
und vielleicht noch ein Bild. Der Aufmacher soll den Besucher neugierig machen und
ihn dazu bringen, auf einen read more ...-Link zu klicken, um die gesamte Nachricht zu
lesen.

Neueste Nachrichten/Am meisten gelesene Nachrichten


Die Nachricht kann jetzt in verschiedener Form angezeigt werden. Die Menschen
interessieren sich meist dafür, was das Neueste ist und was die Anderen so lesen (Abbil-
dung 3.6, nächste Seite).
Also hat unser Beispiellayout einen entsprechende Bereich, in dem immer die letzten
fünf Nachrichten stehen, und einen weiteren mit den am meisten gelesenen Nachrich-
ten. Dieser zweite Bereich wird möglich, weil Mambo sich jeden Aufruf einer Nach-
richt in der Datenbank merkt und die Zugriffe zählt.

6 http://www.internetfallen.de/Homepagebetreiber/homepagebetreiber.html

47
3 Ein Rundgang durch Ihre neue Homepage

Abbildung 3.5: Frontpage

Abbildung 3.6: Letzte Nachrichten/Am meisten gelesene Nachrichten

3.1.3 Werbung
Wenn Ihre Homepage beliebt ist und die Inhalte stimmen, können Sie Werbeplatz
verkaufen. Werbeplatz bedeutet meist Bannerschaltungen. Banner sind kleine Grafi-
ken im gif-, jpg-, png- oder swf-Format, die den Besucher dazu bringen sollen, durch
einen Klick auf das Banner Ihre Homepage zu verlassen. Wenn Sie das wirklich wol-
len, suchen Sie sich einen Platz in Ihrem Layout und denken Sie daran, ihn als Wer-
bung zu kennzeichnen.

48
3.1 Frontend

Bannerbereich
Der Bannerbereich ist von der Größe her vorgegeben durch die gängigen Banner. In
unserem Fall 468 * 60 Pixel (Abbildung 3.7).

Abbildung 3.7: Bannerbereich

3.1.4 Funktionen
Unter Funktionen versteht man Elemente, die benötigt werden, um Interaktivität zu
ermöglichen. In Mambo werden diese Funktionen mit dem Begriff Modul bezeichnet.
Ein Modul ist etwas, das auf der Webseite einen Platz einnimmt und eine bestimmte
Funktion erfüllt.

Login-Bereich
Ein Login-Modul ist wichtig, wenn Sie Ihre Homepage in einen öffentlichen und einen
geschützten Bereich aufteilen wollen. Der Besucher muss dann die Möglichkeit haben,
sich zu registrieren und anzumelden. Vielleicht vergisst er auch mal sein Passwort.
Das Login-Modul sollte alle Situationen berücksichtigen können (Abbildung 3.8).

Abbildung 3.8: Login-Modul

Umfragen
Da es hier um Inhalte für gewisse Zielgruppen geht, sollten wir die Gruppe, die sich
wirklich auf unserer Homepage bewegt, hin und wieder nach ihrer Meinung befra-
gen. Das ist die einfachste Art, an verwertbare Meinungen über Ihre Homepage zu
kommen.

49
3 Ein Rundgang durch Ihre neue Homepage

Mambo hat eine Umfragekomponente integriert, deren Anzeigemodul sich auf der
Beispielseite befindet (Abbildung 3.9).

Abbildung 3.9: Umfrage-Modul

Wer ist online?


Dieses Modul geht klar in die Richtung Kommunikation, Community. Nachdem der
Benutzer gesehen hat, welche Nachrichten neu und besonders beliebt sind, möchte er
natürlich wissen, wer gerade noch so auf der Homepage unterwegs ist. In diesem Fall
wird unterschieden zwischen Gästen und angemeldeten Benutzern (Abbildung 3.10).

HinweisHinweis
Überlegen Sie sich gut, ob Sie solche Features auf Ihrer Homepage
anbieten wollen. Wenn Sie im Inhalt behaupten, dass Sie die größte
Klingelton-Community in Deutschland sind und sich auf Ihrer
Homepage nur ein Gast tummelt, wirken Sie unglaubwürdig.
Wenn Sie dagegen wirklich ständig 10-20 Besucher und angemeldete
Benutzer haben, so ist das ein gutes Mittel, um Dynamik zu demons-
trieren.

Abbildung 3.10: Wer ist online?

Feeds
News-Feeds werden immer beliebter. Es sind standardisierte Sammlungen von Inhal-
ten, die dann weiterverarbeitet werden können. Also gewissermaßen der Inhalt Ihrer
Homepage ohne den Ballast der Webseite drumherum. Das Modul Syndication
(Abbildung 3.11) bietet verschiedenste Feeds an. Mehr über diese Technik erfahren
Sie in Abschnitt 4.7.7.

50
3.1 Frontend

Abbildung 3.11: Syndication-Modul

Zurück
Ein kleines Wort mit einer großen Bedeutung und einer Riesenportion Benutzer-
freundlichkeit. Nachdem man auf einen Link gedrückt hat, ist es manchmal gar nicht
so einfach, wieder genau dahin zurückzukommen, wo man vorher war.

Abbildung 3.12: Zurück!

Der Zurück (BACK)-Button versucht genau das zu ermöglichen.

Suchfeld
Ähnlich wie der Zurück-Button ist auch das Suchfeld ganz wesentlich für die Benut-
zerfreundlichkeit einer Website. Viele Seiten haben Suchfelder. Oftmals durchsuchen
die Programme hinter den Suchfelder aber eben nicht alle Inhalte der Seite. Bei
Mambo ist das natürlich anders: Alle Seiten werden auch wirklich durchsucht.

Abbildung 3.13: Suchfeld

Sie können einen Suchbegriff eingeben und auf der Tastatur auf (Enter) drücken.
Das Ergebnis ist eine Trefferliste, bei der der gesuchte Begriff auch optisch hervorge-
hoben wird.

3.1.5 Dekorative Elemente


Nach so vielen Funktionen, Modulen und Inhalten stellt sich die Frage nach dem
Design, der Corporate Identity, des Look and Feel der Homepage.
Ein Template stellt das Layout der Seite dar und wird wie eine Schablone über die
Inhalte gelegt. Da sich weder über Geschmack noch Schönheit wirklich streiten lässt,
gibt es die Möglichkeit, verschiedene Templates für denselben Inhalt zu erstellen. Bei-
spielweise könnte Ihre Homepage im Winter anders aussehen als im Sommer oder
während der Fußballweltmeisterschaft das Fußball-Outfit haben7.

7 Kapitel 6 beschäftigt sich mit dem Erstellen eigener Templates.

51
3 Ein Rundgang durch Ihre neue Homepage

Grundsätzlich besteht ein Template aus einem oder mehreren Logos, einer bestimm-
ten Farbkombination, ausgewählten Schriftarten und -größen, sowie der möglichst
geschickten Anordnung der zur Verfügung stehenden Inhalte. Im Beispieltemplate
gibt es zwei Logos (Abbildung 3.14) und eine Fußzeile (Abbildung 3.15).

Abbildung 3.14: Logo 1, Logo 2

Abbildung 3.15: Fußzeile

3.1.6 Aussichten
Nach diesem Rundgang und eigenen Erfahrungen beim Klicken können Sie vermut-
lich nachvollziehen, dass das Verwalten von Inhalten doch eine sehr anspruchsvolle
Aufgabe darstellen kann. Wichtig ist dabei vor allem, nicht den Überblick zu verlie-
ren.

3.2 Backend
Die Verwaltung der Seite findet im Backend mit dem Namen Mambo Administration
statt. Sie erreichen die Mambo-Administration unter dem URL
[Domainname]/administrator/
Wenn Sie ebenfalls mit der lokalen Installation arbeiten, lautet der URL
http://localhost/mambo/administrator/
Melden Sie sich mit Ihrem admin-Benutzer an.
Die Benutzerdaten haben Sie bei der Installation im Webinstaller selbst festgelegt.
Sie sehen eine Oberfläche mit Menüs, Icons und Karteireitern. Ganz wie Sie das von
der grafischen Benutzeroberflächen Ihres Betriebssystems gewohnt sind.
Die Sprache in Front- und Backend ist momentan noch Englisch. Für das Frontend
gibt es deutsche Sprachdateien, das Backend dagegen ist derzeit nur in Englisch ver-
fügbar. Das liegt daran, dass die Texte im Moment noch im Programm Quellcodes
des Backends stehen.

52
3.2 Backend

Abbildung 3.16: Mambo-Administration – Login

Abbildung 3.17: Mambo-Administration

53
3 Ein Rundgang durch Ihre neue Homepage

HinweisHinweis
Im weiteren Verlauf der Mambo-Entwicklung (ab Version 4.5.3) sol-
len die Texte in separate Sprachdateien wandern und dadurch das
Backend mehrsprachig werden lassen. Es gibt bereits heute deutsche
Backends, die allerdings bei den weiteren Updates nicht berücksich-
tigt werden. Ich empfehle daher, die Gelegenheit am Schopfe zu
packen und ein wenig Englisch zu lernen.
Außerdem gibt es für solche Fälle noch die Google-Sprachtools8: Ein-
fach den zu übersetzenden Text per Copy & Paste ins Formular beför-
dern und dann automatisch übersetzen lassen. Die Übersetzung ist
nicht perfekt, hilft aber in 90 % der Fälle, die Bedeutung zu erfassen.

AchtungAchtung
In einer produktiven Umgebung sollten Sie aus Sicherheitsgründen
das Verzeichnis [mambo]/administrator/ mit einer .htaccess-Datei
schützen. Durch die große Verbreitung von Mambo ist anzunehmen,
dass bald erste erfolgreiche Versuche unternommen werden, die
Administration zu hacken. Eine brauchbare Anleitung für das Erstel-
len einer solchen Datei finden Sie unter
http://de.selfhtml.org/servercgi/server/htaccess.htm
In Ihrer lokalen Installation ist der Schutz nicht notwendig.

8 http://www.google.de/language_tools

54
4 Mambo anpassen –
Customizing
Unter Customizing versteht man das Anpassen eines Standardprogramms an die
Bedürfnisse des Benutzers. In unserem Fall sind Sie der Benutzer und das Standard-
programm ist Mambo Open Source, genauer das Frontend Ihrer Mambo-Installation.
In der Mambo-Administration, die im letzten Kapitel angesprochen wurde, können
Sie Ihre Homepage anpassen, umbauen und mit Inhalten versehen.
Die typischen zwei Dinge, die Homepage-Besitzer als Erstes tun wollen, ist die Spra-
che auf die Muttersprache einstellen und die Farben und Strukturen verändern.
Also werden wir uns diesen beiden Dingen zuerst widmen.

4.1 Der erste Versuch – Man spricht deutsh1


Falls Sie mit Ihrer Homepage eine deutsche Zielgruppe erreichen wollen, immerhin
etwa 120 Millionen Menschen mit nicht zu verachtender Kaufkraft, sollten Sie selbst-
verständlich auf Ihrer Homepage die Sprache der Zielgruppe sprechen.
Wollen Sie ein internationales Publikum ansprechen, sollten Sie natürlich als Stan-
dard die englische Sprache beibehalten. Aber auch innerhalb Deutschlands gibt es
noch genug Auswahlmöglichkeiten bei der Sprache: neue oder alte Rechtschreibung?
Du oder Sie? Slangausdrücke, Denglisch oder seriös? Was ist seriös?
Unabhängig davon, wofür Sie sich entscheiden, Sie brauchen eine angepasste Sprach-
datei.
Als Basis nehmen Sie am besten das, was bereits vorhanden ist.

4.1.1 Installationen einer anderen Sprachdatei


Speichern Sie die Dateien m4.5.2_germani.zip und m4.5.2_germanf.zip auf Ihrem PC2.

1 http://www.digitalvd.de/dvd/14234.html
2 Downloadmöglichkeit: siehe Anhang.
4 Mambo anpassen – Customizing

Loggen Sie sich wie im zweiten Kapitel beschrieben in Ihre Mambo-Administration


ein und klicken Sie auf SITE  LANGUAGE MANAGER  INSTALL (Abbildung 4.1).

Abbildung 4.1: Sprachdatei installieren

Klicken Sie anschließend auf DURCHSUCHEN und wählen Sie zunächst die Datei
m4.5.2_germanf.zip aus. Klicken Sie auf UPLOAD FILE & INSTALL. Sollten alle Berechti-
gungen korrekt gesetzt sein, erhalten Sie die Meldung:

Upload language – Success

Abbildung 4.2: Sprachauswahl

Nach einem Klick auf den Link Continue sehen Sie die verfügbaren Sprachen. Außer
Englisch gibt es jetzt auch German Formal – Sie und ein paar Informationen über den

56
4.1 Der erste Versuch – Man spricht deutsh

Ersteller der Sprachdatei. In dem anderen ZIP-Archiv befindet sich die Sprachversion
mit der Anrede Du. Wenn Sie wollen, können Sie auch diese Version installieren.
Aber der grüne Haken für die Standardsprache steht noch neben English. Wählen Sie
die deutsche Variante aus und klicken Sie auf das Icon PUBLISH rechts über dem Langu-
age Manager. An dieser Stelle befinden sich immer die Icons, die Aktionen und Dialoge
abschließen.

4.1.2 Übersetzen eines Menüeintrags


Ihr Frontend spricht jetzt deutsch. Schauen Sie unter http://localhost/mambo/ nach und
achten Sie auf das Suchfeld, das Login Modul und klicken Sie im Main Menu mal auf
den Link Search.
Es ist eine atemberaubende Mischung aus Deutsch und Englisch auf der Seite zu
sehen. Alles, was automatisch per Programm funktioniert, wie beispielsweise das
Suchen oder die Anmeldeprozedur, sind auf Deutsch, der Rest aber nicht3.
Warum? Die Antwort ist ganz einfach. Nur die Wörter und Sätze, die bekannt sind,
können übersetzt werden. Ein großer Teil der Seite besteht jedoch aus eingegebenem
Inhalt. Dieser Inhalt erscheint in der Sprache, in der er eingegeben worden ist. In
unserem Fall sind die Beispieldaten in Englisch erstellt worden.
Aber bevor Sie die Beispielseite jetzt versuchen zu übersetzen, schauen Sie noch mal
auf die Buttons im Language Manager. Außer PUBLISH gibt es NEW, EDIT, DELETE und
HELP. Hinter dem Button HELP verbirgt sich die Mambo-Onlinehilfe. Natürlich eben-
falls auf Englisch :-(
Mit NEW installieren Sie neue Sprachpakete, mit DELETE können Sie sie wieder
löschen. Aber interessant ist natürlich der Button EDIT. Wählen Sie die Sprache aus,
die Sie sehen wollen, und klicken Sie auf EDIT. Der Language Editor öffnet sich und Sie
können online Änderungen vornehmen (Abbildung 4.3).
Blättern Sie mal ein wenig durch die Sprachdatei. Sie bekommen dadurch auch ein
Gefühl für die Funktionen von Mambo.
Momentan ist die Sprachdatei writeable, also von PHP oder irgendeinem anderen Tool
aus änderbar. Wenn Sie der Meinung sind, dass die Übersetzung nun gelungen ist
und ein wenig mehr Sicherheit haben wollen, kreuzen Sie einfach die entsprechende
Checkbox an, um die Datei unwriteable zu setzen. Die Schreibrechte werden der Datei
entzogen und beim nächsten Mal nur für den Speichervorgang gewährt. (Um die
ursprüngliche Rechtesituation wieder herzustellen, müssen Sie die Dateirechte mit
Ihrem FTP-Client oder in einer Shell mit dem Befehle chmod ändern.) Wenn Sie den
Language Editor wieder verlassen wollen, klicken Sie auf SAVE oder CANCEL.
Was müssen Sie nun tun, um beispielsweise den Menüeintrag Search in Suchen zu
ändern oder das Main Menu in Hauptmenü umzutaufen?

3 Um Ihre Inhalte auch mehrsprachig darzustellen, gibt es die Komponente Mambelfish von
Alex Kempkens – siehe Kapitel 7.

57
4 Mambo anpassen – Customizing

Abbildung 4.3: Language Editor

Verlassen Sie den Language Editor und klicken Sie auf MENU  MAINMENU. Sie befin-
den sich jetzt im Menu Manager. Klicken Sie auf den Link Search (Abbildung 4.4) und
editieren Sie ihn in dem daraufhin erscheinenden Formular (Abbildung 4.5).

Abbildung 4.4: Menu Manager

58
4.1 Der erste Versuch – Man spricht deutsh

Achten Sie noch nicht auf die zahlreiche Konfigurationsmöglichkeiten, sondern erset-
zen Sie einfach das Wort Search durch Suche und klicken Sie auf APPLY (zuweisen). In
Ihrem Main Menu auf der Homepage steht jetzt Suche!

Abbildung 4.5: Menu Item ändern

4.1.3 Ändern der Menübezeichnung


Um aus dem Main Menu ein Hauptmenü zu machen, öffnen Sie den Modulmanager
über MODULES  SITE MODULES (Abbildung 4.6). Durch einen Klick auf den Link
Main Menu erhalten Sie ein Formular, wie eben bei dem Menüeintrag.

Abbildung 4.6: Modulmanager

Ändern Sie einfach den Text und schon ist aus dem Main Menu ein Hauptmenü gewor-
den.

59
4 Mambo anpassen – Customizing

4.1.4 Ändern des Templates für Ihre Homepage


Nachdem jetzt alles schon etwas vertrauter ist, wollen Sie Ihre Homepage natürlich in
einem völlig anderen Design haben4.
Um zu zeigen, was Mambo von Haus aus mitbringt, wechseln Sie bitte über SITE 
TEMPLATE MANAGER  SITE TEMPLATES in den Template Manager (Abbildung 4.7).
Unter Site versteht man Ihre Homepage, also das Frontend. Wie Sie sehen, gibt es
auch Administrator-Templates.

Abbildung 4.7: Template Manager

Abbildung 4.8: Template Manager – Vorschaufunktion

Standardmäßig bringt Mambo drei fertige Templates mit.


Das momentan aktive Template wird durch einen grünen Haken gekennzeichnet.
Wenn Sie mit der Maus über den Link mit dem Namen des Templates fahren,
erscheint ein kleines Vorschaubild (Abbildung 4.8). Um das Template Ihrer Home-
page zuzuordnen, wählen Sie den Radiobutton vor dem Namen des gewünschten

4 Mehr über Templates finden Sie im Kapitel 6.

60
4.2 Aufbau der Mambo-Administration

Templates aus und klicken Sie in der Menüleiste auf DEFAULT. Wechseln Sie auf Ihre
Homepage und klicken Sie im Browser auf den Button AKTUALISIEREN. Schon haben
Sie ein anderes Layout und ein völlig neues Aussehen. Die Menüs sind jetzt beispiels-
weise auf der rechten Seite, übrigens mit den deutschen Übersetzungen HAUPTMENÜ
und SUCHE.

Abbildung 4.9: Ein anderes Template

Nachdem wir dem ersten Spieltrieb nachgegeben haben, folgt nun das ausführlichere
Customizing.

4.2 Aufbau der Mambo-Administration


Mambo bietet fast den gleichen Komfort wie ein Programm unter einer grafischen
Benutzeroberfläche – siehe Windows, KDE, Gnome oder Aqua (von Mac OS X). Das
ist nicht selbstverständlich für Webseiten und wird erreicht durch den großzügigen
Gebrauch der Scriptsprache JavaScript. JavaScript wird lokal auf Ihren Rechner aus-
geführt und kann auch im Browser deaktiviert werden. In diesem Fall können Sie
nicht mehr mit der Mambo-Administration arbeiten. Seit mehreren Jahren können die
Browser allerdings gut mit JavaScript umgehen und es gibt auch keine ernsthaften
Sicherheitsprobleme mehr. Aus diesem Grund sollten Sie JavaScript einschalten. In
diesem Zusammenhang möchte ich den Windows-Benutzern unter Ihnen als Inter-

61
4 Mambo anpassen – Customizing

netbrowser die beiden Open Source-Produkte Mozilla oder Firefox5 ans Herz legen.
Beide sind erheblich sicherer und komfortabler als der Internet Explorer.
Die Mambo-Administration besteht ebenso wie Ihre Homepage aus verschiedenen
Elementen. Im oberen Bereich Menüleiste befinden sich die Menüs und auf der rechten
Seiten zwei Anzeigen, ob Sie Nachrichten erhalten haben und wie viele Benutzer
gerade angemeldet sind.
Darunter ist ein Feld mit einem Pfad, der Auskunft darüber gibt, welche Komponente
für den gerade angezeigten Manager zuständig ist (Infobar). Rechts daneben befinden
sich abhängig vom Manager verschiedene abgeblendete Icons, die Werkzeugleiste
(Toolbar). Wenn Sie mit dem Mauszeiger über ein solches Icon fahren, leuchtet es auf
und Sie können mit der linken Maustaste klicken und die entsprechende Funktion
auszuführen.

Toolbarelement Bedeutung
PUBLISH Das ausgewählte Element wird veröffentlicht.
UNPUBLISH Das ausgewählte Element wird vor der Öffentlichkeit versteckt.
ARCHIVE Das ausgewählte Element wird in das Archiv verschoben.
NEW/NEW ITEM Die Erstellung eines neuen Elements (Link, Kontakt, Nachricht) wird
gestartet.
EDIT Das ausgewählte Element wird in den Editiermodus geladen.
DELETE OR REMOVE Das ausgewählte Element wird gelöscht.
TRASH Das ausgewählte Element wird in den Papierkorb geworfen.
RES- Das ausgewählte Element wird aus dem Papierkorb zurückgeholt.
TORE/UNTRASH

MOVE Das ausgewählte Element wird in einen anderen Bereich (Section) oder
eine andere Kategorie verschoben.
COPY Das ausgewählte Element wird in einen anderen Bereich oder eine
andere Kategorie kopiert.
SAVE Das ausgewählte Element wird gespeichert und der Dialog wird
verlassen.
APPLY Die Änderungen werden gespeichert, der Dialog bleibt geöffnet.
CANCEL Die Bearbeitung wird ohne Speicherung abgebrochen.
PREVIEW Das ausgewählte Element wird in einem eigenen Fenster als Vorschau
gezeigt.
UPLOAD Die ausgewählte Datei wird auf den Server hochgeladen.
CREATE Erstellt ein Unterverzeichnis auf dem Server
HELP Die Onlinehilfe von Mambo

Tabelle 4.1: Toolbarelemente

5 http://www.mozilla.org/

62
4.2 Aufbau der Mambo-Administration

Toolbarelement Bedeutung
DEFAULT Das ausgewählte Element wird als Standard benutzt.
ASSIGN Das ausgewählte Element wird einem anderen Element zugewiesen.

Tabelle 4.1: Toolbarelemente (Forts.)

Darunter befindet sich der Arbeitsbereich (Workspace) des aktuellen Managers. In der
Abbildung 4.10 ist dies das Control Panel. Es wird nach dem Einloggen angezeigt und
bietet einen Schnellzugriff auf die wichtigsten Elemente. Falls Sie das Control Panel
nicht sehen, klicken Sie einfach auf HOME oben links in der Menüleiste.

Abbildung 4.10: Mambo-Administration

Im linken Bereich verweisen Icons auf verschiedene Manager. Im rechten Bereich fin-
den Sie fünf Karteireiter, die Ihnen einen Überblick über den aktuellen Status Ihrer
Homepage geben. Im unteren Bereich sehen Sie eine Navigationsleiste, die sich quer
durch Mambo zieht. Hier können Sie die Anzahl der angezeigten Zeilen einstellen
und durch die Anzeige navigieren, falls gleichzeitig 600 Benutzer online sind. Diese
Menge ist bei gut frequentierten Mambo-Seiten durchaus realistisch. Die Einstellung
der Anzahl der angezeigten Zeilen ist bei allen Tabellendarstellungen möglich.
Logged bietet einen Überblick über die gerade eingeloggten Benutzer. Durch einen
Klick auf das rote Kreuz neben dem Benutzernamen können Sie als Administrator
den Benutzer abmelden.
Components zeigt Ihnen die aktuell installierten Software-Komponenten. Wenn diese
mehrere Optionen haben, wie beispielsweise Weblinks, so wird diese Komponente als
Überschrift mit Unterpunkten dargestellt.
Popular präsentiert Ihnen die am meisten aufgerufenen Seiten Ihrer Homepage.
Durch einen Klick auf den Seitennamen gelangen Sie in den Content Manager und die
entsprechende Seite wird Ihnen im Editiermodus angezeigt. Wenn Sie im Editor-

63
4 Mambo anpassen – Customizing

modus sind, müssen Sie mit CANCEL oder SAVE die Bearbeitung beenden und
anschließend wieder auf HOME klicken, um in das Control Panel zu gelangen.
Latest Items ist so ähnlich wie Popular. Hier werden die Inhalte in umgekehrt chro-
nologischer Reihenfolge angezeigt. Durch einen Klick auf den Namen landet man
ebenfalls im Content Manager.
Menu Stats liefert die Anzahl der Menüelemente in jedem Menü.
Die Menüleiste besteht aus neun Menüs. Ganz links finden Sie den HOME-Link, der
Sie wieder in das Control Panel bringt. Ganz rechts sehen Sie den HELP-Link.
Sie können das Control Panel über MODULES – ADMINISTRATOR MODULES konfigurie-
ren.

4.3 Menü Help


Hilfe! Dieser Ruf wird oft erhallen, wenn Sie erst mal so richtig in der Arbeit drin-
stecken.
Hier unterscheidet sich Open Source-Software entscheidend von anderen lizensierten
Softwareprodukten. Wenn Sie Hilfe benötigen, können Sie fragen und in den Online-
Archiven der Entwickler und Benutzer nachsehen. Wenn Sie erfahren genug sind,
können sie soagr im Quellcode direkt nachschauen.
Im Hilfemenü finden Sie eine Übersicht über die wichtigen Dinge:
 Ein Glossar (Glossary)
 Die Vorstellung der Menschen, die hinter Mambo stecken (Credits)
 Tipps zum Finden von Hilfe im Netz (Support). Hierbei spielt die URL http://
forum.mamboserver.com m.E. die größte Rolle, wenn Sie Hilfe benötigen.
 http://help.mamboserver.com ist das Online Hilfesystem für Mambo.
 System Info bietet Ihnen die Möglichkeit nachzuschauen, unter welchen Bedin-
gungen Ihre Mambo Installation arbeitet.
Im linken Seitenbereich finden Sie eine Stichwortliste, hinter der sich jeweils Hilfe-
texte verbergen (siehe Abbildung 4.11).
Bevor Sie im Forum Fragen stellen, schauen sie sich bitte in dieser Hilfe und in den
anderen Forumsbeiträgen um!
Der Arbeitsbereich Mambo Help ist dreigeteilt. Im oberen Teil gibt es ein Suchfeld und
eine Leiste mit Links (Abbildung 4.11). Darunter befindet sich links ein Index der ver-
fügbaren Hilfetexte und rechts der entsprechende Anzeigebereich. Standardmäßig
sehen Sie hier die Neuigkeiten in Mambo 4.5.2. Bis auf zwei Links verweisen alle auf
den Server http://help.mamboserver.com/. Um die Suche nutzen zu können, müssen Sie
also mit dem Internet verbunden sein. Außer bei einer lokalen Version sind Sie das
aber zwangsläufig.

64
4.3 Menü Help

Abbildung 4.11: Mambo-Onlinehilfe

Die zwei anderen Links verweisen zum einem auf den Text der GNU/Public License
und zum anderen auf Systeminformationen über Ihren Server (Abbildung 4.12).

Abbildung 4.12: Mambo Help-Systeminformationen

Diese Informationen sind wieder in drei Karteireiter aufgeteilt.

65
4 Mambo anpassen – Customizing

System Info zeigt eine Zusammenfassung der wichtigsten Daten. Ich arbeite momen-
tan lokal unter Windows mit der xampplite-Umgebung (Installation siehe Kapitel 2)
und habe daher im Vergleich zu den im Internet angemieteten Servern sehr aktuelle
Softwareversionen (Apache 2.0.53 und PHP 5.03).
PHP Info zeigt alle Informationen aus der Funktion phpinfo() an. Hier geht es um die
komplette Konfiguration des PHP-Interpreters.
Permissions zeigt die Berechtigungen Ihrer Unterverzeichnisse an. Damit Mambo
fehlerfrei läuft, müssen hier alle Verzeichnisse beschreibbar (writable) sein.

4.4 Menü Site


Es gibt Voreinstellungen, die für alle einzelnen Seiten und für Ihren Server gelten.
Alle diese Einstellungen sind im Menü SITE zusammengefasst.

Abbildung 4.13: Menü Site

4.4.1 Site – Global Configuration


Der Arbeitsbereich globale Konfiguration verwaltet die Änderungen in der Datei con-
figuration.php. Hier stehen lebenswichtige Dinge wie die Zugangsdaten zum Daten-
bankserver. Der Arbeitsbereich selbst ist aufgeteilt in zehn Karteireiter.

Site
Site Offline: Wenn Sie beispielsweise Änderungen an Ihrer Homepage vornehmen
und nicht möchten, dass Besucher den Entwicklungsvorgang verfolgen können, kön-
nen Sie hier Ihre Homepage »abstellen«.
Offline Message: Der hier eingegebene Text wird auf Ihrer Homepage angezeigt,
wenn sie abgeschaltet ist. Probieren Sie es mal aus (Abbildung 4.15). Wenn Sie ein
anderes Logo möchten, können Sie eines unter dem Namen [mambo]/images/logo.png
abspeichern. Andernfalls müssen Sie den Pfad entsprechend anpassen.

66
4.4 Menü Site

Abbildung 4.14: Site – Global Configuration – Site

Abbildung 4.15: Wartungsmeldung bei abgeschalteter Seite

System Error Message: Hier können Sie ebenfalls eine Nachricht angeben, die ange-
zeigt wird, wenn sich keine Verbindung zum Datenbankserver herstellten lässt.
Site Name: Der Name der Seite, den Sie bei der Installation eingegeben haben.
Show Unauthorized Links: Sie haben die Möglichkeit, einzelne Seiten nur für regist-
rierte Benutzer anzeigen zu lassen. Jetzt kann es sein, dass auf diese Seiten in einem
öffentlichen Zusammenhang verlinkt wird. Bei der Auswahl JA werden die Links
angezeigt. Wenn ein nicht angemeldeter Besucher auf einen solchen Link klickt,
erscheint eine Meldung, dass es sich um einen geschützten Bereich handelt, der eine
Anmeldung erfordert.

67
4 Mambo anpassen – Customizing

Allow User Registration: Hier können Sie wählen, ob Sie eine eigene Registrierung
von Benutzern zulassen wollen oder nicht. Wenn Sie beispielsweise eine Firmen-
homepage betreiben, könnten Sie Ihren Mitarbeitern ein Benutzerkonto anlegen, es
aber verbieten, dass sie sich selbst ein Konto erstellen. Bei einer Community-Home-
page ist es dagegen erwünscht, dass sich die Benutzer selbst anmelden.
Use New Account Activation: Um eine gewisse Sicherheit vor Programmen zu bieten,
die automatisiert auf Ihrer Seite 20.000 Benutzerkonten anlegen, können Sie eine
separate Aktivierung verlangen. Der Benutzer erhält automatisch eine E-Mail an die
von ihm angegebene Adresse. In dieser E-Mail befindet sich ein Link zu Freischalten
des Kontos. Nach der Freischaltung kann er sich normal anmelden.
Require Unique Email: Wollen Sie, dass jede E-Mail-Adresse nur für ein Konto ver-
wendet werden darf?
Debug Site: Hier können Sie die Homepage in den Debug-Modus versetzen.

HinweisHinweis
Wenn Programmierer Fehler suchen, sprechen sie von debuggen.
Diese Bezeichnung ist historisch gewachsen. Ein Bug ist ein Käfer,
und vor 50 Jahren waren es tatsächlich Käfer, die es sich an den war-
men Röhren eines Computers gemütlich machten und hin und wie-
der für Kurzschlüsse sorgten. Debugging – Käfer entfernen – war
damals also wörtlich zu nehmen. Heute geht es um Fehler in Soft-
wareprogrammen, beispielsweise eine nicht funktionierende
Datenbankabfrage.

Nach dem Einschalten dieser Funktion werden unter der Homepage die Datenbank-
abfragen angezeigt. Um eine einzige Seite von Mambo zu generieren, sind in diesem
Fall 79 Datenbankabfragen notwendig (Abbildung 4.16).

Abbildung 4.16: Debug Mode mit Datenbankabfragen

68
4.4 Menü Site

WYSIWYG Editor: WYSIWYG ist die Abkürzung für What you see is what you get oder
(näher an der Realität) Du hast es so gewollt, da hast du es! Der Begriff stammt aus den
Anfängen grafischer Benutzeroberflächen, als es erstmals möglich war, Texte in einer
Textverarbeitung zu schreiben und beim Schreiben zu sehen, wie das fertige Ergebnis
nach dem Druck aussehen wird.

Abbildung 4.17: WYSIWYG-Editor

Im Internet füllen Sie normalerweise Formulare aus, ohne die Möglichkeit einer For-
matierung. Die Formatierung erfolgt über HTML-Tags oder programmspezifische
Kürzel. Ein WYSIWYG-Editor ist komfortabler, da Sie hier, wie in einer Textverarbei-
tung nur auf die entsprechenden Icons klicken müssen. In den Textfeldern, in denen
Formatierungen benötigt werden, wird dieser Editor automatisch eingeblendet
(Abbildung 4.17). Er funktioniert unter allen gängigen Browsern. Mambo bietet die
Möglichkeit, auch andere HTML-Editoren einzubinden.
Standardmäßig wird momentan der Editor TinyMCE benutzt6.
List Length: Auf Ihrer Homepage tauchen immer wieder Listen auf, beispielsweise
News und Links. Hier stellen Sie ein, wie viele Einträge eine Liste standardmäßig
haben soll.
Favourites Site Icon: Jede Homepage kann dem Browser ein so genanntes Favourite
Site Icon (Favicon) anbieten. Dieses kleine Bild wird links neben dem URL, sowie in
den Lesezeichen im Browser dargestellt. Das funktioniert in den meisten Browsern
ganz gut, im Internet Explorer nur unter bestimmten Bedingungen (Abbildung 4.18
und Abbildung 4.19). Die Icons müssen in einem bestimmten Format vorliegen7. Hier
legen Sie den Namen für das Icon fest. Sie finden die Datei im Hauptverzeichnis von
Mambo.

6 http://tinymce.moxiecode.com/
7 z-icon – siehe Downloadhinweise im Anhang.

69
4 Mambo anpassen – Customizing

Abbildung 4.18: Favicon in Mozilla

Abbildung 4.19: Keine Favicon-Anzeige im Internet Explorer (Version 6.0.29...)

Locale
Unter diesem Reiter können Sie Ihre Seite lokalisieren (Abbildung 4.20). Unter Loka-
lisierung versteht man das Anpassen an länderspezifische Eigenheiten.

Abbildung 4.20: Site – Global Configuration – Locale

Language: Hier legen Sie die Sprache der Homepage fest. In der Optionsliste werden
alle verfügbaren Sprachen angezeigt. Wie Sie neue Sprachpakete installieren, zeigt
Abschnitt 4.1.1.
Time Offset: Diese Einstellung kann benutzt werden, um die richtige Zeit anzuzeigen,
wenn beispielsweise der Server, auf dem Mambo läuft, in den USA steht, die Home-
page aber für Besucher in Deutschland gedacht ist.
Country Locale: Jedes Land hat gewisse Vorgaben für die Schreibung von Zahlen-
und für Datumsangaben8. Hier können Sie ein Schema festlegen. In Deutschland ist
es de_DE (Linux), bzw. de_DEU (Windows). PHP bietet die Möglichkeit, verschiedene
Funktionen abhängig von dem als Locale eingegebenen Kürzel auszuführen. Der
Ansatz ist gut, wird aber nicht immer bei der Template-Erstellung berücksichtigt.

Content
Hier werden die Einstellungen für die Content-Anzeige der gesamten Site festgelegt
(Abbildung 4.21).

8 http://de.wikipedia.org/wiki/Locale

70
4.4 Menü Site

Abbildung 4.21: Site – Global Configuration – Content

Linked Titles: Hier können Sie einstellen, dass der Titel eines Inhaltselements als Link
dargestellt wird. Der Link verweist dann auf das gleiche Ziel, wie der Link read more.
Read More Link: Viele Inhalte bestehen aus einem Aufmacher (Intro Text) und dem
eigentlichen Text. An dieser Stelle entscheiden Sie, ob unter dem Aufmacher ein read
more (mehr lesen) Link erscheinen soll, der auf den kompletten Text verweist.
Item Rating/Voting: Dies bietet die Möglichkeit, Ihre Inhalte von den Besuchern
bewerten zu lassen. Wenn Sie JA anklicken, wird über dem Inhalt ein Bewertungs-
modul angezeigt (Abbildung 4.22).

Abbildung 4.22: Voting-Funktion

Author Names: Soll der Name des Autors eines Inhaltes angezeigt werden? Wenn Sie
JA auswählen, erscheint über dem Artikel geschrieben von [Autor] (Abbildung 4.22).

71
4 Mambo anpassen – Customizing

Created Date and Time: Soll das Datum und die Zeit der Erstellung eines Inhaltes
angezeigt werden? Wenn Sie JA auswählen, wird über dem Artikel ein Text wie Sams-
tag, 12. Juni 2005 (Abbildung 4.22) geschrieben.
Modified Date and Time: Soll das Datum und die Zeit der Änderung eines Inhaltes
angezeigt werden? Wählen Sie JA, kommt unter dem Text Letztes Update (Samstag, 12.
Juni 2005) (Abbildung 4.22).
HITS: Hier wird entschieden, ob die Anzahl der Zugriffe auf einen Inhalt angezeigt
werden soll.

Abbildung 4.23: News-Liste mit Zugriffen

PDF Icon: Soll ein PDF-Icon über dem Inhalt angezeigt werden (Abbildung 4.22)?
Nach dem Klick auf dieses Icon erhalten Sie den Inhalt aufbereitet als PDF-Datei! Um
das PDF ansehen zu können, benötigen Sie den kostenlosen Acrobat Reader9.

Abbildung 4.24: PDF-Ausgabe eines Inhaltes

9 http://www.adobe.de/products/acrobat/

72
4.4 Menü Site

Print Icon: Hier können Sie bestimmen, ob ein Print-Icon über dem Inhalt erscheinen
(Abbildung 4.22) soll. Nach dem Klick auf dieses Icon erhalten Sie den Inhalt aufbe-
reitet zum Drucken.
Email Icon: Soll ein E-Mail-Icon über dem Inhalt angezeigt werden (Abbildung 4.22)?
Nach dem Klick auf dieses Icon erhalten Sie ein Formular, das es Ihnen ermöglicht,
einen Hinweis auf diesen Inhalt an jemanden zu versenden (Abbildung 4.25).

Abbildung 4.25: E-Mail-Hinweis auf einen interessanten Artikel

Icons: Hier entscheiden Sie, ob PDF, Print und E-Mail als Icon oder als Link darge-
stellt werden.
Table of Contents on multi-page items: Es ist möglich, Inhalte über mehrere Seiten zu
schreiben. Dazu wird ein Mambot in den Text eingebunden.10 Wenn Sie JA auswäh-
len, wird automatisch ein Inhaltsverzeichnis für diese Inhalte erzeugt.
Back Button: Wollen Sie einen ZURÜCK-Button auf jeder Seite?
Content Item Navigation: Wenn Sie hier JA auswählen, wird unter den Inhalten eine
Leiste mit den Buttons NEXT und PREVIOUS eingeblendet, mit denen Sie durch die
Inhalte dieser Kategorie blättern können.

Database
In diesem Reiter sehen Sie die Zugangsdaten zu Ihrem MySQL-Server (Abbildung
4.26).

Abbildung 4.26: Site – Global Configuration – Database

10 Mehr zum Thema Mambots in Kapitel 7.

73
4 Mambo anpassen – Customizing

Server
Im Server-Bereich finden Sie weitere Informationen und Einstellungen, die Sie ändern
können (Abbildung 4.27).

Abbildung 4.27: Site – Global Configuration – Server

Absolute Path: Der absolute Pfad auf Ihrem Server ist der Pfad, der den Weg vom
root-Verzeichnis des Servers zu Ihrer Mambo-Installation beinhaltet. In der lokalen
Variante unter Windows ist das beispielsweise C:/xampplite/htdocs/mambo, auf dem
Linux-Server meines Providers hingegen /is/htdocs/wp1007226_40G0RIWV3E/www.
Live Site: Die Live Site ist der URL, unter dem die Seite im Internet erreichbar ist.
Secret Word: Das verschlüsselte Administratorkennwort11.
GZIP Page Compression: Hier können Sie eine Komprimierung der Seiten einschal-
ten. Wenn Browser und Webserver diese Funktion unterstützen, werden die Seiten
im ZIP-Format ausgeliefert und im Client-Browser wieder entpackt. Gerade bei lang-
samen Internetleitungen kann dadurch der Seitenaufbau erheblich schneller gehen.
Login Session Lifetime: Wenn Sie sich als Benutzer anmelden, erzeugen Sie eine so
genannte Session. Wenn Sie sich nicht abmelden, so wird diese Session nach der hier
eingestellten Anzahl von Sekunden gelöscht.
Error Reporting: Mit diesen Schaltern werden die PHP-eigenen Fehlerreportmecha-
nismen aktiviert.

11 Admin-Kennwort vergessen? – siehe Anhang.

74
4.4 Menü Site

Option Beschreibung
System Default Hier wird die Einstellung aus der Konfigurationsdatei php.ini übernommen.
None Fehler werden nicht protokolliert.
Simple Fehler und Warnungen werden protokolliert. Diese Einstellung entspricht
dem Parameter error_reporting (E_ERROR|E_WARNING|E_PARSE)
Maximum Fehler, Warnungen und Hinweise werden protokolliert. Diese Einstellung
entspricht dem Parameter error_reporting (E_ALL)

Tabelle 4.2: Error Reporting

Help Server: Hier können Sie einen anderen URL für den Mambo-Helpserver eintra-
gen.
File Creation: Wenn Dateien auf dem Server durch Mambo angelegt werden, werden
im Server eingestellte Standardrechte auf diese Dateien angewendet. In den meisten
Fällen ist diese Einstellung ausreichend. Sollten Sie Problem beim Upload haben, kön-
nen Sie die zweite Option auswählen und die Servereinstellungen überschreiben.
Directory Creation: Die gerade beschriebene Einstellungsmöglichkeit für Dateien
(siehe File Creation) gilt auch für Verzeichnisse.
Metadata
Metadaten sind Daten über Daten, also beispielsweise eine Beschreibung Ihrer Home-
page. Metadaten spielen bei Suchmaschinen eine Rolle. Wie groß diese Rolle ist, ist
jedoch umstritten. Trotzdem stellen Metadaten einen guten Weg dar, in kurzen und
klaren Worten Ihre Homepage zu beschreiben. Wenn Sie in den HTML-Quellcode
einer Mambo-Seite schauen, sehen Sie im oberen Bereich die folgenden Metatags.
<meta name="description" content="Mambo - the dynamic portal engine and content
management system" />
<meta name="keywords" content="mambo, Mambo" />
Sie können diese Beschreibungen hier mit Standardwerten belegen (Abbildung 4.28).

Abbildung 4.28: Site – Global Configuration – Metatags

75
4 Mambo anpassen – Customizing

Global Site Meta Description: Diese Beschreibung des Seiteninhaltes wird bei der
Anzeige von Suchmaschinenergebnissen oft ausgegeben. Diesem Tag sollte man
daher besondere Aufmerksamkeit schenken, denn anhand dieser Information ent-
scheidet der Suchende, ob er Ihre Seite besucht oder nicht.
Global Site Meta Keywords: Keywords sind die Schlüssel- oder Schlagwörter in
einem Dokument. Sie sollten hier die zentralen Begriffe Ihrer Homepage auflisten.
Manche Suchmaschinen suchen besonders in den Keywords. Die einzelnen Wörter
werden durch Kommata getrennt, mehrere Wörter lassen sich zwischen zwei Kom-
mata mit normalen Leerzeichen eintragen. Die Schlüsselwörter sollten auf max. 1.000
Zeichen begrenzt werden, mehr werden nicht ausgelesen. Beachten Sie, dass die Ver-
wendung weniger Schlüsselbegriffe dem einzelnen Begriff zu einer höheren Wertig-
keit in der Suchmaschine verhilft. Überlegen Sie, welche die meistgebrauchten
Schlüsselwörter sind und nach welchen am ehesten gesucht wird12.
Show Title Meta Tag: Bei einzelnen Inhaltsseiten wird der Inhaltstitel als Metatag ein-
geblendet.
Show Author Meta Tag: Bei einzelnen Inhaltsseiten wird der Name des Autors als
Metatag angezeigt.

Mail
In diesem Karteireiter können Sie über die Art und Weise des Mambo-E-Mailver-
sands entscheiden (Abbildung 4.29).
Mailer: Hier können Sie wählen, ob Sie die eingebaute Mailfunktion von PHP, das
Programm Sendmail oder ein anderes E-Mail-Konto, beispielsweise bei Yahoo oder
GMX, nutzen wollen.
Mail From: Diese E-Mail-Adresse wird als Absender bei automatisch von Mambo
generierten Mails eingetragen.
From Name: Dieser Name wird als Absender bei automatisch von Mambo generierten
Mails angegeben.
Sendmail Path: Falls Sie anstelle der PHP-Mailfunktion das auf vermutlich allen
Linux-Servern verfügbare Programm sendmail benutzen wollen, müssen Sie hier den
Pfad zum Programm eingeben.
SMTP Auth: Wählen Sie, ob Sie einen externen Mailserver benutzen wollen.
SMTP User: Ihr Benutzername bei diesem E-Mail-Provider
SMTP Pass: Ihr Passwort bei diesem E-Mail-Provider
SMTP Host: Der SMTP Server dieses E-Mail-Providers.

12 http://de.selfhtml.org/html/kopfdaten/meta.htm

76
4.4 Menü Site

Abbildung 4.29: Site – Global Configuration – Mail

Cache
Unter einem Cache versteht man ein Zwischenlager. Ihr Browser hat beispielsweise
einen Bildercache, um einmal geladene Bilder aus dem Internet schneller bereitstellen
zu können.
Mambo benutzt einen ähnlichen Mechanismus auf dem Server, um die durch PHP
generierten Seiten zwischenzuspeichern. Bei sehr stark frequentierten Seiten kann
diese Funktion die Antwortzeiten stark verringern.

Abbildung 4.30: Site – Global Configuration – Cache

Statistics
In diesem Reiter können Sie die Statistikfunktionen für Ihre Homepage ein- und aus-
schalten.

Abbildung 4.31: Global Configuration – Statistik

Statistics: Hier bestimmen Sie, ob Sie grundsätzlich Statistiken erzeugen wollen.

77
4 Mambo anpassen – Customizing

Log Content Hits by Date: An dieser Stelle schalten Sie die täglich aktualisierte
Inhalte-Statistik ein. Hier werden nicht nur komplette Seitenzugriffe, sondern die
Zugriffe auf die einzelnen Elemente einer HTML-Seite gezählt. Momentan gibt es lei-
der noch kein Auswertungsprogramm für diese Daten. Außerdem entstehen in kur-
zer Zeit sehr große Datenmengen.
Log Search Strings: Dieser Schalter kann ganz interessante Ergebnisse liefern. Er sam-
melt Wörter, die Besucher Ihrer Seite in das Suchfeld eingeben. Die Suchmaschine
Google veröffentlicht ihre Suchstrings unter dem Stichwort Zeitgeist13.

SEO (Search Engine Optimization)


In diesem Bereich geht es um suchmaschinenfreundliche URLs. Normalerweise sieht
ein URL eines Content Management-Systems etwa so aus:
http://localhost/mambo/index.php?option=com_contact&Itemid=3
Solche URLs werden von Suchmaschinen normalerweise nicht gespeichert, weil die
Suchmaschine davon ausgeht, dass sich der Inhalt dynamisch aufbaut und vermut-
lich bald ändert.

Abbildung 4.32: Global Configuration – SEO

Search Engine Friendly URLs: Mit diesem Schalter können Sie aus einem dynami-
schen URL einen suchmaschinenfreundlichen URL machen. Wenn Sie den Schalter
auf JA stellen, sollte der Link etwa so aussehen
http://localhost/component/option,com_contact/Itemid,47/
Das Prinzip beruht auf einer Funktion des Apache Webservers. Mit seiner Rewrite
Engine kann er URLs beliebig manipulieren. Außer dem Schalter müssen Sie auch
noch die Datei htaccess.txt im Mambo-Verzeichnis in .htaccess umbenennen.
Unter Windows ist eine solche Umbenennung nur mit bestimmten Programmen wie
beispielsweise dem Editor Ultraedit möglich14. Unter Linux funktioniert die Umbe-
nennung problemlos, die Datei wird aber anschließend nicht mehr in Ihrem FTP
Client angezeigt (abhängig von der Serverkonfiguration). Außerdem kann es sein,
dass der Provider .htaccess-Dateien nicht zulässt, da sie ein Sicherheitsrisiko für den
Webserver darstellen.

13 http://www.google.de/press/zeitgeist.html
14 http://www.ultraedit.com/

78
4.4 Menü Site

Dynamic Page Titles: Diesen Schalter sollten Sie auf jeden Fall auf JA schalten. Der
Titel Ihres Inhalts wird dann bei jedem Seitenaufruf an den Seitennamen in der Titel-
leiste des Browserfensters angehängt.

Abbildung 4.33: Dynamische Seitentitel

4.4.2 Site – Language Manager


Den Language Manager kennen Sie schon aus unseren ersten Gehversuchen (siehe
Abschnitt 4.1.1). Außer dem Auswählen von Sprachen für die Homepage können Sie
hier auch neue Sprachdateien installieren. Bei unserem ersten Versuch haben wir das
über das Hochladen der Sprachdatei realisiert.
Mambo stellt jedoch auch die Möglichkeit bereit, Sprachdateien per FTP auf den Ser-
ver zu laden und dann aus dem Verzeichnis zu installieren. Der Vorteil dabei ist, dass
Sie mehrere Sprachdateien in einem Arbeitsgang installieren können.

Abbildung 4.34: Language Manager – Install new Language

4.4.3 Site – Media Manager


Den Media Manager können Sie sich wie einen Datei-Explorer oder ein FTP-Pro-
gramm in Ihrem Betriebssystem vorstellen. Hier können Sie Dateien mit den Endun-
gen gif, png, jpg, bmp, pdf, swf, doc, xls oder ppt hochladen und in verschiedenen Ver-
zeichnissen verwalten. Dieser Manager ist äußerst praktisch, etwa wenn Sie zwar
Administrationsrechte, aber keinen FTP-Zugang haben
Directory: Hier wählen Sie das gewünschte Verzeichnis aus, dessen Inhalt darunter
angezeigt werden soll.
Medienleiste: In dieser Leiste werden Ihnen die Dateien (Medien) angezeigt. Unter-
halb der Medien finden Sie, abhängig vom Medientyp, mehr Informationen zur
jeweiligen Datei. Grundsätzlich werden ein Stift-Icon und ein Mülleimer-Icon ange-
zeigt. Mit Klick auf den Stift erzeugen Sie einen kompletten HTML-Link, den Sie
dann per Copy & Paste in Ihren Inhalt einfügen können. Klicken Sie beispielsweise

79
4 Mambo anpassen – Customizing

auf den Stift des Mambo-Logos, so erscheint im Feld Code darunter folgender Aus-
druck:
<img src=»http://localhost/mambo/images/stories/asterisk.png« align=»left« hspace=»6«
alt=»asterisk.png« />
Das ist die HTML-Beschreibung, um ein Bild linksbündig mit einem Rand von
6 Pixeln darzustellen.

Abbildung 4.35: Site – Media Manager

Upload: Hier klicken Sie auf DURCHSUCHEN … und wählen die gewünschte Datei auf
Ihrer lokalen Festplatte aus. Anschließen klicken Sie in der Werkzeugleiste auf das
Icon UPLOAD. Die Datei wird hochgeladen und angezeigt. Mambo benutzt die
Medien, so wie sie sind. Denken Sie daran, dass es keine gute Idee ist, 3 Mbyte große
Bilder aus einer Digitalkamera in dieser Größe auf Ihre Webseite zu stellen. Bilder
sollten im Internet maximal 50 Kbyte groß sein. Es gibt auch Menschen, die keinen
High Speed-Zugang zum Internet haben!
Als Grundregel sollten Sie als Downloadzeit für 100 Kbyte (etwa die Größe einer Por-
talwebseite mit Bildern) folgende Zeiten im Hinterkopf haben (Tabelle 4.3)

Verbindungsart Download von 100 Kilobyte Daten


DSL je nach DSL-Ausbau unter einer Sekunde!
ISDN ca. 15 Sekunden
Modem (56 k) ca. 25 Sekunden

Tabelle 4.3: Dauer eines Downloads von 100 Kilobyte Größe

80
4.4 Menü Site

HinweisHinweis
Die maximale Upload-Größe pro Datei ist abhängig von der PHP-
Konfiguration Ihres Providers. In meinem Fall sind es 16 Mbyte. Grö-
ßere Dateien müssten Sie per FTP hochladen.

Create Directory: In diesem Feld können Sie einen Namen für ein neues Unterver-
zeichnis eingeben. Nach einem Klick auf das Icon CREATE in der Werkzeugleiste wird
dieses Unterverzeichnis angelegt und kann durch die Optionsliste im oberen Bereich
(Directory) ausgewählt werden.

4.4.4 Site – Preview


Hier erhalten Sie einen Preview (Vorschau) auf Ihre Homepage (Abbildung 4.36). Sie
haben drei Möglichkeiten:
In New Window: Die Vorschau wird in einem neuen Browserfenster angezeigt.
Inline: Die Vorschau wird im Workplace (Arbeitsbereich) eingeblendet, mit Scrollbal-
ken an den Seiten, falls die Seite zu groß ist.
Inline with Positions: Die Vorschau wird im Workplace (Arbeitsbereich) angezeigt,
mit Markierungen für die einzelnen Modulpositionen.

Abbildung 4.36: Site – Global Configuration – Preview

4.4.5 Site – Statistics


Hier können Sie die Statistikdaten auswerten, die Sie in Abschnitt 4.4.1 im Reiter
STATISTICS hoffentlich eingeschaltet hatten (Abbildung 4.37)
Browser, OS, Domain: In diesem Bereich erhalten Sie drei Reiter mit den Informa-
tionen darüber, welche Browser, welches Betriebssystem und aus welcher Domain
Zugriffe auf Ihre Seite erfolgt sind. Die Daten beruhen auf den Daten, die ein Browser
automatisch an den Webserver liefert. Wenn beispielsweise Google Ihre Seite mit

81
4 Mambo anpassen – Customizing

einem Programm besucht, um Ihre Seiten in den Index aufzunehmen, werden keine
Informationen übertragen.

Abbildung 4.37: Site – Statistics

Page Impressions: Hier sehen Sie die einzelnen Seiten, das Erstellungsdatum und die
Menge der Zugriffe.
Search Text: Hier werden Ihnen die von Ihren Besuchern eingegebenen Suchbegriffe
präsentiert.

4.4.6 Site – Template Manager


Auch den Template Manager kennen Sie bereits aus Abschnitt 4.1.4, in dem wir ein
anderes Template für die Homepage festgelegt haben (Abbildung 4.38).

Abbildung 4.38: Site – Template Manager

Site Templates
Hier können Sie die Templates für Ihre Site festlegen.
Default: Wählen Sie ein Template aus und klicken Sie auf das Icon DEFAULT, um es als
Standardtemplate für Ihre Seite zu benutzen.

82
4.4 Menü Site

Assign: Wählen Sie ein Template aus und klicken Sie auf ASSIGN, um es auf einzelne
Seiten anzuwenden (Abbildung 4.39).

Abbildung 4.39: Site – Template Manager – Assign

Die vorhandenen Menüelemente werden Ihnen angezeigt. Markieren Sie die entspre-
chenden Elemente, denen Sie das Template zuordnen wollen. Eine Mehrfachauswahl
erreichen Sie, indem Sie bei gedrückter (Strg)-Taste die gewünschten Elemente nach-
einander anklicken.
New: Hier installieren Sie ein neues Template, so wie die Sprachdatei aus Abschnitt
4.1.1. Es gibt eine große Auswahl vorhandener Templates15, die Sie entweder per
Upload oder über die Installation aus einem Verzeichnis installieren können.
Edit HTML/Edit CSS: Hier können Sie direkt den HTML- oder CSS-Quellcode des
ausgewählten Templates bearbeiten (Abbildung 4.40). Templates bestehen immer aus
einer HTML- und einer CSS-Datei.

Abbildung 4.40: Site – Template Manager – HTML-Editor

15 z.B. http://www.mambohut.com/

83
4 Mambo anpassen – Customizing

AchtungAchtung
Wenn Sie hier Hand anlegen, sollten Sie wissen, was Sie tun. HTML-
und CSS-Kenntnisse sind unerlässlich.

Trotzdem ist es auch für den Anfänger interessant zu sehen, wie ein Template aufge-
baut ist16.
Delete: Hier können Sie ein installiertes Template komplett löschen.

Install
Die Installationsmaske für Site Templates. Hier landen Sie, wenn Sie in Site Templates
auf NEW klicken oder direkt über das Menü SITE  TEMPLATES MANAGER  INSTALL
gehen. Sie können hier neue Template-Dateipakete per Upload oder per Verzeichnis-
installation installieren.

Administrator Templates
Was für Ihre Homepage gilt, gilt natürlich auch für die Administrationsoberfläche.
Sie können hier analog zu den Site-Templates Ihrer Administrationsoberfläche
andere Templates zuweisen und neue installieren. Standardmäßig bietet Mambo
zwei Administrator-Templates zur Auswahl.

Install
Analog zu den Site-Templates können Sie hier Administrator-Templates installieren.
Sie gelangen hierher, wenn Sie in Administrator Templates auf NEW klicken oder auch
direkt über das Menü SITE  TEMPLATES  INSTALL. Neue Template-Dateipakete las-
sen sich per Upload oder per Verzeichnisinstallation installieren.

Module Positions
Hier werden die Anzeigepositionen der Module eines Templates verwaltet. Sie kön-
nen bis zu 56 verschiedene Positionen definieren. Auf diesen Positionen können Sie
Modulinhalte anzeigen lassen (siehe auch Abschnitt 4.8).

4.4.7 Site – Trash Manager


Beim Trash Manager befindet sich Ihr Mülleimer. Er sammelt in zwei Karteireitern
Inhalts- und Menüelemente, die Sie durch einen Klick auf das Icon TRASH in den

16 Mehr über das Erstellen eigener Templates finden Sie in Kapitel 6.

84
4.4 Menü Site

Papierkorb geworfen haben. Durch Auswahl des Elements und Klick auf RESTORE
können Sie es wieder aus dem Mülleimer holen, mit DELETE wird es endgültig
gelöscht.

Abbildung 4.41: Site – Trash Manager

4.4.8 Site – User Manager


Benutzer (User) spielen auf Ihrer Mambo-Seite eine ganz besondere Rolle. Sie sind
momentan der einzige Benutzer (Admin), den die Mambo-Administration kennt.
Wenn Sie eine Benutzerregistrierung auf Ihrer Homepage erlauben (siehe Abschnitt
4.4.1), so werden es vermutlich schnell mehr werden. Im User Manager (Abbildung
4.42) können Sie die Benutzer ändern, löschen, blocken und ihnen verschiedene
Rechte zuweisen.

Abbildung 4.42: Site – User Manager

Auf der Übersichtsliste sehen Sie den echten Namen des Benutzers, ob der Benutzer
gerade eingeloggt ist, symbolisiert mit einem grünen Haken (Logged in), ob der Benut-
zer aktiviert ist (Enabled), den Benutzernamen (UserID), die Gruppenzuordnung
(Group), seine E-Mail-Adresse und das Datum seines letzten Besuchs auf Ihrer Home-
page. Diese Angabe bezieht sich auf das letzte Login auf Ihrer Homepage, nicht auf
das Login in der Mambo-Administration.

85
4 Mambo anpassen – Customizing

New
Bei NEW können Sie einen neuen User anlegen. Durch Klick auf NEW erhalten Sie ein
entsprechendes Formular (Abbildung 4.43).

Abbildung 4.43: Site – User Manager – New

Name: Der echte Name des Benutzers


Username: Der Benutzername
E-Mail: Die E-Mail-Adresse. Abhängig von den Einstellungen im Menü SITE  GLO-
BAL CONFIGURATION kann eine E-Mail-Adresse einmal oder mehrmals vorkommen
(siehe Abschnitt 4.4.1).
Password: Das Passwort muss zweimal zur Überprüfung eingegeben werden.
Group: Die Gruppenzugehörigkeit teilt sich in zwei große Bereiche. Benutzer, die sich
nur auf Ihrer Homepage (Public Frontend) anmelden dürfen (Tabelle 4.4), und Benut-
zer, die sich in der Mambo-Administration (Public Administration) anmelden dürfen
Tabelle 4.5. Alle Inhalte in Mambo können diesen Gruppen zugeordnet werden.

Gruppe Rechte
Registered Ein registrierter Benutzer darf sich einloggen und Teile der Seite sehen,
die ein Besucher nicht sehen darf.
Author Darf alles, was ein registrierter Benutzer darf. Ein Autor darf Nachrich-
ten schreiben und seine eigenen Nachrichten ändern. Dazu befindet
sich in seinem Benutzermenü normalerweise ein Link.

Tabelle 4.4: Frontend-Benutzergruppen

86
4.4 Menü Site

Gruppe Rechte
Editor Darf alles, was ein Autor darf. Ein Editor darf Nachrichten schreiben
und jede Nachricht, die im Frontend erscheint, ändern.
Publisher Darf alles, was ein Editor darf. Ein Publisher darf Nachrichten schrei-
ben und jede Nachricht, die im Frontend erscheint, ändern. Außerdem
darf er darüber entscheiden, ob Nachrichten veröffentlicht werden
oder nicht.

Tabelle 4.4: Frontend-Benutzergruppen (Forts.)

Gruppe Rechte
Manager Ein Manager darf Inhalte erzeugen und verschiedene Informationen
über das System sehen. Er darf nicht:
 Benutzer verwalten
 Module und Komponenten installieren
 Einen Benutzer zum Superadministrator machen oder Super-
administratoren ändern
 Den Menüpunkt SITE  GLOBAL CONFIGURATION bearbeiten.
 Eine Rundmail an alle Benutzer versenden
 Templates und Sprachdateien ändern und installieren
Administrator Ein Administrator darf nicht:
 Einen Benutzer zum Superadministrator machen oder Super-
administratoren ändern
 Den Menüpunkt SITE  GLOBAL CONFIGURATION bearbeiten.
 Eine Rundmail an alle Benutzer versenden
 Templates und Sprachdateien ändern und installieren
Superadministrator Ein Superadministrator darf alle Funktionen in der Mambo-Administ-
ration ausführen. Nur ein Superadministrator kann einen anderen
Superadministrator anlegen.

Tabelle 4.5: Backend-Benutzergruppen

Block User
Hier können Sie einen Benutzer blocken und ihm damit verbieten sich einzuloggen.

Edit
Über EDIT ändern Sie einen Benutzer.

Delete
DELETE dient zum Löschen eines Benutzers.

Force Logout
Mit FORCE LOGOUT können Sie ein sofortiges Abmelden des Benutzers erzwingen.

87
4 Mambo anpassen – Customizing

Special Users
Ein Special User ist jeder Benutzer, der mehr Rechte als ein Autor hat. Momentan ist es
nicht möglich, eigene Benutzergruppen in Mambo anzulegen und so hilft die Gruppe
Special Users dabei, Inhaltselemente auf diese Gruppe zu beschränken.
Das kann sehr hilfreich sein, wenn man beispielsweise Links zu internen Hilfetexten
nur für die Special User einblenden will.

4.5 Menü Menu


Hier werden die einzelnen Menüs verwaltet. Mambo verfügt in den Beispieldaten
über vier verschiedene Menüs (mainmenu, topmenu, othermenu, usermenu). Jedes Menü
ist mit einem so genannten Modul gekoppelt, das im Modulmanager verwaltet wird
(Abschnitt 4.8). Im Arbeitsbereich Menu Manager und in der Menüleiste werden Ihnen
die vier Menüs angezeigt (Abbildung 4.44). Sie können die vorhandenen Menüs über
die Menüleiste MENU  MAINMENU, OTHERMENUE, ... aufrufen oder im Menu Manager
auf das dem entsprechenden Menü zugeordnete Icon MENU ITEM klicken.

Abbildung 4.44: Site – Menu – Menu Manager

Die folgenden Bearbeitungsschritte sind für alle Menüs gleich.

4.5.1 Vorhandenes Menü anpassen


Rufen Sie das SITE  MENU MANAGER  MAINMENU auf (Abbildung 4.45).
Hier haben Sie zu Beginn des Kapitels schon SEARCH in SUCHE geändert (Abschnitt
4.1.3). Der erste veröffentlichte Menüeintrag, der hier in der Liste steht, wird als Start-
seite Ihrer Homepage angezeigt. Momentan ist das die Frontpage. Sie können aber
auch jedes beliebige andere Element zur Startseite machen.

88
4.5 Menü Menu

Abbildung 4.45: Site – Menü – Mainmenu

New
Ein neues Menü erzeugen wir im nächsten Abschnitt.

Edit
Hier können Sie ein vorhandenes Menü ändern, beispielsweise die Links. Nach einem
Klick auf den Namen Links sehen Sie das Änderungsformular für Menüelemente
(Abbildung 4.46). Im linken Bereich geht es um Details, im rechten können Parameter
festgelegt werden. Die Anzahl und die Art der Parameter sind abhängig vom Typ des
Menüeintrags.

Abbildung 4.46: Site  Menu Manager  Mainmenu  Links  Edit

89
4 Mambo anpassen – Customizing

Details-Name: Das ist der Name des Menüs, der auf Ihrer Homepage erscheint.
Details-Component: Hierüber erfahren Sie, welche Art von Inhalt sich hinter dem
Menüeintrag verbirgt. Diese Einstellung wird beim Erstellen des Menüeintrages
angegeben. In unserem Fall wird die Komponente Web Links angesprochen.
Details-Url: Ist der Aufruf der Komponenten, also der Teil hinter der Domain, mit
der Sie Ihre Homepage aufrufen. In unserem Fall index.php?option=com_weblinks&Ite-
mid=23.
Details-Parent Item: Das Elternelement (Parent Item) ist das diesem Menü übergeord-
nete Element. Top heißt auf der obersten Ebene, alle anderen Einträge stellen vorhan-
dene Menüeinträge dar. Wenn Sie die LINKS beispielsweise unter NEWS einordnen
und abspeichern, ändert sich die Anzeige im Menu Manager (Abbildung 4.47) und die
Anzeige auf Ihrer Homepage. Auf der Homepage ist der Menüeintrag LINKS jetzt in
die NEWS gerutscht. Sie müssen also erst auf NEWS klicken, um den LINKS-Eintrag
wieder zu sehen. Auf diese Art lässt sich Ihre Homepage sehr einfach und effektiv
wie ein Dateibaum strukturieren.

Abbildung 4.47: Baumstrukturen im Menu Manager

Abbildung 4.48: Baumstrukturen auf der Homepage

Details-Ordering: Durch Klick auf die nach oben und unten zeigenden Dreiecke kön-
nen Sie die Sortierung innerhalb des Menüs verändern (Abbildung 4.47). Im Feld
ORDERING können Sie dies über eine Liste erledigen. Das hat den Vorteil, dass Sie
nicht mehrmals auf die Dreiecke klicken müssen.
Details-Access Level: Sie können entscheiden, ob das Menü allen Besuchern (Public),
nur registrierten Benutzern (Registered) oder einem besonderen Benutzerkreis (Spe-
cial) zur Verfügung stehen soll.
Details-Published: Hier können Sie das Menü veröffentlichen oder sperren.

90
4.5 Menü Menu

Parameter-Menu Image: Hier können Sie ein Bild angeben, das im Wurzelverzeichnis
des Media Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig vom
Template links neben dem Menüeintrag angezeigt.
Parameter-Page Class Suffix: Hier können Sie eine Klasse aus der CSS-Datei Ihres
Templates angeben, mit der dieser Menüeintrag formatiert werden soll.
Parameter-Back Button: Hier können Sie die globalen Einstellungen für den ZURÜCK-
Button übernehmen oder ihn explizit anzeigen oder ausblenden.
Parameter-Page Title: Hier können Sie den Seitentitel ein- oder ausblenden.
Parameter-Page Title: Hier können Sie einen Seitentitel festlegen (Abbildung 4.49).
Wenn Sie hier nichts eingeben, wird der Name des Links übernommen.
Parameter-Table Headings: Hier können Sie die Überschrift über der Liste von Links
ein- oder ausblenden.
Parameter-Hits: In der Linkliste werden die Zugriffe auf die Links angezeigt. Sie kön-
nen diese in den globalen Einstellungen oder durch eine entsprechende Auswahl hier
ändern.
Parameter-Link Descriptions: Hier können Sie die Beschreibung, die unter einem
Link in der Linkliste steht, ein- oder ausblenden.
Parameter-Category List – Section/Category: Wenn Sie auf den Link Links klicken,
sehen Sie die Standardtexte oder Ihre in den Parametern festgelegten Texte. Darunter
befindet sich eine Liste mit verfügbaren Kategorien und Sektionen. Diese Liste kön-
nen Sie mit den beiden Schalten ein- bzw. ausschalten (Abbildung 4.49).

Abbildung 4.49: Individueller Weblink-Bereich

Parameter-Description: Hier können Sie die allgemeine Beschreibung der Link-Kom-


ponente ein- oder ausschalten.
Parameter-Description Text: Hier können Sie den Standardtext der Link-Kompo-
nente mit einem individuellen Text überschreiben.
Parameter-Image: Hier können Sie ein Bild angeben, das im Wurzelverzeichnis des
Media Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig von Parame-
ter-Image Align links oder rechts vom Beschreibungstext angezeigt (Abbildung 4.50).

91
4 Mambo anpassen – Customizing

Parameter-Image Align: Einstellung für die Ausrichtung des Bildes (Abbildung 4.50).
Parameter-Icon: Icon, das links neben der Liste von Links angezeigt wird (Abbildung
4.50).

Abbildung 4.50: Individueller Weblink-Bereich II

Publish
Wenn Sie ein oder mehrere Menüelemente auswählen und auf das Icon PUBLISH
klicken, werden sie veröffentlicht.

Unpublish
Wenn Sie auf das Menü UNPUBLISH klicken, werden die markierten Einträge nicht
mehr auf der Homepage angezeigt.

Move

Abbildung 4.51: Site – Menu Manager – Mainmenu – Move

Verschieben von Menüeinträgen. Wählen Sie ein oder mehrere Menüelemente aus
und klicken Sie auf das Icon MOVE. Es öffnet sich nun ein Formular mit den verfügba-
ren Menüs (Abbildung 4.51). Wählen Sie das Menü aus, in das Sie die markierten
Menüeinträge verschieben möchten.

92
4.5 Menü Menu

Copy
Zum Kopieren von Menüeinträgen wählen Sie ein oder mehrere Menüelemente aus
und klicken auf COPY. Es öffnet sich ein Formular mit den zur Verfügung stehenden
Menüs. Bestimmen Sie das Menü, in das Sie die markierten Menüeinträge kopieren
wollen.

Trash
Um Menüeinträge in den Papierkorb zu werfen, wählen Sie ein oder mehrere Menü-
elemente aus und klicken auf das Icon TRASH. Die markierten Menüeinträge landen
im Papierkorb.

4.5.2 Neues Menü erzeugen


Lassen Sie uns ein Menü mit dem Namen Mambobuch und einem Link zu
http://www.google.de/ erzeugen. Rufen Sie MENU  MENU MANAGER  NEW auf
(Abbildung 4.52).

Abbildung 4.52: Site – Menu Manager – New

Menu Name: Der Name des Menüs. Dieser Name taucht nicht auf der Homepage auf,
er dient nur dazu, zwischen Modul und Menü eine Verbindung herzustellen.
Module Title: Der Name des Moduls.
Geben Sie in beiden Feldern das Wort suchen ein.

Abbildung 4.53: Neues suchen – Menü im Menu Manager

Nach einem Klick auf SAVE erzeugt Mambo ein neues Modul mit dem angegebenen
Namen (Abbildung 4.53). Klicken Sie nun auf das Icon MENU ITEMS oder rufen Sie in
der Menüleiste SITE  MENU MANAGER  MAMBOBUCH auf. Sie erhalten die Über-
sichtsmaske über die Inhalte des Menüs MAMBOBUCH. Da noch keine Inhalte vorhan-

93
4 Mambo anpassen – Customizing

den sind, klicken Sie auf das Icon NEW. Auf der dann erscheinenden Auswahlmaske
können Sie aus vier verschiedenen Bereichen Inhalte wählen (Abbildung 4.54).

Abbildung 4.54: Site – Menu Manager – New Menu Item

Content
Inhalte teilen sich in Blogs, Links und Tables. Ein Blog im Sinne von Mambo ist eine
Liste von Einträgen mit einem Aufmacher und einem read more-Link. Ein Link ver-
weist direkt auf einen bestimmten Inhalt. Eine Tabelle ist eine Liste von Links. Eine
Section ist ein Gliederungselement. Innerhalb einer Section kann es Kategorien geben.
Die Bedeutung der Auswahlmöglichkeiten finden Sie in Tabelle 4.6.

Auswahl Bedeutung
Blog – Content Category Blogseite, die sich auf eine Kategorie bezieht
(z.B. latest News)
Blog – Content Category Archive Blogseite, die sich auf archivierte Kategorien bezieht
(noch keine Einträge vorhanden)
Blog – Content Section Blogseite, die sich auf eine Section bezieht (z.B. News)
Blog – Content Section Archive Blogseite, die sich auf archivierte Sections bezieht
(noch keine Einträge vorhanden)
Link – Content Item Link zu einem Inhaltselement (z.B. Example News Item 2)
Link – Static Content Direkter Link zu einer statischen Inhaltsseite. In den Bei-
spieldaten gibt es eine statische Inhaltsseite (Mambo
License Guidelines).

Tabelle 4.6: New Menu Item – Content-Optionen

94
4.5 Menü Menu

Auswahl Bedeutung
Table – Content Category Link auf eine Tabelle, die den Inhalt einer Kategorie dar-
stellt
Table – Content Section Link auf eine Tabelle, die den Inhalt einer Section darstellt

Tabelle 4.6: New Menu Item – Content-Optionen (Forts.)

Miscellaneous

Auswahl Bedeutung
Separator / Placeholder Einfügung eines Trennstrichs in das Menü
Wrapper Hier kann eine externe Seite innerhalb der Homepage
angezeigt werden, beispielsweise Teile Ihrer alten Home-
page oder ein bereits vorhandenes Gästebuch.

Tabelle 4.7: New Menu Item – Miscellaneous

Components

Auswahl Bedeutung
Link – Component Item Ein Link auf eine Komponente (z.B. Login)
Link – Contact Item Ein Link auf einen Eintrag in der Kontaktliste
Link – Newsfeed Ein Link auf eine Nachricht aus der Section News
Table – Contact Category Ein Link auf eine Tabelle, die Einträge einer Kontakt-
kategorie enthält
Table – Newsfeed Category Ein Link auf eine Tabelle, die Einträge einer Newsfeed-
Kategorie enthält
Table – Weblink Category Ein Link auf eine Tabelle, die Einträge einer Weblink-
Kategorie enthält

Tabelle 4.8: New Menu Item – Components

Links

Auswahl Bedeutung
Link – Component Item Ein Link auf eine Komponente (z.B. Login)
Link – Contact Item Ein Link auf einen Eintrag in der Kontaktliste
Link – Content Item Link zur einem Inhaltselement (z.B. Example News Item 2)
Link – Newsfeed Ein Link auf eine Nachricht aus der Section News

Tabelle 4.9: New Menu Item – Links

95
4 Mambo anpassen – Customizing

Auswahl Bedeutung
Link – Static Content Direkter Link zu einer statischen Inhaltsseite. In den Bei-
spieldaten gibt es eine statische Inhaltsseite (Mambo
License Guidelines).
Link – Url Link auf einen URL (z.B. http://www.google.de)

Tabelle 4.9: New Menu Item – Links (Forts.)

Um einen Link auf einen URL einzufügen, markieren Sie das letzte Auswahlfeld LINK
– URL und klicken Sie in der Werkzeugleiste auf NEXT. In dem Formular, das sich öff-
net, können Sie die Details und die Parameter des Links festlegen (Abbildung 4.55).

Abbildung 4.55: Site – Menu Manager – suchen – New Menu Item – Link URL

Name: Name des Links, der im Menü erscheint (Google)


Link: Der Link zur Seite (http://www.google.de)
On Click, Open in: Was soll passieren, wenn jemand auf den Link klickt? Soll das Ziel
im gleichen Browserfenster, einem neuen Browserfenster mit Navigation oder einem
neuen Browserfenster ohne Navigation ausgeführt werden?
Parent Item: Soll der Menüeintrag ein Untermenü eines übergeordneten Eintrags
sein?
Access Level: Soll der Menüeintrag für die Gruppen Public (Besucher), Registered oder
Special sichtbar sein?
Published: Soll das Menü veröffentlicht werden?
Wenn Sie auf APPLY klicken, werden Ihre Daten gespeichert. Bei einem Klick auf SAVE
werden die Daten gespeichert und der Dialog wird verlassen.
Jetzt haben Sie das Menü erstellt und mit einem Link versehen. Bevor es nun ange-
zeigt wird, müssen Sie im Modules Manager das Modul noch veröffentlichen. Klicken

96
4.6 Menü Content

Sie auf MODULES  SITE MODULES (Abbildung 4.56) und dort auf das Icon PUBLISHED.
Mit Hilfe der blauen Dreiecke können Sie die Position des Menüs verändern.

Abbildung 4.56: Modules – Site Modules

Wenn Sie nun Ihre Homepage aufrufen, sollte über dem Hauptmenü Ihr neues Menü
MAMBOBUCH stehen (Abbildung 4.57).

Abbildung 4.57: Neues Menü Mambobuch

Bei Klick auf den Link Google sollte sich ein Browserfenster mit Navigation öffnen
und die Homepage der Suchmaschine Google anzeigen.

4.6 Menü Content


Das Menü CONTENT beinhaltet alle Bereiche von Inhalten. Inhalte sind in Mambo in
der folgenden Struktur organisiert.

97
4 Mambo anpassen – Customizing

Inhalte -+- Section1 -+- Kategorie1 -+- Inhalt1


| | +- Inhalt2
| | +- Inhalt3
| +- Kategorie2 +- Inhalt1
| +- Inhalt2
+- Section1 -+- Kategorie1 -+- Inhalt1
| | +- Inhalt2
| | +- Inhalt3
| +- Kategorie2 +- Inhalt1
| +- Inhalt2
+- Static Content -+- Inhalt1
+- Inhalt2
+- Inhalt3

Abbildung 4.58: So organisiert Mambo Inhalte

Diese Struktur lässt sich mit Ihrem Dateibaum auf der Festplatte vergleichen. Sie kön-
nen beliebig viele Sections, Categories (Kategorien) und Static Contents erzeugen. Wenn
Sie einzelne Elemente archivieren, so wird die Struktur komplett in das Archiv über-
nommen.
Das Menü CONTENT stellt verschiedene Arbeitsbereiche zur Verfügung, um die
Inhalte und die Strukturen zu bearbeiten (Abbildung 4.59).

Abbildung 4.59: Menü Content

4.6.1 Content By Section


Hier werden Ihnen die Inhalte sortiert nach Section angezeigt. Die nächste Gliede-
rungsstufe ist Category (Kategorie), dann folgen die eigentlichen Inhaltseinträge
(Items).

Section
Unterhalb des Menüs CONTENT BY SECTION werden alle vorhandenen Sections ange-
zeigt. Sie können beliebig viele Sections hinzufügen.

98
4.6 Menü Content

Category (Kategorie)
Unterhalb jeder Section wiederum finden Sie eine Auflistung der vorhandenen Kate-
gorien, sowie eine Möglichkeit diese Kategorien zu bearbeiten.
Add/Edit Section Category
Hier können Sie sich eine neue Kategorie erstellen. Lassen Sie uns als Beispiel die
Kategorie Mambobuch anlegen. Klicken Sie auf NEW.

Abbildung 4.60: Content – Neue Kategorie Mambobuch anlegen

Category Title: Titel der Kategorie (erscheint in der Titelzeile des Browsers).
Category Name: Der Name der Kategorie, der auf der Homepage angezeigt wird.
Section: Die Section, in der die Kategorie angelegt werden soll, in unserem Falle The
News.
Image: Hier können Sie ein Bild auswählen, das beim Aufruf der Kategorie auf der
Homepage dargestellt wird. Das Bild muss sich im Media Manager-Wurzelverzeich-
nis befinden (/images/stories/). Ich habe articles.jpg ausgewählt.
Image Position: Hier können Sie die Ausrichtung des Bildes festlegen.
Ordering: Hier wird die Sortierung der Kategorie bestimmt. In diesem Fall handelt es
sich um ein neues Element, das standardmäßig am Ende eingeordnet wird. Nach dem
ersten Speichern kann die Reihenfolge geändert werden.
Access Level: Wer hat Zugriff auf dieses Element?
Published: Soll die Kategorie sofort veröffentlicht werden?

99
4 Mambo anpassen – Customizing

Description: Das ist die Beschreibung der Kategorie. Falls Sie in SITE – GLOBAL CONFI-
GURATION – SITE den WYSIWYG-Editor ausgewählt haben (Abschnitt 4.4.1), wird
Ihnen hier eine kleine Textverarbeitung angeboten.
Parameter für diese Kategorie können Sie erst nach dem ersten Speichern festlegen.
Klicken Sie auf SAVE. Sie landen im Category Manager und sehen die neue Kategorie
Mambobuch (Abbildung 4.61).

Abbildung 4.61: Content – Neue Kategorie im Category Manager

Content Item: Nachdem wir nun eine neue Kategorie angelegt haben, wollen wir
einen Inhalt in diese Kategorie einfügen. Klicken Sie auf CONTENT – CONTENT BY SEC-
TION – NEWS – NEWS ITEMS. Sie landen im Content Items Manager und sehen die vier
Standardeinträge aus den Mambo-Beispieldaten. Klicken Sie auf NEW, um in den
Arbeitsbereich Content Item: New zu gelangen (Abbildung 4.62). Sie sehen ein Formu-
lar, das wiederum aus mehreren Bereichen besteht. Im linken Teil steht der eigentli-
che Inhalt, im rechten Teil sind mehrere Karteireiter mit verschiedenen Parametern.
Um eine Nachricht zu schreiben, reicht es zunächst aus, die linke Seite auszufüllen.
Title: Titel der Nachricht
Title Alias: Alias des Titels
Section: Hier können Sie eine Section auswählen, in der die Nachricht angezeigt wer-
den soll. Wählen Sie News.
Category: Abhängig von der ausgewählten Section werden die vorhandenen Katego-
rien angezeigt. Wählen Sie Mambobuch.
Intro Text/Main Text: Hier geben Sie Ihre eigentliche Nachricht ein. Der Intro Text
muss ausgefüllt werden, der Main Text ist optional.

100
4.6 Menü Content

Abbildung 4.62: Content – Content Item Arbeitsbereich

Mit einem Klick auf das PREVIEW-Icon können Sie sich in einem eigenen Browserfens-
ter eine Vorschau Ihres Textes anzeigen lassen (Abbildung 4.63).

Abbildung 4.63: Content – Content Preview

Um die neue Nachricht gleich in das Menü SUCHEN zu integrieren, klicken Sie nun
auf den Karteireiter LINK TO MENU (Abbildung 4.64).
Sie sehen eine Liste der vorhandenen Menüs.
Wählen Sie das Menü SUCHEN aus, geben Sie im Feld MENU ITEM NAME 4. Kapitel ein
und klicken Sie dann auf den Button LINK TO MENU. Die Seite baut sich neu auf und
im unteren Bereich Existing Menu Links sehen Sie, dass Ihre Nachricht in das Menü
aufgenommen wurde. Klicken Sie auf das Icon SAVE. Wenn Sie jetzt auf Ihre Home-

101
4 Mambo anpassen – Customizing

page schauen, stellen Sie fest, dass das Menü SUCHEN einen Eintrag mehr besitzt.
Nach einem Klick auf den Eintrag sehen Sie Ihre Nachricht (Abbildung 4.65) .

Abbildung 4.64: Content – Content Item-Arbeitsbereich – Link to menu

Abbildung 4.65: Die erstellte Nachricht auf der Homepage

4.6.2 All Content Items


Das Menü ALL CONTENT ITEMS führt Sie in den Content Manager (Abbildung 4.66). Der
Content Manager ist die zentrale Schaltstelle für jede Art von Inhalt.

102
4.6 Menü Content

In drei Optionslisten im Informationsbereich können Sie die angezeigten Inhalte nach


Section (Bereich), Kategorie und Autor filtern. Außerdem finden Sie dort ein Such-
feld, mit dem Sie in den Titeln suchen können.
Im unteren Bereich ist die Navigationsleiste, mit deren Hilfe Sie durch die Inhalte
blättern können. In einer Optionsliste können Sie auswählen, wie viele Einträge Sie in
der Liste sehen wollen. Standardmäßig gilt hier die Einstellung, die Sie unter SITE –
GLOBAL CONFIGURATION – SITE eingestellt haben.
Die Liste ist sortiert nach Section, Kategorie, Autor und Titel.

Abbildung 4.66: Content – Content Items Manager

Beschreibung der Tabelle


Vor dem Titel ist eine Checkbox, mit der Sie die zu bearbeitenden Elemente auswäh-
len können. Wenn Sie die Checkbox in der Kopfzeile anwählen, werden alle Elemente
der Liste ausgewählt.
Der Titel führt als Link zum Editiermodus des Content Items (Abbildung 4.62).
Published zeigt an, ob der Eintrag veröffentlicht ist (grüner Haken) oder nicht (rotes
Kreuz). Außer diesen beiden Symbolen gibt es auch noch die Möglichkeit, dass die
Veröffentlichungsperiode abgelaufen ist und das Element im Archiv liegt.
Frontpage zeigt an, ob der Eintrag auf der Frontpage (siehe Abschnitt 4.6.6) veröffent-
licht ist (grüner Haken) oder nicht (rotes Kreuz).
Unter Reorder können Sie die Einträge durch Klick auf die blauen Pfeile innerhalb
einer Section verschieben.
Bei Order können Sie diese Sortierung durch die Eingabe einer Zahl vornehmen.
Unter Access sehen Sie grüne Public-Links. Durch Klick auf einen dieser Links ändern
Sie die Zugriffrechte zwischen den drei Gruppen Public, Registered und Special. Dane-
ben gibt es auch noch Symbole für Pending (Wartezustand) und Expired (abgelaufen).

103
4 Mambo anpassen – Customizing

ID ist die Datensatznummer innerhalb der Tabelle von MySQL. Diese ID taucht in
dem URL zu diesem Eintrag wieder auf.
Section ist der Bereich, dem dieser Eintrag zugeordnet ist. Durch einen Klick auf den
Link gelangen Sie in den Section Manager.
Category ist die Kategorie, in der dieser Eintrag eingeordnet ist. Ein Klick auf den
Link führt Sie in den Category Manager.
Author ist der Autor des Eintrags. Durch einen Klick auf den Link gelangen Sie in den
User Manager.
Date schließlich ist das Erstellungsdatum des Eintrags.

4.6.3 Static Content Manager


Der Static Content Manager sieht aus wie der Content Manager, hat aber keine Felder
für Sections und Kategorien. Unter Static Content versteht man so etwas Ähnliches wie
eine statische HTML-Seite. Innerhalb von Mambo werden normalerweise Inhaltsele-
mente und Nachrichten innerhalb von Kategorien und Sections erstellt und eingeord-
net. Die Inhaltselemente haben einen dynamischen Charakter, da sie meist in einer
chronologischen Abfolge angezeigt werden.
Static Content ist statisch und bezieht sich auf Inhalte, die sich selten ändern und die in
keinem chronologischen Zusammenhang zu anderen Inhaltselementen stehen.
Das für jeden deutschen Internetauftritt vorgeschriebene Impressum wäre ein gutes
Beispiel für ein statisches Element. Auch in den Beispieldaten finden Sie einen Bei-
spieltext für Static Content, nämlich die Lizenzbedingungen von Mambo (Mambo
Licence Guidelines).

Abbildung 4.67: Content – Static Content Manager

Lassen Sie uns am Beispiel Ihres Impressums die Erstellung von Static Content Mana-
ger durchgehen und klicken Sie auf NEW.
Sie sehen eine Eingabemaske wie in Abbildung 4.68. Diesmal allerdings nur mit
einem Textfeld. Geben Sie als Title und Title Alias Impressum ein und als Text Ihre
Adresse und klicken Sie auf das Icon APPLY.

104
4.6 Menü Content

Publishing
Hier werden Parameter, die mit der Veröffentlichung zu tun haben, festgelegt.
State: Aktueller Status (momentan veröffentlicht)
Published: Checkbox, um den Status zu ändern
Access Level: Zugriff für die drei Benutzergruppen
Author Alias: Hier können Sie ein Pseudonym für den Autor eingeben.
Change Creator: Hier ändern Sie den Verfasser der Nachricht.
Override Created Date: An dieser Stelle können Sie das Erstellungsdatum verändern.
Durch einen Klick auf die drei Punkte erhalten Sie einen grafischen Kalender als Ein-
gabehilfe (Abbildung 4.69).

Abbildung 4.68: Content – Static Content Item – Publishing

Start Publishing dient dazu, den Start der Veröffentlichung festzulegen. Standard-
mäßig werden Inhalte sofort veröffentlicht. Durch einen Klick auf die drei Punkte
erscheint ein grafischer Kalender als Eingabehilfe (Abbildung 4.69).

105
4 Mambo anpassen – Customizing

Finish Publishing: Hier können Sie das Verfallsdatum des Inhalts bestimmen. Stan-
dardmäßig verfallen Inhalte nie (never). Ein Klick auf die drei Punkte zeigt Ihnen wie-
der den grafischen Kalender (Abbildung 4.69).
Content ID: Die Datensatznummer
Hits: Zugriffe auf diesen Inhalt
Version: Das Dokument hat die Versionsnummer 1. Bei jedem Speichervorgang wird
die Versionsnummer um eins hochgezählt.

Abbildung 4.69: Kalenderelement

Images
Sie können jedem Inhalt ein beliebiges Bild aus dem Media Manager zuordnen. Sollte
es noch nicht im Media Manager vorhanden sein, können Sie es durch Klick auf das
Icon UPLOAD während der Bearbeitung hochladen (Abbildung 4.70). Bei dieser Art
des Datei-Uploads können Sie allerdings kein Zielunterverzeichnis angeben.

Abbildung 4.70: Content – Static Content Item – Images – Upload-Fenster

Wählen Sie ein Unterverzeichnis aus und klicken Sie auf ein Bild (Abbildung 4.71). Sie
erhalten im rechten Bereich eine Vorschau des Bildes und müssen nun noch auf den
Button ADD klicken.
Im Fenster darunter sehen Sie jetzt den Dateinamen (Abbildung 4.72). Wenn Sie auf
ihn klicken, erscheint die Bildervorschau. Sie können beliebig viele Bilddateien
zuordnen. Jetzt müssen Sie noch den Ort im Text angeben, an dem das Bild angezeigt
werden soll. Dazu benötigen Sie einen Mambot17 mit dem Namen {mosimage}. Posi-
tionieren Sie den Cursor an die Stelle, an der das Bild erscheinen soll. Tippen Sie ent-

17 Mehr über Mambots in Abschnitt 4.9.

106
4.6 Menü Content

weder per Hand {mosimage} ein oder klicken Sie auf das Mambo-Logo mit dem I unter
dem Textfenster. Sie müssen so viele Mambots einfügen, wie Sie Bilder zugeordnet
haben.

Abbildung 4.71: Content – Static Content Item – Images

Abbildung 4.72: Content – Static Content Item – Images – Zuordnung des Bildes im Text

Neben dem I-Logo steht noch ein P-Logo. Das ist ein Mambot, der einen Seitenum-
bruch repräsentiert {mospagebreak}. Falls Sie Texte haben, die Sie über mehrere Seiten
verteilen wollen, müssen Sie diesen Mambot einfügen.
Bei der Darstellung auf der Homepage erzeugt Mambo dann automatisch eine Navi-
gationsleiste durch den Inhalt (Abbildung 4.73).

107
4 Mambo anpassen – Customizing

Abbildung 4.73: Von Mambo erzeugte Navigationsleiste für mehrseitige Inhalte

Parameters
Im Karteireiter PARAMETERS können Sie die in SITE – GLOBAL CONFIGURATION gesetz-
ten Parameter für diesen Inhalt überschreiben.

Abbildung 4.74: Content – Static Content Item – Parameters

Meta Info
In diesem Karteireiter können Sie für jede Seite eine spezifische Beschreibung und
Schlüsselwörter als Metadaten eingeben. Die hier eingegebenen Texte werden dann
im HTML-Quellcode in den Metatags eingebaut.

Link to Menu
Hier lassen sich automatische Links zu einem Menü, beispielsweise dem Hauptmenü,
herstellen (siehe Abschnitt 4.6.3).
Die Homepage zeigt einen mehrseitigen Inhalt (Abbildung 4.76 und Abbildung 4.77).

108
4.6 Menü Content

Abbildung 4.75: Content – Static Content Item – Meta Info

Abbildung 4.76: Impressum – Seite 1

Die Bewertung und die anderen Parameter können Sie noch individuell ausblenden.

4.6.4 Section Manager


Im Section Manager können Sie die Sections (Bereiche) bearbeiten. In der Übersichtsta-
belle werden Ihnen die Informationen angeboten, die Sie auch schon aus den anderen
Listen kennen, in diesem Fall jedoch erweitert um die Anzahl der enthaltenen Katego-
rien, wie viele davon aktiv sind und wie viele im Mülleimer liegen (Abbildung 4.78).

109
4 Mambo anpassen – Customizing

Abbildung 4.77: Impressum – Seite 2

Abbildung 4.78: Content – Section Manager

4.6.5 Category Manager


Im Category Manager bearbeiten Sie die Kategorien. In der Übersichtstabelle sehen Sie
die Informationen, die Sie auch schon aus den anderen Listen kennen, hier ebenfalls
zusätzlich die Anzahl der Kategorien, die aktiv sind und der, die im Mülleimer liegen
(Abbildung 4.79).

Abbildung 4.79: Content – Section Manager

110
4.6 Menü Content

4.6.6 Frontpage Manager


Der Frontpage Manager hat eine besondere Aufgabe. Die Frontpage ist die Titelseite
Ihrer Website. Hier werden ausgewählte Inhalte in der Blog Form dargestellt. Blog
Form heißt bei Mambo die Darstellung mehrerer Nachrichten mit Ihrem Intro Text
und einem read more-Link in mehreren Spalten. Auf der Frontpage können Sie aus
allen Inhalten bestimmte auswählen, unabhängig von Category und Section. Ob ein
Inhalt auf der Frontpage erscheint, legen Sie im Content Manager fest. Der Frontpage
Manager (Abbildung 4.80) hat den gleichen Aufbau wie der Content Items Manager
(Abbildung 4.66). Innerhalb des Frontpage Manager können Sie die einzelnen Inhalte
noch sortieren.

Abbildung 4.80: Content – Frontpage Manager

4.6.7 Archive Manager


Die Idee des Archivs ist es, veraltete Inhalte nicht zu löschen, sondern für die Nach-
welt zu erhalten.

Abbildung 4.81: Content – Archive Manager

111
4 Mambo anpassen – Customizing

Von der Struktur her aufgebaut wie der Content Items Manager (Abbildung 4.66) sam-
melt der Archive Manager (Abbildung 4.81) alle Inhalte, die durch Klick auf das Icon
ARCHIVE archiviert wurden.
Die Archive können dann über den Menu Manager beispielsweise in einem neuen
Archivmenü angezeigt werden. Dazu gibt es folgende Möglichkeiten (Abbildung
4.54):
Blog – Content Category Archive: Darstellung einer bestimmten Kategorie
Blog – Content Section Archive: Darstellung einer Section

4.7 Menü Components


In der Softwareentwicklung versteht man unter einer Komponente oder einer Java
Bean ein Programm, das Geschäftslogik enthält, über definierte Schnittstellen
ansprechbar ist und unter Umständen auch eine Benutzeroberfläche hat.
Stellen Sie sich eine Komponente einfach wie eine so genannte Blackbox vor: Ich gebe
vorne etwas hinein und hinten kommt etwas heraus. Was drinnen vorgeht, muss ich
nicht wissen. Wichtig ist, dass ich die Blackbox zu ganz unterschiedlichen Zwecken
benutzen kann.
Komponenten können sehr allgemein konstruiert und in handliche Pakete verpackt
werden. Diese Idee einer Softwarekomponente ist in Mambo ähnlich. Geschäftslogik
wie beispielsweise Bannerverwaltung oder ein Forum werden allgemein beschrieben
und arbeiten dann in Mambo mit allen Templates und der Mambo-Administration
zusammen.

4.7.1 Install/Uninstall
Grundsätzlich kann jeder eine Komponente schreiben, nach gewissen Regeln verpa-
cken und per Mambo-Installation in sein Mambo-System installieren (Abbildung
4.82)18.
Die Installation erfolgt wie bei den Sprachdateien entweder über Datei- oder FTP-
Upload des Komponentenpaketes.
Benötigte Datenbanktabellen werden bei der Installation angelegt.
Unter den Installationsfelder wird Ihnen angezeigt, ob die zur Installation notwendi-
gen Verzeichnisse media/, administrator/components/, components/ und images/stories/
mit Schreibrechten versehen sind.

18 Siehe auch Kapitel 7.

112
4.7 Menü Components

Abbildung 4.82: Components – Install/Uninstall

Installed Components
Im Arbeitsbereich Installed Components sehen Sie eine Liste der standardmäßig instal-
lierten Komponenten.
Currently Installed: Name der Komponente
Component Menu Link: Benötigte Parameter im URL, um auf die Komponente
zugreifen zu können. Diesen Link benötigen nur Komponenten, die von der Home-
page aus aufrufbar sein müssen.
Author: Der Autor der Komponente
Version: Die Version der Komponente
Date: Das Erstellungsdatum
Author E-Mail: E-Mail des Autors
Author Url: Homepage des Autors

4.7.2 Banner
Die Bannerkomponente ermöglicht die Anzeige von Werbebannern auf Ihrer Home-
page. Bannerschaltungen werden bei Mambo auf der Basis von gekauften Bannerein-
blendungen (Impressions) abgerechnet. Jedes Mal, wenn sich Ihre Homepage aufbaut
wird ein anderes Banner angezeigt. Jedes Anzeigen zählt als eine Einblendung. Das
Banner ist anklickbar und führt auf die Homepage des Kunden.

113
4 Mambo anpassen – Customizing

Die Komponente Banner bietet eine Kunden- und eine Bannerverwaltung. Standard-
mäßig werden so genannte Fullbanner geschaltet. Ein Fullbanner ist 468 * 60 Pixel
groß und sollte eine Dateigröße von 20 Kbyte nicht wesentlich überschreiten. Das For-
mat ist gif, jpg oder png.
Spielen wir mal eine Bannerschaltung durch. Erstellen oder kopieren Sie sich ein Ban-
ner in den Maßen 468 * 60 Pixel (Abbildung 4.83).

Abbildung 4.83: Testbanner mit 468 * 60 Pixel

Manage Clients
Bevor Sie ein Banner schalten können, benötigen Sie einen Kunden. Klicken Sie auf
COMPONENTS – BANNERS – MANAGE CLIENTS – NEW, eröffnen Sie ein neues Kunden-
konto und speichern Sie es dann über SAVE (Abbildung 4.84).

Abbildung 4.84: Components – Banners – Manage Clients – Neuer Kunde

Der Banner Client Manager, in dem Sie nach dem Speichern landen, zeigt jetzt Ihren
neuen Kunden sowie die Anzahl der aktiven Banner dieses Kunden an.

Manage Banners
Um dem Kunden ein Banner zuordnen zu können, klicken Sie auf COMPONENTS –
BANNERS – MANAGE BANNERS. Sie sehen den Banner Manager, der eine Übersicht über
die vorhandenen Banner gibt (Abbildung 4.85).
Bannername: Name des Banners.
Published: Ob das Banner veröffentlicht ist oder nicht.

114
4.7 Menü Components

Impressions Made: Anzahl der bisherigen Einblendungen.


Impressions Left: Anzahl der verbleibenden Einblendungen.
Clicks: Klicks auf das Banner.
% Clicks: Prozentualer Anteil von Einblendungen zu Klicks.

Abbildung 4.85: Components – Banner Manager

Um ein neues Banner zu schalten, klicken Sie zunächst auf das Icon UPLOAD. Ein klei-
nes Upload-Fenster zum Hochladen des Bannners öffnet sich. Die Banner tauchen
nicht im Media Manager auf, sondern werden im Verzeichnis /images/banner/ gespei-
chert. Wenn Sie ein Banner wieder löschen wollen, geht das momentan nur per FTP-
Client.
Nachdem Sie das Banner hochgeladen haben, klicken Sie auf das Icon NEW und füllen
Sie das Formular Banner: New aus (Abbildung 4.86).

Abbildung 4.86: Components – Banner Manager – Neues Banner

115
4 Mambo anpassen – Customizing

Banner Name: Geben Sie dem Banner einen aussagekräftigen Namen, damit Sie es im
Bannermanager wieder erkennen.
Client Name: Wählen Sie den Kunden aus der Optionsliste vorhandener Kunden aus.
Impressions Purchased: Geben Sie die Anzahl der gekauften Einblendungen an oder
kreuzen Sie die Checkbox unlimited (unbegrenzt) an.
Banner URL: Wählen Sie aus der Liste der vorhandenen Banner Ihr eben hochgelade-
nes Banner aus. Nach der Auswahl sehen Sie im unteren Bereich eine Vorschau des
Banners.
Show Banner: Soll das Banner sofort veröffentlicht werden?
Click URL: Geben Sie hier den URL der Homepage ein, auf die das Banner verweisen
soll.
Custom banner code: Hier können Sie speziellen Bannercode aus Affiliate-Program-
men eingeben.
Da diese Maske auch zum Editieren von Bannern gedacht ist, finden Sie noch die
Anzeige der bereits erfolgten Klicks und einen RESET-Button, um die Clicks wieder auf
Null zu setzen.
Nach einem Klick auf das Icon SAVE sollte sich Ihr Banner nun in der Rotation befin-
den und auf der Homepage angezeigt werden.

Abbildung 4.87: Kundenbanner auf der Homepage

4.7.3 Contacts
Wenn sich ein Kunde auf Ihrer Homepage bewegt und Kontakt mit Ihnen aufnehmen
will, so ist das für den Kunden oft gar nicht so einfach. Normalerweise arbeiten in Fir-
men viele Angestellte in verschiedenen Abteilungen und oft findet sich nur eine
info@firma.de-Adresse auf der Homepage oder ein Formular, bei dem der Kunde nicht
genau weiß, wer es erhält. Aus diesem Grund gibt es in Mambo die Möglichkeit, Kon-
taktkategorien festzulegen. In diese Kategorien können Sie Ansprechpartner Ihrer
Firma eintragen. Mambo erzeugt auf der Homepage dann ein Kontaktformular für
jeden Mitarbeiter.

116
4.7 Menü Components

Manage Contacts
Klicken Sie auf COMPONENTS – CONTACTS – MANAGE CONTACTS. Sie sehen den Con-
tact Manager und einen Kontakt aus den Beispieldaten (Abbildung 4.88).

Abbildung 4.88: Components – Contact Manager

Markieren Sie den Beispielkontakt und klicken Sie auf das Icon UNPUBLISH. Mit NEW
legen Sie einen neuen Kontakt an (Abbildung 4.89).

Abbildung 4.89: Components – Contacts – neuer Kontakt

Categorie: Wählen Sie hier die Kontaktkategorie aus. Momentan gibt es die Beispiel-
kategorie Contacts.

117
4 Mambo anpassen – Customizing

Linked to User: Mit dieser Option können Sie einen Kontakt mit einem Benutzerkonto
verbinden. Da ich mir bereits ein Konto angelegt habe, kann ich es jetzt auswählen.
Die restlichen Felder können Sie mit den entsprechenden Adressdaten füllen und bei
Miscellaneous Info noch eine Beschreibung hinzufügen. Zum Speichern klicken Sie
auf das Icon SAVE.
Um das Ganze besonders schön zu machen, ändern Sie im Menu Manager in den
Menüs mainmenu und topmenu die Einträge Contact us in Kontakt. Wenn Sie nun auf
einen der beiden Kontaktlinks klicken, sehen Sie Ihre Daten und ein Formular (Abbil-
dung 4.90).

Abbildung 4.90: Kontaktformular

Außerdem sehen Sie, dass in der deutschen Sprachdatei die Übersetzung für
_CONTACT_DOWNLOAD_AS _VCARD fehlt. Fügen Sie einfach die beiden folgenden Zeilen in die
deutsche Sprachdatei ein und die Anzeige ist korrekt (siehe Abschnitt 4.1.1).

DEFINE('_CONTACT_DOWNLOAD_AS','Kontaktdaten herunterladen als');


DEFINE('_VCARD ','VCard');

Eine VCard ist ein Dateiformat, das sich in viele Adressverzeichnisse automatisch
eintragen lässt19.
Da wir den Beispieleintrag nicht veröffentlicht haben, gibt es momentan nur einen
Kontakt im System und keine Notwendigkeit, Kategorien anzuzeigen. Daher ver-
zweigt der Kontaktlink sofort auf den einen Eintrag. Wenn Sie den Beispieleintrag
wieder veröffentlichen, bietet sich folgendes Bild (Abbildung 4.91);

19 http://de.wikipedia.org/wiki/VCard

118
4.7 Menü Components

Abbildung 4.91: Kontaktkategorienliste

Hier werden die vorhandenen Kontaktkategorien angezeigt. Nach einem Klick auf
die Kategorie erhalten Sie eine Tabelle mit den vorhandenen Kontakten (Abbildung
4.92).

Abbildung 4.92: Kontaktliste innerhalb einer Kategorie

Wenn Sie nun auf den Namen klicken, erhalten Sie das Kontaktformular (Abbildung
4.90).

Abbildung 4.93: Neuer Kontakt – Publishing

Bei der Erstellung des Kontaktes sind Ihnen sicher die Karteireiter aufgefallen. Im
Reiter PUBLISHING (Abbildung 4.93) legen Sie fest, welcher Kontakt der Standardkon-
takt ist (Site Default). Außerdem können Sie die Veröffentlichung bestimmen, die Sor-
tierung und die Zugriffsberechtigungen.

119
4 Mambo anpassen – Customizing

Im Reiter IMAGE können Sie jedem Kontakt ein Bild zuordnen. Fotografieren Sie Ihre
Belegschaft und lassen Sie Ihren Kunden wissen, wie der Mensch aussieht, an den er
schreibt (Abbildung 4.94).

Abbildung 4.94: Neuer Kontakt – Images

Im Reiter PARAMETER lässt sich schließlich das Kontaktformular komplett individua-


lisieren. Sie können sogar die Icons neben den Telefonnummern austauschen. Die zur
Verfügung stehenden Icons befinden sich im Unterverzeichnis /images/M_images/ und
sind über den Media Manager nicht erreichbar.

Contacts Categories
Im Category Manager für Kontakte können Sie neue Kategorien anlegen und vorhan-
dene ändern (Abbildung 4.95).

Abbildung 4.95: Contacts – Kategoriemanager

Nach einem Klick auf das Icon EDIT oder den Kategorienamen wird Ihnen das Editier-
formular angezeigt (Abbildung 4.96). Auch hier können Sie ein Bild zuordnen und
mit Hilfe des WYSIWYG-Editors die Beschreibung ändern. Im rechten Bereich lässt
sich die Kategorie gleich einem bestimmten Menü zuordnen. Dabei können Sie noch
entscheiden, ob Sie gleich die Tabellendarstellung oder zunächst eine Auflistung aller
Kategorien haben wollen (Select Menu Type).

120
4.7 Menü Components

Abbildung 4.96: Contacts – Kategoriemanager – Edit

4.7.4 Mass Mail


Erfreuen Sie Ihre Benutzer mit Rundmails (Abbildung 4.97)!

Abbildung 4.97: Components – Mass Mail

So zynisch dieser Satz im Zeitalter massivem E-Mail-Spams auch klingen mag, es ist
der beste Weg, mit seinen registrierten Benutzern Kontakt aufzunehmen. Die Mass
Mail-Komponente bietet Ihnen die Möglichkeit dazu.

121
4 Mambo anpassen – Customizing

Group: Hier können Sie auswählen, an welche Benutzergruppe die Rundmail gerich-
tet ist.
Mail to Child Groups: Wenn Sie hier ein Kreuzchen setzen, werden die Untergrup-
pen der ausgewählten Benutzergruppe ebenfalls angeschrieben.
Send in HTML mode: Hier können Sie ein Kreuzchen setzen, wenn Sie die Rundmail
im HTML Format verschicken wollen. HTML-Mails nehmen immer mehr zu. Sie soll-
ten trotzdem daran denken, dass viele E-Mail-Clients die HTML-Darstellung aus-
schalten können und Empfänger aus verschiedenen Gründen keine HTML-Mails
mögen könnten.
Subject: Der Betreff Ihrer E-Mail
Message: Der eigentliche Text
Um die Rundmail zu verschicken, müssen Sie die Maileinstellungen in SITE – GLOBAL
CONFIGURATION – MAIL korrekt gesetzt haben. Wenn Sie beispielsweise aus Ihrer
lokalen Umgebung eine Rundmail schicken wollen, aber keinen Mailserver laufen
haben, so können Sie in den Maileinstellungen auch den SMTP-Server Ihres Mailpro-
viders eintragen.

4.7.5 News Feeds


News Feeds sind eine tolle Sache. Die immer größere Informationsfülle im Internet
macht es notwendig, effektive Methoden der Organisation zu erproben. Wenn Sie bei-
spielsweise 20 Internetseiten haben, die Sie regelmäßig besuchen, um nachzuschauen,
was es Neues gibt, so dauert das einfach Zeit. Bei 50 oder 100 ist es schon hoffnungslos,
den Überblick zu behalten. News Feeds sind ein Versuch, das Problem zu lösen. Was
News Feeds sind und wie Sie erzeugt werden, lesen Sie in Abschnitt 4.7.7.
In der News Feeds-Komponente können Sie Feeds von anderen Seiten in Ihre Seiten
einbinden. Dazu stehen Ihnen ein Kategorie und ein Inhaltsmanager zur Verfügung.
In den Beispieldaten sind bereits mehrere Kategorien und zahlreiche News Feeds ent-
halten.
Binden Sie mal ein eigenes News Feed ein. Sie können eine Suchmaschine für diesen
Zweck benutzen20 oder bei den Sites, die Sie besuchen, den kleinen XML-Button
suchen.

Manage Newsfeeds
Klicken Sie auf COMPONENTS – NEWS FEEDS – MANAGE NEW FEEDS – NEW (Abbildung
4.98).
Name: Name des News Feeds, der auf Ihrer Seite erscheint.
Category: Wählen Sie aus den vorhandenen Kategorien eine passende aus.

20 z.B. http://www.rss-verzeichnis.de/

122
4.7 Menü Components

Link: Der Link zum News Feed. Im unserem Falle die Seite der Bundesregierung.
Number of Articles: Die Anzahl der Artikel, die eingebunden werden sollen
Cache time (in seconds): Wie lang soll die Pause zwischen den Aktualisierungen sein
in Sekunden?
Ordering: Die Reihenfolge. Neue News Feeds stehen standardmäßig am Anfang. Die
Reihenfolge kann geändert werden, nachdem gespeichert wurde.
Published: Soll es gleich veröffentlicht werden?

Abbildung 4.98: Neues News Feed einbinden

Ihr neues News Feed, einen Internetzugang vorausgesetzt, wird jetzt in Ihrer Home-
page angezeigt (Abbildung 4.99). Da es Unterschiede zwischen den Zeichensätzen
der einzelnen Sprachen gibt, kommt es hin und wieder zu Problemen in der Anzeige
von Sonderzeichen und HTML-Befehlen. Das hängt mit vielen verschiedenen Fakto-
ren zusammen. Es kommt beispielsweise darauf an, ob die Sonderzeichen mit Uni-
code oder einem regionalen Zeichensatz erzeugt worden sind. Ausserdem sollte der
Betreiber des News Feeds keine HTML-Befehle einbauen. Auf der anderen Seite sollte
diese Mambo Funktion ein wenig besser werden, was die Darstellung betrifft. Probie-
ren sie es einfach aus. Das Ergebnis ist nicht exakt voraussagbar.

Abbildung 4.99: News Feeds auf Ihrer Webseite

123
4 Mambo anpassen – Customizing

Manage Categories
Hier können Sie die News Feed-Kategorien verwalten. Die Verwaltung funktioniert
analog zum Contacts-Kategoriemanager (Abbildung 4.95).

4.7.6 Polls
Das integrierte Umfragemodul erlaubt es Ihnen, Umfragen auf Ihrer Homepage anzu-
bieten. Eine Umfrage ist bereits in den Beispieldaten enthalten (Abbildung 4.100).
Title: Der Titel Ihrer Umfrage
Lag: Bestimmt die Zeit in Sekunden, die vergehen muss, damit wieder gewählt wer-
den kann. Dieser Lag ist ein gewisser Schutz vor der Verfälschung der Umfrageergeb-
nisse.
Options: Hier können Sie bis zu zwölf Antwortoptionen eingeben.
Show on menu items: In diesem Feld können Sie auswählen, in welchem Bereich der
Homepage die Umfrage angezeigt werde soll. Mehrfachauswahl mit gedrückter
(Strg)-Taste und linker Maustaste.

Abbildung 4.100: Components – Poll – Edit

Durch einen Klick auf das Icon PREVIEW erhalten Sie eine Vorschau auf Ihre Umfrage.
Damit sie wirklich auf Ihrer Homepage dargestellt wird, müssen Sie wissen, ob im
aktuellen Template Umfragen vorgesehen sind.

124
4.7 Menü Components

Abbildung 4.101: Umfrage auf der Homepage

Auf Ihrer Homepage können Sie dann die Umfrage sehen (Abbildung 4.101).
Wenn Sie jetzt die Umfrage ausprobieren und eine Antwort wählen, erscheint eine
Auswertungsmaske. Die Umfrage selbst wird jetzt vermutlich nicht mehr gezeigt,
denn sie war standardmäßig nur der Frontpage zugeordnet. Die Zuordnung zu den
einzelnen Seiten konfigurieren Sie im Modulmanager (siehe Abschnitt 4.8.2).

Abbildung 4.102: Umfrageauswertung auf der Homepage

4.7.7 Syndicate
In der Komponente Syndicate können Parameter für das Erzeugen von News Feeds
festgelegt werden.
Ein News Feed ist eine XML-Datei, die nach den gängigen Standards aufgebaut ist
(Listing 4.1). Sie können diese Datei durch einen Klick auf den RSS 0.91-Button auf
Ihrer Homepage (Abbildung 4.103) erzeugen. Sie ist nicht dazu gedacht, von Men-
schen gelesen zu werden, sondern dient als Austauschformat zwischen zwei Pro-
grammen.

125
4 Mambo anpassen – Customizing

Normalerweise übergibt man nicht die Datei, sondern nur den entsprechenden URL.
In diesem Fall:
http://localhost/mambo/index2.php?option=com_rss&feed=RSS0.91&no_html=1

Abbildung 4.103: Syndication von News Feeds auf der Homepage

Die Dateierzeugung und die optische Aufbereitung übernimmt das lesende Pro-
gramm.

Listing 4.1: Von Mambo erzeugte XML-News Feed im Format RSS 0.91

<?xml version="1.0" encoding="ISO-8859-1" ?>


<!-- generator="FeedCreator 1.7.2" -->
<rss version="0.91">
<channel>
<title>Powered by Mambo 4.5.2</title>
<description>Mambo site syndication</description>
<link>http://localhost/mambo</link>
<lastBuildDate>Mon,14 Mar 2005 13:38:08</lastBuildDate>
<generator>FeedCreator 1.7.2</generator>
<image> <url>http://localhost/mambo/images/M_images/mambo_rss.png</url>
<title>Powered by Mambo 4.5.2</title>
<link>http://localhost/mambo</link>
<description>Mambo site syndication</description>
</image>
<item>
<title>Welcome to Mambo</title>
<link>http://localhost/mambo/index.php?option=com_content&task=view&id=1&Itemid=9</li
nk>
<description>If you've read anything at all about Content Management Systems (CMS),
you'll probably know at least three things: CMS are the...</description>
</item>
<item> ... </item>
… weitere Items
</channel>
</rss>

In der Datei stehen Titel und Text der letzten Nachrichten, sowie diverse weitere
Informationen, wie beispielsweise der Zeitpunkt der Erstellung, von welcher Home-
page die Nachrichten kommen, die direkten Links zu den Homepages etc.

126
4.7 Menü Components

Mambo kann News Feeds erzeugen und unterstützt folgende Standards:


 RSS 0.91/1.0/2.0
 ATOM 0.3
 OPML
 SHARE IT
Die Inhalte der Feeds können wie folgt beeinflusst werden (Abbildung 4.104):

Abbildung 4.104: Components – Syndicate

Cache: Sollen die Feeds zwischengespeichert werden, um zu vermeiden, dass sie bei
jedem Aufruf neu erzeugt werden müssen?
Cache Time: Hier können Sie eingeben, wie lange die Daten zwischengespeichert
werden sollen (in Sekunden).
Items: Wie viel Einträge sollen in das Feed übernommen werden?

127
4 Mambo anpassen – Customizing

Title: Wie soll der Titel des Feeds lauten?


Description: Wie soll die Beschreibung des Feeds sein?
Image: Welcher Bildlink soll dem Feed zugeordnet werden? Sinnvoll wäre hier das
Logo Ihrer Firma.
Image Alt: Was soll angezeigt werden, wenn das Endgerät keine Bilder lesen kann?
Limit Text: Soll der zu übertragende Text auf eine bestimmte Länge begrenzt wer-
den?
Text Length: Wie lang soll diese Textlänge sein?
Order: Wie sollen die Nachrichten sortiert werden?
 wie auf der Frontpage (Frontpage Ordering)
 die ältesten zuerst (Oldest first)
 die beliebtesten zuerst (Most recent first)
 aufsteigend nach Titel (Title Alphabetical)
 absteigend nach Titel (Title Reverse-Alphabetical)
 aufsteigend nach Autor (Author Alphabetical)
 absteigend nach Autor (Author Reverse-Alphabetical)
 meisten Zugriffe (Most Hits)
 wenigsten Zugriffe (Least Hits)

Abbildung 4.105: Live Bookmarks-Angebot im Browser Firefox

Live Bookmarks: Live Bookmarks sind eine Funktion des Mozilla Firefox Browsers21.
Es handelt sich dabei um dynamische Lesezeichen, die Ihnen statt festen Links die
Informationen aus den Feeds anzeigen. Falls Sie mit Firefox arbeiten, wählen Sie aus
der Liste RSS 2.00 aus und speichern die Parameter.
Wenn Sie nun mit Firefox Ihre Homepage besuchen, so sehen Sie in der rechten unte-
ren Ecke des Browsers ein orange leuchtendes XML-Zeichen mit den verfügbaren
News Feeds Ihrer Homepage. Hier können Sie Ihre Nachrichten mit einem Klick in
die Lesezeichen übernehmen (Abbildung 4.105). Wenn Sie anschließend in Ihre Lese-

21 Hatte ich schon erwähnt, dass Sie wirklich mal über den Einsatz von Firefox nachdenken soll-
ten? Siehe http://www.mozilla.org/.

128
4.7 Menü Components

zeichen schauen, so finden Sie die Überschriften Ihrer Nachrichten dort wieder
(Abbildung 4.106).

Abbildung 4.106: Live Bookmarks in Firefox

4.7.8 Weblinks
Hier bauen Sie eine Linkliste auf, die Sie in Ihre Homepage integrieren können.
Mambo bietet Kategorien an und zählt die Zugriffe auf die Links. Sie können im user-
menu Ihren registrierten Benutzern erlauben, Links zur Aufnahme in die Liste vorzu-
schlagen. Diese Links landen dann in der Weblinks Items-Liste und müssen noch ver-
öffentlicht werden.

Weblink Items
Hier können Sie die einzelnen Links eintragen (Abbildung 4.106).

Abbildung 4.107: Components – Weblinks – Edit

Name: Name des Links, der auf der Homepage erscheint


Category: Auswahl einer vorhandenen Linkkategorie
URL: Der URL des Links
Description: Hier können Sie eine ausführliche Beschreibung des Links eingeben.

129
4 Mambo anpassen – Customizing

Ordering: Sortierung der Links


Approved: Ist dieser Link überprüft?
Published: Soll der Link sofort veröffentlicht werden?
Target: Im Parameterbereich können Sie wählen, ob der Link in einem neuen Fenster
(mit Navigation oder ohne) erscheinen oder ob er im gleichen Fenster angezeigt wer-
den soll.

Weblink Categories
Die Linkkategorien werden im entsprechenden Categories Manager verwaltet (Abbil-
dung 4.108).

Abbildung 4.108: Components – Weblinks – Categories

4.8 Menü Modules


Ein Modul ist im Gegensatz zu einer Komponente einfacher aufgebaut. Es ist ein
Code-Fragment oder Sniplet, das von einem anderen Programmteil eingebaut und
interpretiert wird.
Durch die Möglichkeiten, die die Scriptsprache PHP bietet, können Module Daten
aus allen möglichen Quellen sammeln. Das kann eine Quelle auf Ihrer eigenen Home-
page sein (die letzten fünf Artikel) oder ein Wetter-, Devisenkurs-, Amazon-, oder
Ebay-Webservice.
Ein Modul enthält eine Geschäftslogik und eine Benutzeroberfläche. Es hat keinen
eigenen Administrationsbereich wie die meisten Komponenten. Das Template Ihrer
Homepage spricht die verschiedenen Module direkt an und startet sie.
Da die Module eigenständige Programme sind, können sie in diesem Bereich des
Templates etwas Bestimmtes tun, beispielsweise ein Banner anzeigen. Ein Template
macht nichts anderes, als viele verschiedene Modules auf eine optisch ansprechende
Art zu gruppieren. Die Modulstruktur hat den Vorteil, dass Sie Ihre Homepage auf
einfache Art erweitern können.
Da Sie Templates für Ihre Homepage und für die Mambo-Administration verwenden
können, gibt es auch unterschiedliche Module für diese Templates.

130
4.8 Menü Modules

4.8.1 Install/Uninstall
Hier können Sie Dateipakete für Module per Datei-Upload oder aus einem Verzeich-
nis heraus installieren (Abbildung 4.109). Das Deinstallieren funktioniert durch Aus-
wahl des Moduls und einen Klick auf das Icon DELETE.

Abbildung 4.109: Modules – Install/Uninstall

Unter dem Installationsbereich sehen Sie eine Liste der installierten Module mit der
Herkunft der Module und weiteren Informationen.

4.8.2 Site Modules


Der Modulmanager ist die zentrale Stelle, um Module zu verwalten (Abbildung
4.110).

Abbildung 4.110: Modules – Site Modules

Module Name: Name des Moduls und Überschrift auf der Homepage
Published: Ist das Modul veröffentlicht?

131
4 Mambo anpassen – Customizing

Reorder: Hier können Sie mit Hilfe der blauen Pfeile die Sortierung verändern. Damit
können Sie beispielsweise beeinflussen, ob das Menü SUCHEN über oder unter dem
Hauptmenü steht.
Order: Eine direkte Sortierung durch Angabe der Position und einmaligen Klick auf
das Icon neben Order erspart das viele Klicken auf die blauen Pfeile.
Access: Zugriffberechtigung für dieses Modul (Public, Registered, Special)
Position: Die Position ist eine Angabe für das Template, in welchem Bereich die
Anzeige dieses Modul vorgesehen ist. Es gibt 8 Positionen innerhalb eines Templates.
 Banner (Werbebereich)
 Left (Linke Seite)
 Right (Rechte Seite)
 Top (Oben)
 user1 (Benutzerdefiniert 1)
 user2 (Benutzerdefiniert 2)
 user3 (Benutzerdefiniert 3)
 user4 (Benutzerdefiniert 4)
Nach diesen Positionen können Sie mit Hilfe der Optionsliste im oberen Bereich die
Anzeige für eine bessere Übersicht filtern.
Pages: Wird das Modul auf allen oder nur auf bestimmten Seiten angezeigt?
ID: Die Datensatznummer aus der Datenbank
Type: Es gibt verschiedene Typen von Modulen. Der Typ mod_mainmenu beispiels-
weise tritt mehrmals auf, da jedes Menü zu diesem Typ gehört. Die einzelnen Menüs
unterscheiden sich dann nur in den Parametern. Nach diesen Typen können Sie mit
Hilfe der Optionsliste im oberen Bereich die Anzeige filtern, um eine bessere Über-
sicht zu haben.
Außerdem gibt es noch ein Filterfeld, mit dem Sie die Anzeige nach Suchbegriffen fil-
tern können. Diese Filtermechanismen sind durchaus sinnvoll, wird doch Mambo
bereits standardmäßig mit 21 Modulen ausgeliefert.
Die Bearbeitung dieser Module funktioniert weitgehend einheitlich. Außer den
Angaben für Name, Zugriff etc. müssen Sie auch entscheiden, auf welchen Seiten Ihr
Modul angezeigt wird und welche Position das Modul im Template haben soll.
Die Parameterliste ist bei Modulen besonders wichtig, deswegen werde ich bei der
weiteren Vorstellung der Module besonders auf die Parameter eingehen.

132
4.8 Menü Modules

Banner
Dieses Modul steuert die Anzeige der Banner. Als Parameter können Sie die Daten-
satz-ID des Kunden angeben (Banner Client) und damit erzwingen, dass nur Banner
dieses Kunden angezeigt werden. Außerdem können Sie den Namen einer CSS-
Klasse angeben. In diesem Fall muss das ein Zusatz zur Klasse table sein, beispiels-
weise table.moduletable. Das erlaubt eine individuelle Gestaltung des Moduls (Module
Class Suffix).

Template Chooser
Dieses Modul bietet dem Besucher der Seite an, aus verschiedenen Templates selbst
eins auszuwählen. Es ist standardmäßig deaktiviert und der Home-Seite zugeordnet.

Abbildung 4.111: Modul Template Chooser

Parameter:
Max. Name Length: Die Länge des Template-Namens in Zeichen, die in der Options-
liste angezeigt werden. Ist der Name länger, werden drei Punkte angehängt.
Show Preview: Soll die Template-Vorschau an- oder abgeschaltet werden?
Width/Height: Die Breite und Höhe des Vorschaubildes in Pixel
Module Class Suffix: Geben Sie hier den Namen einer CSS-Klasse an. Es muss ein
Anhang an die Klasse table sein, beispielsweise table.moduletable. Dadurch können
Sie das Modul individuell gestalten.

Alle Menüs (mod_mainmenu)


Das Modul mod_mainmenu wird für alle Menüs benutzt. Es gibt vertikale (Hauptmenü)
und horizontale Menüs (Top Menu). Bei vertikalen Menüs bietet sich noch die Mög-
lichkeit einer Flatlist. Eine Flatlist ist einfach eine Aufzählung von einzelnen Punkten.
Menu Class Suffix: Hier können Sie eine spezielle CSS-Klasse zur optischen Gestal-
tung des Menüs eingeben.
Module Class Suffix: Hier bestimmen Sie eine spezielle CSS-Klasse zur optischen
Gestaltung des Moduls (Menüinhalt).

133
4 Mambo anpassen – Customizing

Menu Name: Name des Menüs


Menu Style: Vertikal, horizontal oder Flatlist
Enable Cache: Soll der Inhalt des Menüs zwischengespeichert werden, um Ladezeit
zu sparen?
Show Menu Icons: Sollen die Menü-Icons angezeigt werden? Die Anzeige der Icons
ist abhängig vom jeweiligen aktiven Template.
Menu Icon Alignment: Sollen die Menü-Icons links- oder rechtsbündig positioniert
werden?
Expand Menu: Soll der Menüeintrag immer aufgeklappt sein, auch wenn man auf
einen anderen Eintrag klickt? Diese Funktion ist nur sinnvoll bei verschachtelten
Menüstrukturen (Abbildung 4.112).
Indent Image: Welches Icon soll bei den Unterstrukturen eines Menüeintrags darge-
stellt werden? Sie haben die Wahl, die Icons aus dem Template zu übernehmen, die
Mambo-Standardwerte zu benutzen, jede Hierarchieebene mit einem eigenen Bild zu
versehen oder überhaupt keine Icons anzuzeigen (Abbildung 4.112).

Abbildung 4.112: Menüschachtelungen

Indent Image 1-6: Hier können Sie Icons für sechs Hierarchiestufen festlegen.
Spacer: Bei horizontalen Menüs sollte zwischen den Menüeinträgen ein Trennzeichen
stehen, das Sie hier bestimmen.
End Spacer: Bei horizontalen Menüs kann am Ende der Menüeinträge ein Endezei-
chen dargestellt werden. Wenn Sie das möchten, können Sie es hier festlegen.

Login Form
Das Login-Modul stellt zwei Sichten zur Verfügung. Ist man noch nicht angemeldet,
erhält man ein Login-Formular. Abhängig von den Einstellungen in SITE – GLOBAL
CONFIGURATION – SITE ist es möglich, sich neu zu registrieren oder nicht (Abbildung
4.113). Nach der erfolgreichen Anmeldung wechselt die Anzeige in eine Abmelde-
möglichkeit (Abbildung 4.114).

134
4.8 Menü Modules

Abbildung 4.113: Login-Modul – nicht angemeldet

Abbildung 4.114: Login-Modul – angemeldet

Parameter
Module Class Suffix: Hier können Sie eine spezielle CSS-Klasse zur optischen Gestal-
tung des Menüs eingeben.
Pre-text: Text, den Sie hier eingeben, erscheint vor dem Formular im Login-Modus
Post-text: Text, den Sie hier eingeben, erscheint am Ende des Moduls im Login-
Modus
Login Redirection URL: Hier können Sie einen URL bestimmen, zu dem nach einem
erfolgreichen Login verzweigt wird.
Logout Redirection URL: Hier legen Sie den URL fest, zu dem nach einem erfolgrei-
chen Logout umgeleitet wird.
Login Message: Soll bei erfolgreichem Anmelden eine Meldung in einer JavaScript-
Box ausgegeben werden?
Logout Message: Soll bei erfolgreichem Abmelden eine Meldung in einer JavaScript-
Box ausgegeben werden?
Greeting: Nach dem Anmelden wechselt das Modul die Erscheinung und zeigt einen
Begrüßungstext und einen Abmeldebutton an. Hier können Sie entscheiden, ob Sie
diesen Text anzeigen lassen wollen (»Hallo, Benutzername«)?
Name/Username: Hier bestimmen Sie, ob der Benutzer im Begrüßungstext mit seinem
echten Namen oder mit seinem Benutzernamen angesprochen wird.

135
4 Mambo anpassen – Customizing

Syndicate
Im Syndicate-Modul werden die verschiedene News Feeds angeboten (Abbildung
4.103).
In den Parametern können Sie festlegen, welche Standards Sie anbieten und ob Sie die
Standardbilder oder individuelle Bilder benutzen wollen. Die Inhalte des angebote-
nen News Feeds stellen die Einträge der Frontpage dar.

Statistics
Das Statistikmodul ist standardmäßig deaktiviert. Wenn Sie es aktivieren, müssen Sie
noch die Seiten auswählen, auf denen es angezeigt werden soll. Es liefert Informa-
tionen über Ihren Server und Ihre Homepage (Abbildung 4.115).

Abbildung 4.115: Statistics-Modul

Parameter
Server Info: Sollen die Serverinformationen angezeigt werden oder nicht?
Site Info: Sollen die Homepageinformationen angezeigt werden oder nicht?
Hit Counter: Soll der Besucherzähler eingeblendet werden oder nicht?
Increase counter: Hier können Sie den Startwert des Besucherzählers festlegen.

Archive
Das Archivmodul ist standardmäßig deaktiviert. Wenn Sie es aktivieren, müssen Sie
noch die Seiten auswählen, auf denen es angezeigt werden soll. Es liefert Informa-
tionen über die Inhalte Ihres Archivs (Abbildung 4.116). Die Anzeige wird gruppiert
nach Monaten.

Abbildung 4.116: Archive-Modul

Parameter
Count: Hier können Sie die Anzahl der angezeigten Monate festlegen.

136
4.8 Menü Modules

Sections
Das Sections-Modul ist standardmäßig deaktiviert. Wenn Sie es aktivieren, müssen Sie
noch die Seiten auswählen, auf denen es angezeigt werden soll. Es listet die vorhan-
denen Sections auf (Abbildung 4.117).

Abbildung 4.117: Sections-Modul

Parameter
Count: Hier können Sie die Anzahl der angezeigten Sections festlegen.

Related Items
Das Related Items Modul (ähnliche Inhalte) zeigt andere Inhalte an, die eine Beziehung
zu diesem Inhalt haben.
Die Beziehung basiert auf den in den Metadaten festgelegten Schlüsselwörtern. Alle
Schlüsselwörter des aktuell angezeigten Inhaltes werden mit denen der anderen ver-
öffentlichten Inhalte verglichen.

Abbildung 4.118: Related Item- Modul

Wenn Sie beispielsweise in den statischen Seiten Mambo License Guidelines und in
Ihrem erstellten Impressum als Schlüsselwort Gesetz eintragen, werden beim Aufruf
des Impressums die Lizenzrichtlinien als Related Item angezeigt (Abbildung 4.118).

Wrapper
Das Wrapper-Modul bindet externe, nicht von Mambo erzeugte, Inhalte innerhalb
eines so genannten iframes ein. Ein iframe ist ein HTML-Tag22 und stellt einen scroll-
baren Bereich innerhalb einer Webseite dar (Abbildung 4.119).
Mit Hilfe dieses Moduls können Sie ganze existierende HTML-Seiten, die auf anderen
Servern online sind, in den Inhaltsbereich von Mambo integrieren.
Parameter
Url: Hier können Sie einen Standard-URL angeben. Die Angabe der darzustellenden
Seite erfolgt allerdings meist in der Menüzuordnung (Abbildung 4.55).

22 http://de.selfhtml.org/html/frames/eingebettete.htm

137
4 Mambo anpassen – Customizing

Abbildung 4.119: Per Wrapper eingebundene Seite

Scroll Bars: Sollen Scrollbars im iframe angezeigt werden? Sie haben die Wahl zwi-
schen Ja, Nein und der automatischen Einblendung bei Bedarf.
Width/Height: Breite und Höhe des iframes in Prozent oder Pixel
Auto Height: Soll die Höhe automatisch angepasst werden?
Auto Add: Standardmäßig wird vor den angegebenen URL ein http:// eingefügt, wenn
kein http:// oder https:// gefunden wurde. Dieses Verhalten kann hier ein- oder ausge-
schaltet werden.

Polls
Hier wird die Funktionalität für die Anzeige von Umfragen grundsätzlich ein- oder
ausgeschaltet. Die Umfragen selbst werden in der Komponente Polls konfiguriert
(Abschnitt 4.7.6). Als Parameter können Sie angeben, ob der Inhalt des Moduls zwi-
schengespeichert (gecacht) werden soll oder nicht.

Who's Online
Das Who’s Online-Modul zeigt an, wer sich gerade auf der Seite bewegt. Dabei wird
unterschieden zwischen Gästen und angemeldeten Benutzern (Abbildung 4.120).

Abbildung 4.120: Who's Online-Modul

138
4.8 Menü Modules

Parameter
Display: Hier entscheiden Sie über die Anzeige des Moduls. Sie haben die Wahl zwi-
schen:
 Anzahl Gäste, Anzahl Mitglieder
 Benutzernamen der angemeldeten Benutzer
 Eine Kombination aus den beiden vorangegangenen Punkten

Random Image
Mit diesem Modul können Sie zufällig ausgewählte Bilder aus einem Ordner Ihrer
Wahl darstellen lassen. Das Modul ist standardmäßig aktiviert, aber keiner Seite
zugeordnet. Bevor Sie es auf Ihrer Homepage sehen können, müssen Sie es durch
einen Klick auf das Icon EDIT den gewünschten Seiten zuordnen (Abbildung 4.121).

Abbildung 4.121: Random Image Module

Parameter
Image Type: Hier können Sie den Typ des Bildes festlegen (jpg/png oder gif). Sie kön-
nen nur einen Typ gleichzeitig anzeigen.
Image Folder: Hier müssen Sie das Verzeichnis angeben, in dem sich die Bilder befin-
den. Ich habe /images/stories ausgewählt.
Link: Wenn Sie hier einen URL eingeben, so wird das Bild anklickbar. Das Linkziel ist
der hier bestimmte URL.
Width (px)/Height (px): Breite und Höhe der dargestellten Bilder in Pixel. Wenn Sie
hier nichts angeben, werden die Bilder so gut wie möglich angezeigt.

Newsflash
Das Newsflash-Modul zeigt zufällig Aufmacher von dynamischen Inhalten an (Abbil-
dung 4.122).

Abbildung 4.122: Newsflash-Modul

139
4 Mambo anpassen – Customizing

Parameter
Category: Hier können Sie durch Auswahl aus einer Liste festlegen, ob die Inhalte aus
einer speziellen Kategorie kommen sollen oder aus allen Kategorien.
Style: Hier können Sie zwischen einer Spaltendarstellung (horizontal) und der Darstel-
lung wie in Abbildung 4.123 wählen (vertikal).
Show images: Sollen Bilder, die in den Inhalten enthalten sind, angezeigt werden
oder nicht?
Linked Titles: Wenn Sie Item Titles mit Ja einstellen, können Sie hier festlegen, ob die-
ser Titel zur Inhaltsseite verlinkt werden soll.
Read More: read more-Link einblenden
Item Title: Hier können Sie entscheiden, ob Sie den Titel der Nachricht einblenden
wollen.
No. of Items: Hier bestimmen Sie die Anzahl der gleichzeitig angezeigten Inhalte.
Enable Cache: Sollen die Inhalte zwischengespeichert werden?

Latest News
Mit diesem Modul werden die letzten (neuesten) Nachrichten angezeigt (Abbildung
4.123). Standardmäßig ist es auf der user1-Position angeordnet. Sie können es auch
auf eine andere Position befördern, beispielsweise nach rechts.

Abbildung 4.123: Latest News-Modul

Parameter
Module Mode: Hier können Sie entscheiden, ob Sie dynamische (Content Items only)
oder statische Inhalte (Static Content Items only) oder beides (both) in die Liste einbrin-
gen wollen.
Frontpage Items: Wenn Sie sich im Content Items Only-Modus befinden, können Sie
hier festlegen, ob auch Elemente der Frontpage mit einbezogen werden sollen.
Count: Hier bestimmen Sie die Anzahl der anzuzeigenden Elemente.
Category ID: Wenn Sie hier die Datensatznummern der anzuzeigenden Kategorien,
getrennt durch Kommata, angeben, können Sie damit eine Inhaltsauswahl nur aus
diesen Kategorien erzwingen.

140
4.8 Menü Modules

Section ID: Hier können Sie die Datensatznummern der anzuzeigenden Sections,
getrennt durch Kommata, angeben und damit eine Inhaltsauswahl nur aus diesen
Sections erzwingen.

Popular
Mit diesem Modul werden die beliebtesten Nachrichten angezeigt.

Abbildung 4.124: Popular-Modul

Parameter
Module Mode: Hier entscheiden Sie, ob Sie dynamische (Content Items only) oder stati-
sche Inhalte (Static Content Items only) oder beide (both) in die Liste einbringen wollen.
Frontpage Items: Wenn Sie sich im Content Items Only-Modus befinden, können Sie
hier festlegen, ob auch Elemente der Frontpage mit einbezogen werden sollen.
Count: Hier bestimmen Sie die Anzahl der anzuzeigenden Elemente.
Category ID: Hier können Sie die Datensatznummern der anzuzeigenden Kategorien,
getrennt durch Kommata, angeben und damit eine Inhaltsauswahl nur aus diesen
Kategorien erzwingen.
Section ID: Auch hier können Sie die anzuzeigenden Sections durch eine Angabe der
entsprechenden Datensatznummern eingrenzen.
Search
Das Search-Modul taucht im Standard-Template nur als Eingabefeld auf. Um die Kon-
figurationsmöglichkeiten zu demonstrieren, habe ich das Template JavaBean gewählt
(Abbildung 4.125).

Abbildung 4.125: Search-Modul

Parameter
Box Width: Größe der Textbox in Zeichen, im Beispiel sind es 30 Zeichen.
Text: Hier geben Sie den Text an, der im Suchfeld angezeigt wird.

141
4 Mambo anpassen – Customizing

Search Button: Hier können Sie entscheiden, ob Sie einen Suchbutton haben wollen
oder nicht.
Button Position: Wenn Sie einen Suchbutton ausgewählt haben, können Sie hier die
Position festlegen (rechts, links, oben, unten).
Button Text: Hier legen Sie die Beschriftung für den Suchbutton fest.

4.8.3 Modul kopieren


Stellen Sie sich vor, Sie möchten zwei verschiedene Zufallsbilder anzeigen. Ein Modul
soll Bilder aus Verzeichnis A und ein Modul Bilder aus Verzeichnis B anzeigen. In
einem solchen Fall wählen Sie einfach das Modul Random Images durch Ankreuzen
der Checkbox vor dem Namen aus und klicken auf das Icon COPY.
In der Liste erscheint ein neues Modul mit dem Namen Copy of Random Images.
Ändern Sie die Daten wie gewünscht und Sie haben ein neues Modul.

Abbildung 4.126: Modul kopieren

Wenn Sie die Module Latest News und Popular deaktivieren und die beiden Bildermo-
dule auf die Position user1 und user2 legen, werden die neuen Module im Inhalts-
bereich des Templates über den Nachrichten, beziehungsweise der Frontpage ange-
zeigt.

4.8.4 Administrator-Module
Unter dem Menüpunkt MODULES – ADMINISTRATORMODULES sehen Sie den von der
Struktur her gleichen Modulmanager, diesmal allerdings mit Modulen, die im Admi-
nistrationsbereich Anwendung finden.

Logged
Das Modul zeigt eine Liste der momentan eingeloggten Benutzer an der Position
cpanel, also als Karteireiter im Control Panel.

Mamboforge
Das Modul Mamboforge zeigt als zusätzlicher Reiter im Control Panel die letzten
Nachrichten der Seite mamboforge.net an.

142
4.8 Menü Modules

Abbildung 4.127: Modules – Administrator-Module

Abbildung 4.128: Administrator-Modul Mamboforge

Components
Das Modul Components zeigt die Liste der installierten Komponenten als Karteireiter
im Control Panel an.

Popular
Das Modul Popular präsentiert die Liste der am meisten besuchten Inhalte als Kartei-
reiter im Control Panel.

Latest Items
Das Modul Latest Items bietet die Liste der neuesten Inhalte als Karteireiter im Control
Panel.

143
4 Mambo anpassen – Customizing

Menu Stats
Das Modul Menu Stats zeigt die Statistik über die Belegung der einzelnen Menüele-
mente als Karteireiter im Control Panel an.

Unread Messages
Das Modul Unread Messages informiert Sie über die Anzahl der ungelesenen Adminis-
tratornachrichten an der Stelle header, also oben rechts.

Online Users
Das Modul Online Users zeigt die Anzahl der angemeldeten Benutzer auf der Seite an
der Stelle header an.

Quick Icons
Das Modul Quick Icons bietet die Icons zum schnellen Zugriff im Control Panel.

System Message
Das Modul System Message ist zuständig für die Anzeige der Systemmeldungen.

Pathway
Das Modul Pathway ist zuständig für die Anzeige der Pfade.

Toolbar
Das Modul Toolbar bestimmt die Anzeige der Werkzeugleiste.

Full Menu
Das Modul Full Menu ist zuständig für die Anzeige des Mambo-Administrations-
menüs.

4.9 Menü Mambots


Bot ist die Kurzform für das Wort Roboter. Ein Mambot ist also eine Art Mambo-
Roboter. Man kann Mambots mit einer Mambo eigenen Scriptsprache vergleichen.
Als wir Bilder in Inhaltselemente eingefügt haben, sind Sie bereits mit vier eingebau-
ten Mambots in Berührung gekommen.
Mambots gehören immer einem bestimmten Typ an. Um das Bild im Inhaltselement
zu positionieren, haben Sie beispielsweise {mosimage} in den Text geschrieben. Dieser
Text ruft bei der Darstellung der Seite den Mambot mos_image auf, der dafür sorgt,
dass das zugeordnete Bild eingeblendet wird.

144
4.9 Menü Mambots

4.9.1 Install New Mambots


Neue Mambots installieren Sie über den Menüpunkt MAMBOTS – INSTALL MAMBOTS
genauso wie Komponenten, Templates und Sprachdateien entweder per Upload oder
per Verzeichnisinstallation.

4.9.2 Site Mambots


Im Mambot Manager finden Sie standardmäßig neun Content-, vier Editor- und sechs
Search-Mambots (Abbildung 4.129). Mambots haben wenig bis keine veränderbaren
Einstellungen, da sie meistens für einen ganz speziellen Zweck programmiert und
optimiert sind.

Abbildung 4.129: Mambots – Site Mambots

MOS Image (Content)


Das ist der Mambot, der mit dem Befehl {mosimage} das Bild in den Inhaltselementen
auf der Homepage anzeigt (siehe Abschnitt 4.6.3).

Legacy Mambot (Content)


Der Legacy Mambot bietet eine Unterstützung für ältere Mambots aus der Version 4.5
an.

Code Support (Content)


Der Code Support Mambot formatiert Quellcode, damit lassen sich also Inhaltsele-
mente, die Quellcode enthalten, formatieren.

145
4 Mambo anpassen – Customizing

Listing 4.2: Einsatz des Mambots moscode


<code>{moscode}
if ($zahl > 0){
echo $zahl;
} else{
$zahl++;
}
{/moscode}</code>

SEF (Content)
SEF steht für Search Engine Friendly. Dieser Mambot erzeugt die suchmaschinen-
freundlichen URLs für Inhaltselemente. Falls Sie das entsprechende Feature benut-
zen, muss dieser Mambot aktiviert sein.

MOS Rating (Content)


Das ist der Mambot, der die Bewertungsleiste über den Inhalten erstellt. Zur Benut-
zung muss es aktiviert sein.

Email Cloaking (Content)


Dieser Mambot wandelt eine E-Mail-Adresse, die Sie in einem Inhaltselement in der
Form hagen@sit2000.de eingeben, in einen Link um:
<a href=mailto:hagen@sit2000.de> hagen@sit2000.de</a>

GeSHi (Content)
Der GeSHI Mambot formatiert wie moscode Quellcode. GeSHI kann allerdings Syntax
Highlighting und sorgt für eindrucksvolle Listings auf der Homepage, wenn Sie den
zu formatierenden Quellcode in <pre> </pre> HTML-Tags einbinden (Abbildung
4.130)23.

Listing 4.3: Einsatz des Mambots GeSHI


<pre>
if ($zahl > 0){
echo $zahl;
} else{
$zahl++;
}
</pre>

Abbildung 4.130: Mit GeSHI formatierter Quellcode

23 http://qbnz.com/highlighter/

146
4.10 Menü Installers

Load Module (Content)


Der Load Module Mambot erlaubt es, Module innerhalb von Content zu laden. Aufge-
rufen wird er beispielsweise mit {mosloadposition user1}.

MOS Pagination (Content)


Der MOS Pagination-Mambot kümmert sich um die Seitenumbrüche in Inhaltselemen-
ten. Er wird wie der MOS Images-Mambot einfach in den Inhalt eingefügt. Außer
einem einfachen Zeilenumbruch können Sie auch verschiedene Überschriften und
Seitentitel definieren.
Syntax:

{mospagebreak}
{mospagebreak title=Seitentitel}
{mospagebreak heading=Erste Seite}
{mospagebreak title=Seitentitel titleheading=Erste Seite}
{mospagebreak heading=Erste Seite title=Seitentitel}

No WYSIWYG Editor/TinyMCE WYSIWYG Editor (Editor)


Die Aktivierung dieser beiden Mambots können Sie über SITE – GLOBAL CONFIGURA-
TION steuern. Damit wird der WYSIWYG-Editor bei vielen Beschreibungstexten ein-
geblendet.

MOS Image Editor Button/MOS Pagebreak Editor Button (Editor-XTD)


Diese beidem Mambots generieren die beiden Button unterhalb des Editors. Durch
Druck auf diese Buttons wird ein {mosimage} oder {mospagebreak} in den Text eingefügt.

Search Mambots
Die Search Mambots für Content, Weblinks, Contacts, Categories, Sections, News Feeds
können nach Wunsch aktiviert werden. Sie beeinflussen die Suche des Search Moduls.

4.10 Menü Installers


Im Menü Installers sind alle Installer zusammengefasst (Abbildung 4.131).
Das Menü verzweigt zu den Installern für
 Site Templates
 Admin Templates
 Languages
 Components
 Modules
 mambots

147
4 Mambo anpassen – Customizing

Abbildung 4.131: Installers

4.11 Menü Messages


Das Menü MESSAGES verwaltet Administratornachrichten. Mambo hat ein kleines
Nachrichtensystem eingebaut, das es erlaubt, innerhalb der Administratorengruppe
Nachrichten zu verschicken. Außerdem werden hier auch systemeigene Nachrichten
ausgeliefert, beispielsweise wenn jemand ein neues Inhaltselement gepostet hat.

4.11.1 Inbox
Hier werden die Nachrichten für Sie gesammelt. Durch Klick auf das Icon NEW kön-
nen Sie eine neue Nachricht an Benutzer schicken, denen der Zugriff auf die Mambo-
Administration erlaubt ist.

4.11.2 Configuration
Hier können Sie das Nachrichtensystem konfigurieren.
Lock Inbox: Sie können Ihre Mailbox verschließen und damit den Empfang von
Nachrichten unterdrücken. Sollten Sie der einzige Administrator sein, ist das in Ord-
nung, ansonsten sollten Sie Ihre Inbox geöffnet lassen.
Mail me on new Message: Diese Feature ist wirklich praktisch. Mambo schickt die
Nachrichten an die in der Benutzerverwaltung hinterlegte E-Mail-Adresse.

4.12 Menü System


Das Menü SYSTEM besteht nur aus einem Element. Dabei handelt es sich um ein globa-
les Einchecken aller sich in Bearbeitung befindlicher Inhaltselemente.

148
4.12 Menü System

4.12.1 Global Check-in


Wenn ein berechtigter Benutzer den Editiermodus eines Inhaltselements aufruft, so
wird dieses Element ausgecheckt. Das heißt, nur der berechtigte Benutzer darf dieses
Element bearbeiten. Während der Bearbeitung sehen die anderen Benutzer vor dem
Namen des Elementes ein Schloss-Icon. Wenn das Dokument nach der Änderung
abgespeichert wird, wird es automatisch wieder eingecheckt und das Schloss-Icon
verschwindet.
Wenn der Benutzer aber beispielsweise sein Browserfenster schließt oder die Internet-
verbindung plötzlich abreißt, so bleibt das Element ausgecheckt und kann nicht mehr
geändert werden.
An dieser Stelle kommt das GLOBAL CHECK-IN ins Spiel. Durch einen Klick auf diesen
Menüpunkt werden alle sich in Bearbeitung befindlichen Elemente eingecheckt und
Sie erhalten eine entsprechende Liste der Elemente (Abbildung 4.132).
Der Nachteil an dem globalen Einchecken ist die Tatsache, dass wirklich alle Ele-
mente eingecheckt werden. Wenn jemand gerade dabei ist, etwas zu ändern, so wird
auch dieses Element eingecheckt und jemand anders kann es ebenfalls ändern. Seien
Sie also vorsichtig mit dieser Funktion und achten Sie darauf, wer gerade online ist.

Abbildung 4.132: Global Check-in

149
5 Nützliche Erweiterungen
Kommen wir in den schier unerschöpflichen Bereich der Erweiterungen von Mambo.
So schön die Standardvariante auch ist, schnell werden Sie Komponenten, Module
und Mambots suchen, mit denen Sie Ihre Homepage erweitern können. Dank der
modularen Struktur von Mambo ist es sehr einfach, Erweiterungen vorzunehmen. Ich
habe sechs populäre Erweiterungen ausgesucht und werde sie Ihnen vorstellen:
 Ein Forum
 Einen Kalender
 Eine Bildergalerie für Fotos
 Eine Möglichkeit überall Kommentare zu posten
 Die Erstellung von mehrsprachigen Seiten mit Mambo
 Einen Online-Shop
Falls Sie selbst auf die Suche gehen wollen, so sind Sie bei http://www.mamboforge.net
an der richtigen Adresse. Hunderte von Komponenten, Modulen, Mambots, Templa-
tes und Sprachdateien warten auf Sie.

HinweisHinweis
Der Markt für zusätzliche Erweiterungen ist naturgemäß ein sehr
dynamischer. Mittlerweile gibt es auch kommerzielle Erweiterungen
für Mambo. Bevor Sie etwas kaufen, sollten Sie sich genau überlegen,
was Sie wollen und ob es nicht schon brauchbare Ansätze für Ihr
Thema gibt, an deren Weiterentwicklung Sie sich beteiligen können.
Helfende Hände werden immer benötigt und konkrete Anwendun-
gen, die über ein Gästebuch hinausgehen, sind auch für andere inte-
ressant.
Vielleicht starten Sie auch bald Ihr eigenes Projekt?
5 Nützliche Erweiterungen

5.1 Forum
Es gibt verschiedene Ansätze zum Thema Forum. Grundsätzlich geht es immer
darum, x Foren mit x Themen, in denen x Benutzer x Beiträge schreiben, möglichst
einfach anzuzeigen und zu verwalten. Alles zusammen nennt man dann Board.
Ein wirklich gutes Board ist die Komponente der Two Shoes Factory1 mit dem bezeich-
nenden Namen Simpleboard.

5.1.1 Was kann Simpleboard?


Eines der größeren Probleme bei Open Source Software ist oft das fehlende Hand-
buch in der Muttersprache und der fehlende Überblick, welche Funktionen die Soft-
ware eigentlich bietet. Sie sollten versuchen so viel wie möglich über die jeweilige
Software in Erfahrung zu bringen, bevor Sie sie installieren.

Simpleboard-Administratorfunktionen
 Volle Integration in die Mambo-Administration
 Benutzer, die ein Konto auf Ihrer Homepage haben, werden in der Forumskom-
ponente erkannt. Über die normalen Benutzerdetails hinaus kann sich jeder Benut-
zer ein Forumsprofil anlegen. Benutzerprofile sind vom Administrator änderbar.
 Sie können Foren mit Zugriffsberechtigungen versehen.
 Die Benutzer können ihre eigenen Einträge verändern und sehen die vorherigen
Einträge des Themas, wenn sie einen Beitrag schreiben.
 Man kann einen Mindestzeitraum zwischen zwei Beiträgen bestimmen, um vor
Flood-Angriffen sicher zu sein.
 Es gibt Forumskategorien, um eine übersichtliche Struktur aufzubauen
 Mit dem CSS Template-Editor kann das Erscheinungsbild angepasst werden.

Administratorfunktionen direkt aus dem Forum heraus


 Ändern, Löschen und Verschieben von Beiträgen
 Ab- und Aufschließen von Themen, so dass niemand mehr posten kann
 Positionieren eines Themas am Beginn der Themenliste eines Forums

Funktionen für alle Besucher


 Schreiben von Beiträgen
 Einbindung von Smileys und BB-Code zur Textauszeichnung ohne HTML-Kennt-
nisse
 Zwei Sichten auf die Beiträge (untereinander oder Baumstruktur)

1 http://tsmf.jigsnet.com/

152
5.1 Forum

Funktionen für registrierte Benutzer


 Eigenes Benutzerprofil
 Man kann sich ein Thema merken und wird bei Neuigkeiten per E-Mail benach-
richtigt.
 Anlegen einer Signatur, die automatisch unter jeden Beitrag eingeblendet wird
 Upload von Dateien und Bildern zu einem Eintrag

5.1.2 Installation von Simpleboard


Laden Sie sich die Datei com_simpleboard-1.0.4-beta2.zip auf Ihren Rechner2. Diese
Version ist eine Beta-Version, doch für unsere Zwecke ist sie durchaus geeignet.
Klicken Sie in der Menüleiste auf INSTALLER – COMPONENTS. Durchsuchen Sie Ihren
Rechner nach der oben angegebenen Datei und klicken auf Sie den Button UPLOAD &
INSTALL. Der Installer lädt das Paket auf Ihren Server, packt die einzelnen Dateien
aus, legt die benötigten Tabellen in der Datenbank an und meldet sich dann mit wei-
teren Hinweisen (Abbildung 5.1).

Abbildung 5.1: Erfolgreiche Installation der Forumskomponente

2 URLs zum Download finden Sie im Anhang.

153
5 Nützliche Erweiterungen

Das war’s! Wenn Sie die Meldung Upload component – Success sehen, ist die Kompo-
nente installiert. Die Datenbanktabellen wurden angelegt und Ihre Mambo-Adminis-
tration entsprechend angepasst. Klicken Sie auf den Link Continue und danken Sie
dem Mambo-Entwicklungsteam für diesen wundervollen Installer3 und der Two
Shoes Mambo Factory für ihr Forum. Unter den installierten Komponenten sehen Sie
jetzt eine Komponente mehr, nämlich Ihr gerade installiertes Simpleboard-Forum.

Deinstallation
Die Deinstallation funktioniert ähnlich einfach. Wählen Sie die Komponente aus und
klicken Sie auf das Icon UNINSTALL. Die Komponente wird inklusive der Daten rück-
standsfrei gelöscht.

5.1.3 Administration von Simpleboard


Im Menü Components gibt es nach der Installation einen neuen Eintrag. Rufen Sie
COMPONENTS – SIMPLEBOARD auf und Sie sehen das Control Panel Ihrer Forumskom-
ponente (Abbildung 5.2).

Abbildung 5.2: Simpleboard Control Panel

Hier befinden sich 11 Icons für den Schnellzugriff auf Funktionen des Forums.

HinweisHinweis
Unten rechts auf dem Control Panel steht ein PayPal-Spendenbutton.
Wenn Sie mit dem Forum zufrieden sind, sollte Sie ruhig ein wenig
spenden. Es steckt sehr viel Arbeit in solchen Komponenten und auch
Programmierer müssen essen und Miete zahlen und freuen sich über
die Anerkennung ihrer Arbeit.

3 http://mamboserver.com/cat/Meet_the_team/

154
5.1 Forum

In dieser Komponente ist es möglich, eine deutsche Sprachdatei zu installieren und


die gesamte Forumadministration erscheint danach in deutscher Sprache. Laden Sie
sich die Datei german-SB1.0.4-beta2.zip und entpacken Sie diese4. Sie müssen die Datei
von Hand in das Unterverzeichnis

[Mambo]/administrator/components/com_simpleboard/language/

kopieren. Jetzt kommt es auf Ihre Installation an. Wenn Sie den Beispielen im Buch
gefolgt sind, haben Sie bereits über die globale Konfiguration eine deutsche Mambo-
Version eingestellt. Ihre globale Sprachdatei heißt germanf.php. Damit Forum und
Mambo harmonieren, müssen Sie die Forumsprachdatei ebenfalls in germanf.php
umbenennen. Nach der Umbenennung sehen Sie das Forum in deutscher Sprache.
Die Übersetzung ins Deutsche ist eine atemberaubende Mischung aus Deutsch und
Englisch, die mich immer wieder zweifeln lässt, ob man Administrationsoberflächen
wirklich übersetzen sollte. Urteilen Sie selbst.

Simpleboard-Konfiguration
Hier legen Sie die grundsätzliche Konfiguration Ihrer Simpleboard-Komponente fest
(Abbildung 5.3).

Abbildung 5.3: Simpleboard-Konfiguration

Sie sehen sieben Reiter mit Parametern, die wir hier kurz durchgehen.
GRUNDSÄTZLICH
Geben Sie hier einen Boardtitel und Ihre E-Mail-Adresse ein. Wie bei Mambo selbst,
haben Sie auch im Forum die Möglichkeit, das Forum »abzuschalten« und eine ent-
sprechende Meldung anzeigen zu lassen (Forum Offline Nachricht).

4 Downloadmöglichkeit siehe Anhang.

155
5 Nützliche Erweiterungen

Bei Board Zeit Offset können Sie die Zeitbasis verändern. Für Deutschland ist 0 die
richtige Einstellung
Default Ansicht Typ: Hier wählen Sie aus einer von zwei möglichen Ansichten für die
Forumseinträge aus (breit, eingefädelt).
Aktiviere RSS Feed: Hier können Sie auf der Forumsseite einen RSS-Button einblen-
den, der eine entsprechende XML-Datei für ein News Feed der neuesten Forumsbei-
träge erstellt.
Kopf: Hier können Sie einen Text eingeben, der im Kopfbereich des Forums erscheint.
FRONTEND
Hier gibt es vier Blöcke von Parametern. (Die Übersetzung »Gucke und fühle« für
»Look and feel« finde ich übrigens einfach klasse :-).) Sie können die Standardeinstel-
lungen übernehmen. Außerdem können Sie nach Herzenslust Bereiche der Anzeige
an- und abschalten und viele nützliche »Kleinigkeiten« festlegen.
SICHERHEIT
Standardmäßig ist das Board so eingestellt, dass jeder Besucher lesen und schreiben
darf, der Flood (Überlauf)-Schutz ausgeschaltet ist und dass ein Moderator eine
E-Mail bei einem neuen Posting erhält. Auch hier können Sie die Werte zunächst so
belassen.
AVATARS
Avatare sind kleine Bilder, die dem Benutzer zugeordnet werden können und bei sei-
nen Beiträgen im Forum angezeigt werden. Es gibt eine Bibliothek von vorhandenen
Bildern. Hier können Sie Einstellungen zum Benutzerupload, der Größe der Bilder
und der Dateigröße machen.
HOCHGELADEN
Diese Funktionalität ist sehr interessant. Jeder Benutzer kann zu jedem Beitrag eine
Datei und/oder ein Bild hochladen. Beides wird dann gemeinsam mit seinem Beitrag
angezeigt. In diesem Reiter stellen Sie ein, ob und wenn ja, was genau Sie zulassen
wollen. Bei den erlaubten Dateitypen sollten Sie noch pdf hinzufügen.
ZEIGE RANKING
Ein Ranking in einem Forum ist eine nette Sache. Abhängig von der Anzahl der Bei-
träge erhalten Sie einen Namen und ein Bild. Dadurch kann der Besucher gut »Neu-
linge« von »alten Forumshasen« unterscheiden. Hier stellen Sie ein, wie die einzelnen
Stufen heißen sollen und bei wie viel Beiträgen ein Wechsel stattfindet.
INTEGRATION
Hier können Sie verschiedene andere Komponenten in das Simpleboard integrieren.
Als Beispiel sei hier der Diskussions-Mambot genannt, der bei entsprechendem Ein-
trag in den Text des Inhaltselementes eine Art Kommentarfunktion erlaubt.

156
5.1 Forum

Unter den Inhaltselementen taucht die Möglichkeit auf, einen Kommentar zu posten.
Dieser Kommentar wird dann wie ein Thema in einem Forum behandelt. Durch die-
sen Schachzug können Sie Diskussionen über Inhalte geschickt ins Forum verlagern.

Forum Administration
Hier legen Sie die eigentlichen Foren und die Forenkategorien an. Klicken Sie auf das
Icon NEW. Sie erhalten eine Eingabemaske mit drei Reitern (Abbildung 5.4).

Abbildung 5.4: Foren und Kategorien anlegen

BASICS
Bevor Sie ein Forum anlegen können, müssen Sie erst eine Kategorie erstellen, bei-
spielsweise mit dem Namen Cafeteria und einer kleinen Beschreibung.
ADVANCED
Hier legen Sie die Zugriffberechtigungen auf die Kategorie fest
MODERATION
Der Reiter MODERATION hat auf Kategorien keine Auswirkung, steht aber hier trotz-
dem zur Verfügung, da dieses Formular für das Anlegen von Kategorien und Foren
benutzt wird. Speichern Sie die Kategorie durch einen Klick auf das Icon SAVE ab und
in Ihrer Übersicht taucht diese Kategorie als noch unveröffentlicht auf (Abbildung
5.5).

Abbildung 5.5: Neue Kategorie Cafeteria

157
5 Nützliche Erweiterungen

Jetzt wiederholen Sie den Vorgang und erstellen ein Forum. Nennen Sie es Tipps &
Tricks und tippen Sie eine Beschreibung ein. Als zugeordnete Kategorie wählen Sie
die eben erstellte Cafeteria aus.
Klicken Sie auf das Icon SAVE. In Ihrer Übersicht sind jetzt zwei Einträge (Abbildung
5.6).

Abbildung 5.6: Veröffentlichung eines neues Forums

Veröffentlichen Sie beide durch einen Klick auf PUBLISH und die Minimalversion
Ihres Forums ist fertig.

Einbinden des Forums in Ihre Homepage


Jetzt müssen Sie das eben erstellte Forum noch in das Hauptmenü einbinden, damit
man über einen Link auf Ihrer Homepage dorthin kommt.
Klicken Sie auf MENU – MAINMENU und das Icon NEW. Wählen Sie im darauf folgen-
den Dialog Component aus und klicken Sie auf NEXT (Abbildung 5.7).

Abbildung 5.7: Neuer Menüeintrag auf eine Komponente

Geben Sie dem neuen Menüeintrag einen Namen (Forum) und wählen Sie in der
Komponentenliste Simpleboard Forum aus. Lassen Sie den Zugriff auf Public und kli-
cken Sie auf das Icon SAVE.
Wenn Sie nun auf Ihre Homepage wechseln und die Seite neu laden, so sollte in
Ihrem Hauptmenü ganz unten ein neuer Eintrag stehen (Forum). Wenn Sie ihn ankli-
cken, startet Ihre neue Komponente (Abbildung 5.8).
Sollten Sie eine Fehlermeldung sehen, so müssen Sie kurz im Quellcode etwas
ändern. Auch wenn Sie noch nie programmiert haben, probieren Sie es einfach mal
aus. Öffnen Sie die Datei /components/com_simpleboard/simpleboard.php mit einem Text-
editor. In der Datei wird in Zeile 48 überprüft, um welche Mamboversion es sich han-

158
5.1 Forum

Abbildung 5.8: Forum auf der Homepage

delt. Wie Sie wissen, ist unser Simpleboard eine Beta-Version. Bei der Freigabe gab es
scheinbar noch keine Mambo Version 4.5.2, sondern nur Mambo 4.5.1b.
Fügen Sie für die Version Mambo 4.5.2 die folgende Zeile dort ein:

} elseif ( $mambo_release == "4.5" && ($mambo_dev_level == "1" || $mambo_dev_level ==


"1a" || $mambo_dev_level == "2") ){

Interessant in dieser Abfrage ist der mambo_dev_level, also die Entwicklungsstufe oder
Version. Da wir die Version 4.5.2 benutzen, müssen Sie hinten eine 2 haben. Für 4.5.3
entsprechend eine 3. Speichern Sie die Datei wieder ab und laden Sie sie per FTP auf
Ihren Server.
Sehen Sie, jetzt haben Sie schon in PHP programmiert. Ist doch gar nicht so schwer,
oder?

Nutzer-Administration
Hier können Sie die vorhandenen Benutzerprofile ändern. Momentan ist die Liste
noch leer. Legen Sie sich einfach ein Profil an (siehe Abschnitt 5.1.4) oder posten Sie
einfach einen Beitrag. Schon haben Sie ein paar Einträge auf der Liste (Abbildung 5.9).
Durch einen Klick auf das Icon EDIT USER PROFILE können Sie die Profile bearbeiten.

Abbildung 5.9: Simpleboard User Profile Manager

159
5 Nützliche Erweiterungen

Dateien Browser
Im Dateien Browser können Sie zu den Einträgen hochgeladene Dateien verwalten
(Abbildung 5.10). Sie können eine Datei löschen (ENTFERNE VOLLSTÄNDIG) oder in den
entsprechenden Beitrag im Forum springen (ÖFFNE NACHRICHT).

Abbildung 5.10: Simpleboard Dateibrowser

Hochgeladene Bilder Browser


Im Bilderbrowser können Sie die zu den Einträgen hochgeladenen Bilder verwalten
(Abbildung 5.10). Sie haben die gleichen Möglichkeiten wie im Dateien Browser.

Editiere CSS Datei


Wie Mambo enthält auch das Forum Templates. Die entsprechende CSS-Datei kön-
nen Sie über die Mambo-Administration ändern (Abbildung 5.11).

Abbildung 5.11: Simpleboard Template CSS Editor

Weitere Templates finden Sie auf der Two Shoes-Homepage.

160
5.1 Forum

Beschneide Foren
Foren leben von Diskussionen. Wenn es viele Themen, aber wenig Antworten gibt, so
ist das nicht besonders ergiebig. Die Funktion BESCHNEIDE FOREN bietet die Möglich-
keit Themen, zu denen keine Antworten vorhanden sind, zu löschen.
Sie müssen das Forum auswählen und die Anzahl der Tage, die Sie bearbeiten wol-
len.

Beschneide Nutzer
Diese Funktion synchronisiert die Benutzer der Mambo-Benutzerverwaltung mit
denen der Komponente Simpleboard. Wenn beispielsweise in Mambo Benutzer
gelöscht werden, so werden sie nach Einsatz dieser Funktion auch in Simpleboard
gelöscht.

Support Webseite
Hier ist ein Link zur Homepage der Two Shoes Factory. Auf der Site finden Sie
diverse Foren, Downloads und Neuigkeiten über die Forumskomponente.

Lade Beispiel Daten


Ein Klick auf diesen Button lädt Beispieldaten in Ihr Forum. Beispieldaten sind immer
praktisch zum Üben. Diese Funktion steht nur direkt nach der Installation zur Verfü-
gung. Auf der Webseite, die nach der Installation erscheint, finden Sie ebenfalls einen
Link zu den Beispieldaten (Abbildung 5.1).

Aktualisiere Datenbank auf Version: 1.0.4-Beta2


Falls Sie eine ältere Version von Simpleboard installiert hatten, können Sie nach
einem Klick auf dieses Icon Ihre Datenbankstruktur aktualisieren. In unserem Fall ist
die Datenbank aktuell und Sie erhalten eine entsprechende Meldung.

Simpleboard Tables could not be upgraded. It appears they are already at the latest
version.

5.1.4 Benutzer Frontend


Wenn Sie das Forum auf Ihrer Homepage eingebunden haben (siehe Abschnitt 5.1.3),
können Sie als Besucher der Seite Themen (Topics) und Einträge (Postings) erstellen
(posten).

161
5 Nützliche Erweiterungen

HinweisHinweis
Um die Verwirrung komplett zu machen, wird in der deutschen
Übersetzung nicht von Themen, sondern von Überschriften gespro-
chen.

Standardmäßig ist ein neu erstelltes Forum leer. Das wirkt für unerfahrene Benutzer
verwirrend. Gewöhnen Sie es sich an, eine Begrüßungsnachricht zu posten. Der erste
Beitrag legt das Thema (Überschrift) fest. Klicken Sie also zuerst auf den Link Forum
im Hauptmenü, dann auf Tipps & Tricks in der Forenliste und zuletzt auf den Link
Erstelle neue Überschrift. In der angezeigten Maske können Sie einen Eintrag verfassen
(Abbildung 5.12). Der integrierte Editor ist leider nicht der WYSIWYG-Editor von
Mambo, sondern ein Editor, der auf den BB(Bulletin Board)-Codes beruht. Diese
Codes sind in Forensoftware sehr verbreitet. Die Buttons mit dem Buchstaben ent-
sprechen den gleichnamigen HTML-Tags:
 b – bold (fett)
 i – italic (Schrägschrift)
 u – underline (unterstrichen)
 quote – Zitat eines anderen Postings
 ul –unordered list (Aufzählung)
 ol – ordered list (nummerierte Aufzählung)
 li – list item (Listenelement)
 img – image (Bild)
 URL – Link
Wenn Sie mit der Maus über die Links fahren, wird ein Hilfetext über dem Eingabe-
fenster angezeigt. Unter dem Eingabefenster besteht die Möglichkeit, ein Bild
und/oder eine Datei zu Ihrem Eintrag hinzuzufügen. Darunter sehen Sie noch eine
Checkbox (abonniere). Die sollten Sie ankreuzen, wenn Sie über Antworten auf Ihren
Beitrag per Mail informiert werden wollen. Klicken auf den Button ERSTELLEN, nach-
dem Sie einen kleinen Text geschrieben haben. Der Beitrag wird gespeichert und Sie
erhalten die Möglichkeit, zu verschiedenen Stellen des Forums per Link zu verzwei-
gen. Nach ein paar Sekunden verzweigt das Programm selbst auf Ihren Eintrag
(Abbildung 5.13).
Andere Benutzer oder Sie selbst können jetzt auf diesen Beitrag etwas antworten.
Schreiben Sie eine kurze Antwort, vielleicht unter einem anderen Benutzernamen.
Der neue Eintrag wird unter Ihrem ersten Eintrag angezeigt. Wenn Sie nun auf den
Link Tipps & Tricks klicken, landen Sie in der Themenübersicht (Überschriften) und

162
5.1 Forum

Abbildung 5.12: Einen Forumseintrag erstellen

Abbildung 5.13: Forumseintrag

Ihr Willkommensgruß ist die erste Überschrift. Hier sehen Sie, dass bereits viermal
auf diesen Beitrag zugegriffen wurde und es eine Antwort gibt. Die letzte Antwort
wurde vom Benutzer admin geschrieben.

Abbildung 5.14: Überschriften des Forums Tipps & Tricks (Kompaktansicht)

163
5 Nützliche Erweiterungen

Abbildung 5.15: Überschriften des Forum Tipps & Tricks (Direktansicht)

In der Linkleiste über dem Forum sehen Sie den Link Kompaktansicht oder Direkt-
ansicht. Hinter der Kompaktansicht verbirgt sich eine Liste der Überschriften. In der
Liste der Überschriften wird die Anzahl der Antworten angegeben. Jede Überschrift
erzeugt nur eine Zeile. (Abbildung 5.14) . In der Direktansicht dagegen wird eine
Baumstruktur angezeigt. Diese Übersicht verbraucht mehr Platz, hat aber den Vorteil,
dass Sie die Antworten zur Überschrift besser verfolgen können (Abbildung 5.15).
Klicken Sie auf einen dieser Links und beobachten Sie, wie sich die Anzeige verän-
dert.

Benutzerprofil anlegen
Rufen Sie das Forum auf Ihrer Homepage auf, klicken Sie auf den Link Mein Profil
und stellen Sie es wie gewünscht ein.
Bevorzugte Ansicht: Wählen Sie die Kompakt- oder die Direktsicht aus.
Sortierung: Legen Sie hier fest, wie die Sortierung der Überschriften erfolgen soll.
Signatur: Hier können Sie einen Text bestimmen, der automatisch unter jedem Bei-
trag erscheint, den Sie erstellen.

Abbildung 5.16: Forums Avatare

Avatar: Hier können Sie ein Bild von sich hochladen oder aus einer Liste vorhande-
ner Avatare eins auswählen (Abbildung 5.16). Selbstverständlich gibt es verschiedene
Avatarsammlungen zum Nachinstallieren auf der Homepage von Simpleboard.

164
5.2 Kalender

5.1.5 Simpleboard Module


Zu der Komponente Simpleboard gibt es natürlich auch Module. Als Beispiel möchte
ich Ihnen ein Modul zeigen, das die letzten fünf Forumseinträge auf der Homepage
anzeigt.
Installation
Laden Sie sich die Datei mod_simpleboard5.zip und installieren Sie sie über den Menü-
punkt INSTALLERS – MODULES. Nach der Installation erscheint in der Modulliste ein
neues Modul namens mod_simpleboard5. Klicken Sie auf MODULES – SITE MODULES, ver-
sehen Sie das neue Modul mit einem Namen und bestimmen Sie die Seiten, auf denen
es erscheinen soll. Ich nenne es Letzte Forumseinträge und veröffentliche es auf allen
Seiten im rechten Template-Bereich.
Auf der Homepage werden nun die fünf letzten Forumseinträge angezeigt (Abbil-
dung 5.17).

Abbildung 5.17: Simpleboard Modul

5.2 Kalender
Ein Kalender ist praktisch für Homepages, auf denen viele Termine verwaltet werden
müssen. Für Mambo gibt es eine beliebte Komponente mit dem unspektakulären
Namen Events5.

5.2.1 Installation
Laden Sie sich die Datei com_events-1.2.zip6 und installieren Sie diese über den Menü-
punkt INSTALLERS – COMPONENTS. Nach der Installation erhalten Sie die Nachricht,
dass die Komponente installiert wurde und Hinweise zur weiteren Vorgehensweise.
New demo web site for Events Calendar. Check out http://mosevents.sourceforge.net
ATTENTION
Please open Components :: Events :: Edit config
and change the Admin email address!
Then, open Components :: Events :: Manage events categories
and set up your categories. You have to set up and publish at least one before you can add any
event.

5 http://events.mamboforge.net/
6 Download siehe Anhang.

165
5 Nützliche Erweiterungen

Außerdem erscheint in der Komponentenliste ein neues Modul namens Events.


In der Kalenderkomponente ist die Administration in englischer, die Anzeige auf der
Homepage jedoch automatisch in deutscher Sprache.

5.2.2 Konfiguration
Klicken Sie auf COMPONENTS – EVENTS. Sie sehen drei Menüeinträge: MANAGE
EVENTS, MANAGE EVENT CATEGORIES und EDIT CONFIG. Da wir die Hinweise beherzi-
gen wollen, beginnen wir in umgekehrter Reihenfolge.

Events Config
Hier sehen Sie das mittlerweile bekannte Karteireiter-Konfigurationsprinzip. Im ers-
ten Reiter CONFIG gibt es drei Gruppen von Parametern. In der ersten Gruppe geht es
um die Parameter für die Komponente (Abbildung 5.18).

Abbildung 5.18: Event Component Parameter

Admin Mail: Ändern Sie hier die E-Mail-Adresse in Ihre eigene.


Admin Level: Hier legen Sie fest, wer Termine eintragen darf. Sie haben die Wahl zwi-
schen registrierten und special Benutzern.
First day: Mit welchem Tag soll die Woche beginnen? Sonntag oder Montag?
View mail, View By, View Hits, View Repeat and time: Verschiedene Anzeige-
optionen für einzelne Termine

166
5.2 Kalender

Date Format: Hier können Sie das Format des Datums auf Deutsch umstellen. Es
erscheint dann in dieser Form (Sonntag, 27. März 2005).
Use 12hr time Format: Hier können Sie zwischen einer 12h- und einer 24h-Anzeige
wechseln.
Navigation Bar Color: Hier bestimmen Sie die Farbe des Navigationsbalkens.
Start Page: Hier können Sie auswählen, mit welcher Art der Anzeige der Kalender
standardmäßig starten soll (Tag, Woche, Monat, Jahr, Monatsliste, Kategorien oder
einem Suchfeld).
No. of Events to List per page for week, month, or year views: Hier wird die Anzahl
der Ereignisse angegeben, die in den Listen auf der ersten Seite erscheinen sollen.
Der zweite Reiter STYLE enthält den CSS-Editor für Anpassungen des Layouts. Hier
gibt es übrigens einen sehr praktischen Button, der die CSS-Datei wieder auf die Stan-
dardwerte zurücksetzt, wenn Sie den Überblick verloren haben.

Manage Event Categories


Bevor Sie ein Ereignis eingeben können, benötigen Sie eine Kategorie. Rufen Sie in der
Menüleiste COMPONENTS – MANAGE EVENTS CATEGORIES auf und klicken Sie auf das
Icon NEW.

Abbildung 5.19: Kalenderkomponente – Neue Kategorie

167
5 Nützliche Erweiterungen

Hier können Sie eine Kategorie anlegen. Jede Kategorie erhält eine Farbe, damit sie im
Kalender besser erkennbar ist. Außerdem können Sie ein Bild aus dem Media Manager
zuordnen und positionieren. Durch einen Klick auf das Icon UPLOAD können Sie auch
an Ort und Stelle ein Bild hochladen. Das Bild wird im Unterverzeichnis /images/sto-
ries/ gespeichert. Die Beschreibung der Komponente können Sie mit dem Komfort
des WYSIWYG-Editors erstellen. Klicken Sie nach der Bearbeitung auf das Icon SAVE
zum Speichern.
Danach müssen Sie die Kategorie noch im Events Categorie Manager veröffentlichen.

Manage Events
Nachdem Sie die Grundlagen für den Eintrag eines Termins geschaffen haben, kön-
nen Sie nun zur Tat schreiten. Klicken Sie in der Menüleiste auf COMPONENTS –
EVENTS – MANAGE EVENTS und danach auf das Icon NEW.

Abbildung 5.20: Termineintrag

Sie sehen ein Formular mit vier Reitern (Abbildung 5.20).


EVENTS
Hier legen Sie die Kategorie, den Titel und die Beschreibung des Ereignisses fest. Für
die Beschreibung steht Ihnen wieder der WYSIWYG-Editor zur Verfügung. Außer-
dem können Sie noch den Ort, den Ansprechpartner und eine Zusatzinformation hin-
terlegen.
IMAGES
Im Reiter IMAGES können Sie dem Ereignis, ähnlich wie bei den Inhaltselementen, ein
Bild aus dem Media Manager zuordnen (Abbildung 5.21).

168
5.2 Kalender

Abbildung 5.21: Ereignis – Bilderzuordnung

PUBLISHING
Die Datumsangaben der Termine sind hier sehr komfortabel gelöst. Für die Eingabe
des Datums gibt es nach Klick auf den Button mit den drei Punkten einen Popup-
Kalender, in dem Sie per Mausklick den ersten und den letzten Tag des Ereignisses
auswählen können (Abbildung 5.22). Außerdem können Sie im Kalender durch Klick
auf die <<-Zeichen die Monate und Jahre durchblättern.
Die Start- und Endzeit müssen Sie abhängig von den Einstellungen in Event Config im
12h- oder 24h-Format HH:SS eingeben.
Eine komfortables Feature sind die Wiederholungstypen für Termine:
Jeden Tag: Wählen Sie diese Option für ein sich wiederholendes ein- oder mehrtägi-
ges Ereignis. Es wird ein neues Ereignis für jeden Tag innerhalb des Start- und End-
zeitraums eingetragen.
Jede Woche: Diese Option ermöglicht es, den Tag in der Woche zu setzen, an dem das
Ereignis stattfindet.
Mehrere Tage in einer Woche: Diese Option erlaubt die Variante mit mehreren Ereig-
nissen an verschiedenen Wochentagen.
Wochen: Hier können Sie auf Wochenbasis Ereignisse eintragen (z.B. alle 2 Wochen).
Monat: Hier können Sie den Wiederholungstag für den Monat auszuwählen.
Am Ende jeden Monats: Das Ereignis ist jeweils am letzten Tage eines Monats, falls
der letzte Tag in den durch das Start- und Enddatum festgelegten Zeitraum fällt.
Jahr: Diese Option erlaubt es, den Wiederholungstag für ein Jahr auszuwählen.

169
5 Nützliche Erweiterungen

Abbildung 5.22: Ereignis – Terminwahl

HELP
Im Reiter HELP werden die Datumsangaben in Ereignissen ausführlich in deutscher
Sprache erklärt. Es gibt sogar den Fall des eintätigen Ereignisses, das über Mitter-
nacht hinausgeht.
Neu: Bitte beachten Sie den Spezialfall für ein eintägiges Ereignis über Mitternacht. D. h.,
für ein eintägiges Ereignis, das z.B. um 19:00 beginnt und um 3:00 endet, müssen Start-
und Endedatum gleichlauten und auf das Datum vor Mitternacht gesetzt werden.

Einbinden des Kalenders auf Ihre Homepage


Um einen Link zum Kalender auf der Homepage anzuzeigen, müssen Sie die Kalen-
derkomponente noch in das Hauptmenü einbinden.
Klicken Sie auf MENU – MAINMENU und das Icon NEW und wählen Sie im darauf fol-
genden Dialog Component aus und dann NEXT (Abbildung 5.7)
Geben Sie dem neuen Menüeintrag einen Namen (Kalender) und wählen Sie in der
Komponentenliste Events aus. Lassen Sie den Zugriff auf Public und klicken Sie auf
das Icon SAVE.
Wenn Sie nun auf Ihre Homepage wechseln und die Seite neu laden, so sollte in
Ihrem Hauptmenü ganz unten ein neuer Eintrag stehen (Kalender). Wenn Sie ihn
anklicken, startet Ihre neue Komponente (Abbildung 5.23).

170
5.2 Kalender

Abbildung 5.23: Ereignisanzeige auf der Homepage

5.2.3 Benutzer Frontend


Wenn Sie sich auf der Homepage anmelden, dürfen Sie, abhängig von den Einstellun-
gen in Event Config, Termine eintragen oder nicht.
Wenn Sie die Erlaubnis haben, so erscheinen unter dem Kalender zwei Links, Termine
eintragen und meine Termine.
Hinter dem Link Termine eintragen verbirgt sich die gleiche Oberfläche, inklusive Hil-
fetext, wie sie auch in der Mambo-Administration zur Verfügung steht.
Hinter dem Link meine Termine sehen Sie alle Termine, die Sie unter diesem Benutzer-
namen eingetragen haben, dahinter steht jeweils ein ändern- und ein löschen-Link
(Abbildung 5.24).

Abbildung 5.24: Eigene Termine auf der Homepage

171
5 Nützliche Erweiterungen

Wenn Sie auf den als Link hinterlegten Namen des Ereignisses klicken, erhalten Sie
eine andere Darstellung. Auch hier können Sie durch Klick auf das Bleistift-Icon in
die Änderungsmaske gelangen (Abbildung 5.25).

Abbildung 5.25: Detailansicht – Termin mit Editor-Icon

5.2.4 Module
Zu der Komponente Event gibt es auch ein Modul, das den aktuellen Monat auf der
Homepage anzeigt.

Installation
Laden Sie sich die Datei mod_events_cal-1.1-beta.zip und installieren Sie diese über
den Menüpunkt INSTALLERS – MODULES. Nach der Installation erscheint in der
Modulliste ein neues Modul namens mod_events_cal. Klicken Sie auf MODULES – SITE
MODULES, benennen Sie das neue Modul und bestimmen Sie die Seiten, auf denen es
erscheinen soll. Ich nenne es Termine und veröffentliche es auf allen Seiten im rechten
Template-Bereich.
Auf der Homepage wird nun der Monat mit verschiedenfarbig hinterlegten Tagen
angezeigt und die Ereignisse werden verlinkt (Abbildung 5.26).

Abbildung 5.26: Event-Modul

5.2.5 Event Mambot


Um auch Termine über das Suchfeld (Search Modul) durchsuchen zu können, gibt es
den Event Mambot.
Laden Sie sich die Datei bot_events_search-1.1.zip herunter und rufen Sie diese über
die Menüleiste INSTALLERS – MAMBOTS auf. Wählen Sie die Datei aus und klicken Sie
auf den Button UPLOAD FILE & INSTALL. In der Liste der installierten Mambots taucht
Search Events auf.

172
5.3 Galerie

Klicken Sie in der Menüleiste auf MAMBOTS – SITE MAMBOTS und veröffentlichen Sie
den eben installierten Event Mambot.
Wenn Sie nun im Suchfeld Ihrer Homepage etwas eingeben, werden auch die Ter-
mine und Ereignisse durchsucht und bei einem Treffer in der Ergebnisliste angezeigt.

5.3 Galerie
In einer Galerie finden Sie oft Bilder, Skulpturen, Installationen und ähnliche künstle-
rische Werke. Eine Galerie kann aber auch eine Sammlung von Schaufenstern in einer
Ladenpassage oder ein einfaches Fotoalbum sein. Grundsätzlich geht es bei einer
Galerie um visuelle Eindrücke. Das Internet wird zunehmend visueller und Bilder
sagen oft mehr als tausend Worte.
Für Galerien gibt es viele Einsatzbereiche: Wenn Sie beispielsweise eine Vereins-
homepage aufsetzen wollen, fotografieren Sie vermutlich Ihre Vereinsveranstaltun-
gen und Ihre Mitglieder. Stellen Sie die Bilder doch den Besuchern und/oder den
registrierten Benutzern Ihrer Homepage zur Verfügung!

5.3.1 Zoom Media Gallery


Mike de Boer aus Rotterdam/Niederlande hat diese Komponente entwickelt. Auf sei-
ner Homepage können Sie sich weiter umsehen, aktuelle Downloads laden, im Forum
mit diskutieren und auch ein Demo der Komponente ansehen7.

5.3.2 Installation Zoom Media Gallery


Laden Sie sich die Datei com_zoom_214_RC3.zip herunter8. Installieren Sie die Datei über
den Menüpunkt INSTALLERS – COMPONENTS. Nach der Installation erscheinen neben
der Nachricht, dass die Komponente installiert wurde, auch Hinweise zur weiteren
Vorgehensweise (Abbildung 5.27).

Abbildung 5.27: Installation Zoom Gallery

7 http://ummagumma.nl/mikedeboer/
8 Download siehe Anhang.

173
5 Nützliche Erweiterungen

Klicken Sie auf den Link Continue. In der Komponentenliste sehen Sie eine neue Kom-
ponente mit dem Namen zOOm Media Gallery Admin.

5.3.3 Sprache auf Deutsch ändern


Standardmäßig gibt es diese Komponente (Version 2.1.4 RC3) nur auf Englisch und
Niederländisch. Damit Sie alles in Deutsch haben, brauchen Sie die unvermeidliche
Sprachdatei. Laden Sie sich die Datei zoom_media_gallery_2.1.4RC3.zip herunter und
entpacken Sie diese. Sie finden zwei Dateien. germani.php und germanf.php. i steht für
informal (Anrede mit Du), f steht für formal (Anrede mit Sie).
Kopieren Sie die beiden Dateien in den Ordner [mambo]/components/com_zoom/language/
Fortan spricht Ihre Zoom Media Gallery deutsch mit Ihnen.

5.3.4 Administration Zoom Gallery


Im Menü Components finden Sie einen neuen Menüpunkt (Zoom Media Gallery Admin).
Die Administration der Galerie besteht aus sechs Icons, die untereinander aufgelistet
sind. Wenn Sie mit der Maus über die Icons fahren, erscheint ein kleines Fenster mit
der jeweiligen Bedeutung (Abbildung 5.28).

Abbildung 5.28: Zoom Media Gallery – Administration

174
5.3 Galerie

Album Manager
Wie überall bei Inhalten benötigen Sie eine gewisse Ordnung. Im Falle von Bildern
werden die Hierarchieebenen Alben genant. Klicken Sie also auf das Icon ALBUM
MANAGER und anschließend auf NEUES ALBUM.
Reiter: Neues Album
Die Eingabemaske für ein neues Album ist in zwei Reiter geteilt. Im Reiter EIGEN-
SCHAFTEN legen Sie die Eigenschaften des Albums fest (Abbildung 5.29), im Reiter
MITGLIEDER die Zugriffsberechtigungen für dieses Album.

Abbildung 5.29: Neues Album erstellen

Einfügen nach: Wie im System der Menüeinträge von Mambo können Sie Alben belie-
big verschachteln. Dazu müssen Sie hier das übergeordnete Album auswählen.
Verberge »keine Bilder« Text: Wenn sich noch keine Bilder im Album befinden, wird
der Text »keine Bilder« angezeigt. Wenn Sie das nicht wollen, kreuzen Sie die Check-
box an.
Name Album: Dies ist der Name des Albums, der auf der Homepage erscheinen wird.
Schlüsselwörter: Diese Schlüsselwörter werden bei der Suche berücksichtigt.
Beschreibung: Diese Beschreibung wird auf der Homepage zum Album angezeigt.
Veröffentlicht: Hier können Sie das Album bereits freigeben.
Reiter: Mitglieder
Allgemeiner Zugriff: Jeder Besucher der Homepage darf auf die Bilder zugreifen.
Nur für Mitglieder: Nur registrierte Benutzer dürfen auf die Bilder zugreifen.
Benutzername: Nur der namentlich ausgewählte Benutzer darf auf die Bilder zugrei-
fen.

175
5 Nützliche Erweiterungen

Nach einem Klick auf das Icon SPEICHERN erhalten Sie noch eine Meldungsbox, dass
das Album erstellt wurde und gelangen dann automatisch auf die Liste der vorhan-
denen Alben.
Wenn Sie ein Album bearbeiten wollen, wählen Sie es per Checkbox aus und klicken
Sie auf das Icon BEARBEITEN.

Dateien hochladen
Sie können Dateien auf verschiedene Arten hochladen.
Einzelne Datei
Vermutlich werden Sie zunächst eine einzelne Datei hochladen wollen. Das Prinzip
ist immer gleich. Zur Beschreibung des Bildes werden Dateiort, Album, Name,
Schlüsselwörter und erläuternder Text angegeben (Abbildung 5.30).

Abbildung 5.30: Hochladen einer Datei

Mehrere Dateien
Hier wird Ihnen das Formular für die einfache Datei mehrfach angezeigt, so dass Sie
mehrere Bilder auf einmal hochladen können.
Drag & Drop
Falls Sie ein Java Plugin in Ihrem Browser und/oder eine Java-Laufzeitumgebung auf
Ihrem Rechner installiert haben9, können Sie ein Java Applet, mit dem Sie ebenfalls
mehrere Dateien auf einmal übertragen können, durch Klick auf den Link Drag &
Drop starten (Abbildung 5.31).
In dieses Applet können Sie auch Dateien über einen normalen Dateidialog oder per
Drag & Drop aus Ihrem Dateimanager in die Eingabemaske ziehen! All den Bildern
ordnen Sie damit die gleiche Beschreibung zu.

9 http://java.sun.com/products/plugin/

176
5.3 Galerie

Abbildung 5.31: Java Applet für den Datei-Upload

Durchsuche Verzeichnis
Hier können Sie ganze Verzeichnisse nach Bildern durchforsten und auf einmal hoch-
laden.

HinweisHinweis
Abhängig von Ihrer Serverkonfiguration kann es sein, dass der Mehr-
fach-Upload nicht funktioniert. Aber es wird bestimmt bald eine Ver-
sion geben, die das dann auch fehlerfrei kann.

Einstellungen
Der Einstellungsdialog ist ebenfalls in vier Reiter aufgeteilt: SYSTEM, LAYOUT, SAFE
MODE und ZUGRIFFSRECHTE.
SYSTEM
Beim Arbeiten mit Bildern stellt sich immer das Problem der Größe und der Über-
sicht. Im Allgemeinen hat sich eingebürgert, so genannte Thumbnails (kleine Vor-
schaubilder) zu erzeugen, die dann auf einer Seite wie ein Inhaltsverzeichnis ange-
zeigt werden. Das hat den Vorteil, dass man ohne große Ladezeiten einen groben
Überblick über die Bilder erhält. Wenn Sie auf ein Vorschaubild klicken, öffnet sich
dann die große Variante des Bildes.

177
5 Nützliche Erweiterungen

Abbildung 5.32: Einstellungen – System

Damit das funktioniert, müssen die Vorschaubilder automatisch erzeugt werden. Das
ist nun nicht ganz so einfach und auf vielerlei Art möglich.
Die Zoom Media Gallery bietet vier Varianten an: zwei externe Programme, die auf
dem Server installiert sein müssen (ImageMagick10 und NetPBM11), und zwei in das
PHP-Modul einkompilierte Bibliotheken (GD1 und GD2).
Da Sie auf einem gemieteten Server vermutlich keinen Einfluss auf die Auswahl der
installierten Software haben und beide recht viel Systemressourcen benötigen, sind
die ersten beiden Optionen echte Glückssache. Bei einer lokalen Installation unter
Windows oder Linux können Sie sich die Programme natürlich downloaden und
installieren.
Ein drittes Programm, die Bibliothek GD12 hat den Vorteil, dass sie in PHP bereits
enthalten ist. Nun gibt es aber verschiedene PHP- und verschiedene GD-Versionen.
Glücklicherweise wird in den Einstellungen erkannt, ob GD vorhanden ist, und auto-
matisch ausgewählt. GD hat allerdings weniger Funktionen als die ersten beiden Pro-
gramme, kann aber auf jeden Fall jpg-Vorschaubilder erzeugen!
NetPBM und GD2 JPEG Qualität: Hier stellen Sie den Komprimierungsgrad in Pro-
zent ein.
Thumbnail max. Größe: Hier bestimmen Sie die Größe der Vorschaubilder in Pixel.
Temporärer Name: Hier vergeben Sie einen Standardnamen.
Temporäre Beschreibung: Hier können Sie eine Standardbeschreibung festlegen.
Pfad zu FFmpeg: ffmpeg ist ein Kommandozeilenprogramm, um Dateien von einem
Video-, Audio- oder Bildformat in ein anderes Format zu konvertieren. Es unterstützt
auch das Aufnehmen und Enkodieren von einer TV-Karte in Echtzeit.

10 http://www.imagemagick.org/
11 http://netpbm.sourceforge.net/
12 http://www.boutell.com/gd/

178
5.3 Galerie

Pfad zu PDFtoText: Ein Programm, das PDF in Text umwandelt.


LAYOUT
Hier können Sie auf eine optisch ausgefallene Art Parameter für Ihre Galerie einstel-
len (Abbildung 5.33).
Es geht dort um die Anzahl der Thumbnails auf einer Seite und das Ein- und Aus-
blenden von verschiedenen Optionen wie beispielsweise Kommentare, Postkarten,
Schlüsselwörter, Suchfelder etc.
Außerdem kann hier die CSS-Datei der Zoom Media Gallery angepasst und eine
Thumbnail-Sortierungsmethode ausgewählt werden.

Abbildung 5.33: Einstellungen – Layout

SAFE MODE
Die Sprache PHP kennt einen so genannten Safe Mode, in dem bestimmte Aktionen
wie beispielsweise schreibende Dateizugriffe unter Umständen verboten sind und
andere Dinge eingeschränkt werden13. Der Safe Mode wird beispielsweise beim Web-
hoster Strato14 verwendet.

13 http://manuals.phpforum.de/php/features.safe-mode.php
14 http://www.strato.de/

179
5 Nützliche Erweiterungen

Wenn der Safe Mode eingeschaltet ist, können auch keine Dateien hochgeladen wer-
den. Datei-Uploads sind für die Galerie natürlich notwendig. Deswegen können Sie
an dieser Stelle einfach Ihre FTP-Zugangsdaten eintragen, und PHP benutzt dann für
das Hochladen der Bilder die eingebauten FTP-Funktionen.
ZUGRIFFSRECHTE
Hier legen Sie die Standardzugriffsrechte fest:
 Benutzern erlauben, ein Album zu erstellen (Ja oder Nein)
 Benutzern gestatten, ein freigegebenes Album zu löschen (Ja oder Nein)
 Benutzern erlauben, ein freigegebenes Album zu ändern (Ja oder Nein)
 Den Hochladen-Link im Benutzermenü anzeigen (Ja oder Nein)

Abbildung 5.34: Einstellungen – Zugriffsrechte

Bilder verschieben
Hier können Sie Bilder von einem Album in ein anderes verschieben. Das Verschie-
ben erfolgt in 3 Schritten:
1. Im ersten Schritt wählen Sie das Album, in dem sich das Bild befindet, das Sie ver-
schieben wollen. Dann erhalten Sie eine Maske aller in diesem Album vorhan-
denen Bilder mit jeweils einer Checkbox davor.
2. Im zweiten Schritt wählen Sie die zu verschiebenden Bilder durch Ankreuzen der
Checkbox aus.
3. Im dritten Schritt bestimmen Sie das Zielalbum.

Abbildung 5.35: Gallery – Bilder verschieben

180
5.3 Galerie

Tabellen optimieren
Mit dieser Funktion werden die Datenbanktabellen der Galerie aufgeräumt. Solche
Aufräumungsarbeiten können hin und wieder notwendig werden, wenn beispiels-
weise Benutzer Dateien hochladen und den Vorgang während des Hochladens unter-
brechen. Dann kann es vorkommen, dass bereits Einträge in der Datenbank erstellt
werden, das passende Bild dazu aber nie ankommt.

Update Zoom Media Gallery


Hier können Sie sich über Updates der Galerie auf dem Laufenden halten. Der Link
führt zur Homepage von Mike de Boer.
Einbinden der Galerie in Ihre Homepage
Jetzt müssen Sie die Galerie noch in das Hauptmenü einbinden, damit sie auf Ihrer
Homepage angezeigt wird. Klicken Sie auf MENU – MAINMENU und das Icon NEW.
Wählen Sie im darauf folgenden Dialog Component aus und klicken Sie auf NEXT
(Abbildung 5.7).
Geben Sie dem neuen Menüeintrag einen Namen (Bildergalerie) und wählen Sie in der
Komponentenliste Zoom Media Gallery Admin aus. Lassen Sie den Zugriff auf Public
und klicken Sie auf das Icon SAVE.
Wenn Sie nun auf Ihre Homepage wechseln und die Seite neu laden, so sollte in
Ihrem Hauptmenü ganz unten ein neuer Eintrag stehen (Bildergalerie). Wenn Sie ihn
anklicken, startet Ihre neue Komponente.
Je nachdem, was Sie in den Einstellungen angegeben haben, sehen Sie nun Ihre Foto-
alben mit einer Vorschau der darin enthaltenen Bilder.
Wenn Sie auf den Albumlink klicken, sehen Sie alle enthaltenen Bilder als Vorschau.
Wenn Sie auf eines der Vorschaubilder klicken, öffnet sich eine neue Seite mit dem
Originalbild und den von Ihnen eingegebenen Informationen. Unter dem Bild befin-
det sich eine Möglichkeit, Kommentare zu hinterlassen.

5.3.5 Benutzer Frontend


Abhängig von den gesetzten Zugriffsrechten dürfen Sie Alben erstellen und Dateien
hochladen. Dabei wird Ihnen eine ähnliche Oberfläche zur Verfügung gestellt, wie in
Abschnitt 5.3.4 beschrieben. Sie erreichen diese Oberfläche über den Link Benutzersys-
tem.

Lightbox
Die Lightbox ist eine persönliche Auswahl von Bildern, die angezeigt wird, wenn Sie
auf das Lightbox-Icon klicken. Sie können einzelne Bilder und ganze Alben in die
Lightbox einfügen. Das Lightbox-Icon finden Sie rechts oberhalb des Bildes.

181
5 Nützliche Erweiterungen

E-Cards
Jedes Bild können Sie als E-Card, zusammen mit einer Nachricht, an die E-Mail-
Adresse eines Freundes verschicken. In der E-Mail befindet sich dann ein Link auf
Ihre Karte. Das Verfallsdatum der E-Card können Sie in der Administration in den
Einstellungen festlegen.

5.3.6 Modul für die Zoom Media Gallery


Es gibt viele Module für Ihre Galerie: z.B. für Zufallsbilder, die letzten 5, die am meis-
ten besuchten, die mit den meisten Kommentaren und sogar ein Scrolling Modul, das
Zufallsbilder auf Ihrer Homepage scrollen lässt.
Schauen Sie sich ein wenig auf der Homepage von Mike de Boer um und probieren
Sie ein paar Module aus.

5.4 Kommentare
Wenn Sie eine interaktive Homepage bevorzugen und an der Meinung Ihrer Besu-
cher interessiert sind, so wäre es schön, wenn Ihre Besucher Inhaltselemente kom-
mentieren könnten. Mit der Komponente AkoComments von Arthur Konze ist genau
das möglich.

5.4.1 Installation
Laden Sie sich die Datei com_akocomment20.zip herunter und installieren Sie diese über
den Components Installer (Abbildung 5.36). Laden Sie sich anschließend die Datei
cb_akocommentbot.zip und installieren Sie sie über den Mambots Installer (Abbildung
5.37).
Da die Komponente zum jetzigen Zeitpunkt (April 2005) noch nicht perfekt mit
Mambo 4.5.2 zusammenarbeitet, müssen Sie in der Datei

[mambo]/administrator/components/com_akocomment/toolbar.akocomment.php

die Zeile 37 auskommentieren.

Zeile 36 default:
Zeile 37 //MENU_Default::MENU_Default();
Zeile 38 break;

182
5.4 Kommentare

Abbildung 5.36: Installation AkoComment-Komponenten

Abbildung 5.37: Installation AkoComment-Mambot

5.4.2 Administration
Im Menü COMPONENTS  AKOCOMMENT gibt es drei Menüeinträge.

View Comments
Hier können Sie die von Ihren Benutzern geposteten Kommentare bearbeiten. Da
momentan keine Kommentare vorhanden sind, ist dieser Bereich leer.

Edit Settings
Hier können Sie in vier verschiedenen Reitern Einstellungen festlegen.
General
Main Operating Mode: Hier können Sie entscheiden, ob immer Kommentare ange-
zeigt werden oder nur wenn im Inhalt das Mambot-Kommando {moscomment} vor-
kommt.
Sections available: Bei der automatischen Anzeige können hier die Bereiche ausge-
wählt werden, unter deren Inhaltselementen automatisch Kommentarfenster erschei-
nen sollen.
Autopublish Comments: Hier können Sie festlegen, ob Kommentare automatisch frei-
geschaltet werden sollen und damit sofort auf der Seite erscheinen.
Anonymous Comments: Sollen anonyme Kommentare erlaubt sein?

183
5 Nützliche Erweiterungen

Comment Window: Soll das Kommentarfenster im selben oder in einem eigenen


Fenster erscheinen?
Layout
Comments Sorting: Sollen die ältesten oder neuesten Kommentare zuerst gezeigt
werden?
Form Position: Soll das Formular über oder unter den Kommentaren angezeigt wer-
den?
Posting
BB Code Support: Sollen BB Codes zur einfachen Formatierung unterstützt werden?
Picture Support: Sollen Bilder in Kommentaren erlaubt sein?
Smilie Support: Sollen Smileys angezeigt werden?
Notification
Notify Admin: Soll der Admin bei einem neuen Kommentar eine Mail erhalten?
Admin's Email: Die E-Mail Adresse, an die die Meldung geschickt werden soll.

Edit Language
Hier erhalten Sie ein Textfenster zum Ändern der deutschen Texte.

5.4.3 Frontend
Wenn Sie nun auf Ihre Homepage gehen, so werden Sie entsprechend Ihrer Einstel-
lungen unter den Inhaltselementen ein Kommentarfenster sehen (Abbildung 5.38).

Abbildung 5.38: Kommentarfenster

Hier können Ihre Besucher nun nach Herzenslust Ihre Inhalte kommentieren.

184
5.5 Mehrsprachigkeit mit Mambelfish

5.5 Mehrsprachigkeit mit Mambelfish


Die Komponente Mambelfish ermöglicht die Erstellung einer mehrsprachigen Home-
page. Das Thema ist recht komplex und so ist auch diese Komponente nicht ganz ein-
fach zu bedienen.
Der Bedarf nach mehrsprachigen Homepages wird gerade in Europa immer größer.
Bisher war eine echte Mehrsprachigkeit in Mambo nicht möglich. Sie konnten zwar
aus vielen Frontend-Sprachdateien auswählen, die Homepage an sich hatte aber nur
eine Sprache.
Durch diese wirklich geniale Komponente von Alex Kempkens ist es nun möglich,
echte Mehrsprachigkeit anzubieten.
Nun ist das mit der Sprache immer so eine Sache. Schließlich besteht eine Homepage
aus Standardsätzen, die in Sprachdateien übersetzt werden. Diese Sprachdateien
werden im Mambelfish auch benutzt. Es gibt weiterhin eine Standardsprache, die in
der Global Configuration festgelegt wird.
Darüber hinaus kann man beliebig viele mögliche Zielsprachen wählen.
Was aber passiert mit den Inhalten?
Hier geht Mambelfish den steinigen, aber sinnvollen Weg, alle dynamischen Inhalte in
einem Übersetzungsmanager in die entsprechenden Zielsprachen zu übersetzen. Dazu
gehören natürlich auch die Menübezeichnungen und die verschiedenen Kategorien.
Dabei wird keinesfalls automatisch übersetzt, sondern jedes Inhaltselement müssen
Sie selbst in die Zielsprache bringen.
Die Vorteile liegen auf der Hand:
 Jeder Teil Ihrer Homepage ist in jeder Sprache verfügbar.
 Der Benutzer kann per Mausklick die gesamte Homepage in einer anderen Spra-
che sehen.

5.5.1 Installation von Mambelfish (Komponente und Modul)


Laden Sie sich die Datei MambelFish_1.5.zip15 herunter und installieren Sie diese über
den Menüpunkt INSTALLERS – COMPONENTS. Nach der Installation sehen Sie die
Nachricht, dass die Komponente installiert wurde. Außerdem sehen Sie einen
umfangreichen Begrüßungstext. Wir werden später darauf zurückkommen.
Um gleich Ergebnisse zu sehen, installieren Sie bitte das passende Modul. Laden Sie
sich die Datei mbf_module.zip herunter und installieren Sie diese über den Menüpunkt
INSTALLERS – MODULES. Nach der Installation sehen Sie die Nachricht, dass das
Modul erfolgreich installiert wurde.

15 Download siehe Anhang.

185
5 Nützliche Erweiterungen

Klicken Sie auf MODULES – SITE MODULES und aktivieren Sie das Modul.
Wenn Sie nun auf Ihre Homepage schauen, werden Sie unten links einen leeren Kas-
ten mit der Überschrift Mambelfish sehen. Das kommt daher, dass Sie die Komponente
noch nicht konfiguriert haben.

5.5.2 Konfiguration von Mambelfish


Nach der Installation sollten Sie im Menü SITE –> LANGUAGES –> INSTALL alle Spra-
chen installieren, die Sie auf der Seite anbieten wollen. Momentan müsste die deut-
sche und die englische Sprachdatei installiert und die deutsche als Standard ausge-
wählt sein. Ich belasse es zunächst dabei.
Um die Sprachen für Mambelfish verfügbar zu machen, müssen Sie in COMPONENTS
-> MAMBELFISH  CONFIGURATION die entsprechenden Einstellungen vornehmen.
Der Dialog hat zwei Karteireiter: SPRACHEN und FRONTEND.

Sprachen
Hier sehen Sie die installierten Sprachen. Sie können hier alle Sprachen auswählen
und die vorgegebenen Bezeichnungen überschreiben. Außerdem können Sie noch
den richtigen Zeichensatz (ISO) und eine Bilddatei angeben, die anstelle des Namens
beispielsweise eine Flagge anzeigt. Die Sortierung der Anzeige im Modul können Sie
ebenfalls festlegen (Abbildung 5.39).

Abbildung 5.39: Mambelfish – Language Configuration – Sprachen

Nun enthält das Modul auf der Homepage auch die beiden Sprachen (Abbildung
5.40).

Abbildung 5.40: Sprachauswahl auf der Homepage

Wenn Sie auf die Sprachlinks klicken, werden Sie Unterschiede wahrnehmen. Der
auffallendste Unterschied dürfte der Hinweis sein:

186
5.5 Mehrsprachigkeit mit Mambelfish

Sorry this content is not available in your selected language.


Diesen Inhalt gibt es nicht für Ihre Sprache. Da wir ja immer noch mit den Mambo-
Beispieldaten arbeiten, müssen diese zunächst übersetzt werden.
Doch bevor wir das tun, blicken wir noch auf den zweiten Karteireiter.

Frontend
Hier werden die Einstellungen für die Homepage definiert (Abbildung 5.41).

Abbildung 5.41: Mambelfish – Language Configuration – Frontend

Es geht hier um zwei Dinge: zum einen um das Verhalten bei der Darstellung von
Inhaltselementen, wenn keine Übersetzung vorhanden ist, und zum anderen um die
Darstellung der Spracheneinträge im Modul.
Bei einem nicht übersetzten Element gibt es die Variante, einen Ersatztext anzuzeigen.
Der Ersatztext kann im nächsten Feld eingegeben werden und wurde Ihnen vorhin
auch schon präsentiert. Die zweite Variante ist das Anbieten des Originaltextes. Die
dritte bietet ebenfalls den Originaltext aber mit Zusatzinformationen an.
Die Frontend-Darstellung erfolgt entweder horizontal oder vertikal, entweder als Text
oder als Bild. Im Feld darunter kann ein Trennzeichen eingegeben werden. Dieses
Trennzeichen wird bei der horizontalen Darstellung benutzt. Standardmäßig ist es
das Pipe-Zeichen ( | ).

5.5.3 Übersetzung mit Mambelfish


Die Übersetzung der Seite geht jetzt bezüglich der Mambelfish-Komponente sehr ein-
fach. Es ist halt nur viel Arbeit!
Über das Menü COMPONENTS  MAMBELFISH  TRANSLATION kommen Sie in den
Übersetzungsbereich der Komponente. Beim ersten Aufruf erhalten Sie ein leeres
Fenster. Wählen Sie als Sprache Ohne Übersetzung und als Inhaltselemente Categories.
Jetzt werden Ihnen alle Kategorien angezeigt. Unter anderem auch die Kategorie
Mambobuch, die wir im früheren Teil des Buches angelegt haben.

187
5 Nützliche Erweiterungen

Abbildung 5.42: Mambelfish – Translation – ohne Übersetzung

Wählen Sie nun die Sprache Deutsch. Die Anzeige ohne Übersetzung wechselt zu
Deutsch. Klicken Sie auf den Link Mambobuch. Sie erhalten eine Änderungsmaske, in
der auf der linken Seite der Originaltext steht. Da in unserem Fall der Originaltext
ebenfalls in Deutsch ist, brauchen Sie Ihn nur in die leeren Felder zu kopieren (Abbil-
dung 5.42).
Falls Sie den WYSIWYG-Editor eingeschaltet haben, kann es sein, dass das Einfügen
per Mausklick nicht klappt. Benutzen Sie dann die Tastenkombination (Shift) +
(Einfg) oder (Strg)+(v).
Nach einem Klick auf das Icon SAVE haben Sie den ersten Teil Ihrer Homepage über-
setzt. In der Liste der Kategorien erscheint das Übersetzungsdatum. Veröffentlichen
Sie nun durch einen Klick auf das Icon mit dem roten Kreuz die Kategorie.
Wählen Sie oben in der Optionsliste die Sprache English und wiederholen Sie den
Vorgang.
Wenn Sie nun in der Optionsliste Alle Sprachen auswählen, sollten beide Übersetzun-
gen zu sehen sein (Abbildung 5.44).
Wiederholen Sie den Vorgang nun bei einem Inhaltselement. Ich nehme das Beispiel
4.Kapitel (Abbildung 5.45).
Auf Ihrer Homepage erscheinen nun abhängig von der vom Benutzer ausgewählten
Sprache der deutsche oder der englische Text.
Auf diese Art können Sie nun Ihre gesamte Seite übersetzen. Das ist zwar viel Arbeit,
aber das Ergebnis wirkt gerade im geschäftlichen Bereich sehr seriös und kompetent.

188
5.5 Mehrsprachigkeit mit Mambelfish

Abbildung 5.43: Mambelfish – Translation – Übersetzung

Abbildung 5.44: Anzeige der übersetzten Kategorien

Abbildung 5.45: Anzeige der übersetzten Inhalte

5.5.4 Mambot für Mambelfish


Um die übersetzten Seiten über das Suchfeld (Search Modul) durchsuchen zu können,
gibt es den Mambelfish Mambot.
Laden Sie sich die Datei mbf_searchbot.zip und rufen Sie diese über die Menüleiste
INSTALLERS – MAMBOTS auf. Wählen Sie die Datei aus und klicken Sie auf den Button
UPLOAD FILE & INSTALL. In der Liste der installierten Mambots taucht multi lingual
content searchbot auf.
Klicken Sie in der Menüleiste auf MAMBOTS – SITE MAMBOTS und veröffentlichen Sie
den eben installierten multi lingual content searchbot.
Wenn Sie nun im Suchfeld Ihrer Homepage etwas eingeben, werden die übersetzten
Elemente durchsucht und bei einem Treffer in der Ergebnisliste angezeigt.

189
5 Nützliche Erweiterungen

5.5.5 Eigene Komponenten in Mambelfish einbinden


Sie können auf eine sehr einfache Art alle Komponenten in das Mambelfish-System
einbinden, indem Sie eine Tabellenbeschreibung im XML-Format in das Verzeichnis
[mambo]/administrator/components/com_mambelfish/contentelements/
kopieren. Für die Beispielkomponente, die wir im nächsten Kapitel erzeugen, finden
Sie den Inhalt der Datei in Listing 5.1.
Auf der Basis dieser Beschreibung integriert Mambelfish die zu übersetzenden Daten
in die Administrationsoberfläche. Durch die Angabe des Attributes translate mit dem
Wert 0 oder 1 kann Mambelfish sogar auf Feldebene gesteuert werden.

Listing 5.1: mambobuch.xml

<?xml version="1.0" ?>


<mambelfish type="contentelement">
<name>Mambobuch</name>
<author>Hagen Graf</author>
<version>1.0</version>
<description>Beispiel aus dem Mambobuch</description>
<reference type="Mambobuch">
<table name="mambo_buch">
<field type="referenceid" name="id" translate="0">ID</field>
<field type="titletext" name="text" translate="1">Text</field>
</table>
</reference>
</mambelfish>

5.6 Online-Shop
Shop-Systeme werden immer benötigt und auch Mambo hat hier einiges zu bieten. Die
Komponente phpShop16 bietet ein komplettes Shopsystem für Ihre Mambo-Installation.
Auf der Homepage finden Sie Shop-Beispiele und alle notwendigen Downloads.
An dieser Stelle nur ein paar Features – wie Sie die Komponente installieren, wissen
Sie ja aus den vorangegangenen Beispielen:
 So viele Produkte und Kategorien, wie Sie wollen
 Unbegrenzte Schachtelungstiefe
 Beliebige Sortierung
 Verkauf von downloadbaren Gütern, wie MP3s, Videos und Software möglich.
 Zusätzliche Attribute wie Größe und Farbe der Produkte
 Möglichkeit von Aktionspreisen

16 http://www.mambo-phpshop.net/

190
5.7 Dokumentenmanagement

 Importmöglichkeit aus CSV-Dateien


 Eine »Willkommen-Maske « zeigt Ihnen aktuelle Statistiken, beispielsweise die
Anzahl der Kunden und die Anzahl der Bestellungen.
 Administration über das Frontend möglich.
 Unterschiedliche Währungen und Länder
 Verschiedene Lieferadressen für Kunden
 Verschiedenen Steuersätze
 SSL-Verschlüsselung
 Zahlungsmöglichkeit per Kreditkarte und vielen Online-Paymentsystemen wie
beispielsweise PayPal

5.7 Dokumentenmanagement
Dokumentenmanagement ist die Domäne der Komponente DOCMan17. Sie können
verschiedene Arten von Dokumenten (Dateien) verwalten und zum Download
bereitstellen.
Durch die Möglichkeit Kategorien zu erstellen, können Sie so einen Downloadbereich
für verschiedene Benutzergruppen aufbauen.
DOCMan eignet sich damit auch hervorragend, um in geschlossenen Arbeitsgruppen
die relevanten Dokumente an einer zentralen Stelle zu platzieren.

5.8 Barrierefreies Mambo


Barrierefreiheit ist in Deutschland ein besonderes Thema, das inzwischen sogar
gesetzlich geregelt ist.
Im Gesetz zur Gleichstellung behinderter Menschen18 findet sich folgender Para-
graph:
§ 11 Barrierefreie Informationstechnik
(1) Träger öffentlicher Gewalt im Sinne des § 7 Abs. 1 Satz 1 gestalten ihre Internetauftritte
und -angebote sowie die von ihnen zur Verfügung gestellten grafischen Programmoberflä-
chen, die mit Mitteln der Informationstechnik dargestellt werden, nach Maßgabe der nach
Satz 2 zu erlassenden Verordnung schrittweise technisch so, dass sie von behinderten Men-
schen grundsätzlich uneingeschränkt genutzt werden können. Das Bundesministerium des
Innern bestimmt im Einvernehmen mit dem Bundesministerium für Arbeit und Sozialord-
nung durch Rechtsverordnung, die nicht der Zustimmung des Bundesrates bedarf, nach
Maßgabe der technischen, finanziellen und verwaltungsorganisatorischen Möglichkeiten

17 http://www.mambodocman.com/
18 http://www.behindertenbeauftragter.de/gesetzgebung/behindertengleichstellungsgesetz/gesetzestext

191
5 Nützliche Erweiterungen

1. die in den Geltungsbereich der Verordnung einzubeziehenden Gruppen behinderter


Menschen,
2. die anzuwendenden technischen Standards sowie den Zeitpunkt ihrer verbindlichen
Anwendung,
3. die zu gestaltenden Bereiche und Arten amtlicher Informationen.
(2) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter von Inter-
netseiten sowie von grafischen Programmoberflächen, die mit Mitteln der Informati-
onstechnik dargestellt werden, durch Zielvereinbarungen nach § 5 ihre Produkte
entsprechend den technischen Standards nach Absatz 1 gestalten.
Wenige Content Management Systeme sind wirklich barrierefrei. Allein die Tatsache,
dass Redakteure Inhalte einpflegen können, die unter Umständen nicht barrierefrei
sind, führt in dieser Hinsicht zu echten Problemen.

5.8.1 xMambo
Das Projekt xMambo versucht die Barrierefreiheit auf Mambo-Seiten möglich zu
machen19. xMambo 4.5 ist eine Version von Mambo 4.5 Stable, die komplett umge-
baut wurde, um reines XHTML, CSS, und Section 508/WAI-Code20 zu generieren.
Diese Standards müssen erfüllt werden, damit eine Homepage die Bedingungen für
Barrierefreiheit erfüllen kann.
Das Projekt xMambo wird momentan nicht weiterentwickelt. Die Entwickler sind
allerdings in die weitere Mambo-Entwicklung einbezogen und werden in der Version
Mambo 5 dafür sorgen, dass Mambo von Hause aus barrierefrei sein wird.

Abbildung 5.46: Barrierefreiheit mit xMambo

19 http://xmambo.electricjet.com/
20 http://508.web-space-station.com/faq.html

192
6 Corporate Identity
Unter Corporate Identity (CI) versteht man das Selbstverständnis und das Erschei-
nungsbild eines Unternehmens. Dieses Erscheinungsbild, die Identität, ergibt sich
entweder aus der Tradition eines Unternehmens oder sie wird komplett bei der Neu-
gründung erdacht. Diese Identität ist wichtig, um dem Kunden ein Gefühl für das
Unternehmen zu geben und eine Wiedererkennung zu ermöglichen.
Zur Corporate Identity gehören:
 Corporate Image (Preis-, Produkt- und Werbestrategie)
 Corporate Design (visuelle Erscheinung)
 Corporate Communication (Unternehmenskommunikation)
 Corporate Behaviour (Verhaltensweisen der Mitarbeiter untereinander und nach
außen)
Alle diese Bereiche müssen bei der Erstellung einer Homepage berücksichtigt wer-
den. Wir wollen in diesem Kapitel das Corporate Design betrachten. Es besteht min-
destens aus einem Logo, einer Schriftart und den Hausfarben, die das Unternehmen
benutzt.
Die Besucher Ihrer Homepage sollten Ihr Unternehmen auf Anhieb wieder erkennen.

6.1 HTML/XHTML, CSS, XML


Die Abkürzungen HTML/XHTML, CSS und XML stehen für Internettechnologien,
mit denen Mambo arbeitet. Diese Technologien werden vom World Wide Web Kon-
sortium1 standardisiert.

6.1.1 HTML/XHTML
Das World Wide Web basiert auf der Seitenbeschreibungssprache HTML (Hypertext
Markup Language). Bei HTML handelt es sich nicht um eine Programmiersprache,
sondern um eine Textbeschreibungssprache.

1 http://www.w3.org/
6 Corporate Identity

Jeder Text besteht aus Strukturen wie beispielsweise Überschriften, Aufzählungen,


fett und kursiv gedruckten Bereichen, Tabellen und vielem mehr. HTML arbeitet mit
so genannten Tags. Ein Tag hat einen öffnenden und einen schließenden Teil. Eine
Überschrift erster Ordnung wird beispielsweise so dargestellt:
<h1>Dies ist eine Überschrift</h1>

Im Browser werden die Tags interpretiert und entsprechend ihrer Bedeutung der
Text dargestellt.
HTML ist sehr einfach zu erlernen. Die wohl beste Anleitung gibt es online und
downloadbar unter http://de.selfhtml.org/.
HTML selbst wird nicht mehr weiterentwickelt. Der Nachfolger von HTML ist
XHTML in der Version 1.0.

6.1.2 CSS
Cascading Stylesheets (CSS) sind eine Ergänzung zu HTML. Auch CSS ist keine Pro-
grammiersprache, sondern ein Vokabular zur Definition von Formateigenschaften
einzelner HTML-Elemente.
Mit Hilfe von CSS-Befehlen können Sie beispielsweise bestimmen, dass Überschriften
der ersten Ordnung eine Schriftgröße von 18 Punkt haben, in der Schriftart Arial, aber
nicht fett erscheinen, und mit einem Abstand von 1,9 Zentimeter zum darauf folgen-
den Absatz versehen werden.
Angaben dieser Art sind mit reinem HTML nicht möglich und waren bei der Ent-
wicklung von HTML auch nicht nötig. Mit der fortschreitenden Kommerzialisierung
des Internet werden weitergehende Formatierungsmöglichkeiten allerdings immer
wichtiger.
CSS-Angaben können auf drei Arten in HTML eingebunden werden.

Zentral für eine HTML-Datei


Hier werden die CSS-Befehle innerhalb des Kopfes der HTML-Datei definiert.
<head>
<title>Titel der Datei</title>
<style type="text/css">
<!--
/* ... Hier werden die CSS-Befehle definiert ... */
-->
</style>
</head>

In einer separaten CSS-Datei


Wenn die CSS-Befehle für mehrere HTML-Dateien gelten sollen, bietet es sich an, die
CSS-Befehle in eine extra Datei auszulagern und den Pfad zu dieser Datei im HTML-
Kopf anzugeben. Diese Variante wird von Mambo benutzt.

194
6.2 Templates selbst erstellen

<head>
<title>Titel der Datei</title>
<link rel="stylesheet" type="text/css" href="formate.css">
</head>

Innerhalb eines HTML-Tags


Innerhalb eines HTML Tag können ebenfalls CSS-Befehle eingebunden werden.

<body>
<h1 style="… CSS-Befehle ...">...</h1>
</body>

Kombinationen
Die drei Möglichkeiten können in einer HTML-Datei problemlos kombiniert werden.
Es ist beispielsweise möglich, in einer zentralen Datei definierte CSS-Befehle, die für
alle Seiten gelten, im weiteren Quellcode einer HTML-Seite zu überschreiben. Da
diese Art der Benutzung jedoch schnell in unübersichtlichen Strukturen endet, sollten
Sie lieber die zentrale Datei anpassen.

6.1.3 XML
Die Extended Markup Language ist ein Universum für sich. Sie stellt eine Metasprache
dar, in der andere Sprachen formuliert werden. Die Mutter aller Sprachen gewisser-
maßen. Für unsere Zwecke benötigen Sie XML als Beschreibungssprache für die
Metadaten des Templates, das Sie erstellen wollen. Diese Metadaten sind in erster
Linie für den Template Installer und die Anzeige im Template Manager wichtig.
Prinzipiell bestehen diese Daten wieder aus öffnenden und schließenden Tags, bei-
spielsweise:

<name>Mambobuch</name>

Der Unterschied zu HTML liegt darin, dass in XML keine Tags vordefiniert werden.
Man ist also völlig frei in der Gestaltung der Strukturen und der Benennung der Tags.

6.2 Templates selbst erstellen


Jetzt wollen wir ein Template selbst erstellen. Bis zum fertigen Template Paket gibt es
viele Dinge zu beachten. Wir gehen in mehreren Schritten vor:

6.2.1 Konzept
Bevor Sie etwas tun, sollten Sie ein Konzept erstellen. Gerade im Bereich der Temp-
late-Erstellung fängt die Arbeit mit einer Skizze oder einer Grafik an. Ob Sie diese
Skizze mit einem Bildbearbeitungsprogramm wie dem kommerziellen Adobe Photo-

195
6 Corporate Identity

shop2, dem in Windows enthaltenen Microsoft Paint, dem Open Source Programm
Gimp3 oder tatsächlich mit einem Zettel und Buntstiften erstellen, ist Ihre Sache.

Feste Größe oder variabel


Sie können zwei Arten von Templates erstellen. Templates, die sich in der Struktur
der Größe des Browserfensters anpassen und Templates, die eine feste vorgegebene
Größe haben. Ein Beispiel zum ersten flexiblen Layout: Wenn jemand 2048 Pixel Platz
auf seinem Bildschirm hat und das Browserfenster maximiert, so wird Ihre Seite ent-
sprechend auseinander gezogen. Wenn Sie grafische, nicht skalierbare Elemente wie
Logos und Schriftzüge in Ihrem Template benutzen, kann das sehr eigenartig aus-
sehen. Sie haben also keine echte Kontrolle über das Aussahen
Die andere Variante ist, sich für eine bestimmte Auflösung zu entscheiden und alle
Elemente auf den Pixel genau im Template zu positionieren. Das hat den Vorteil, dass
Ihre Homepage immer so aussieht, wie Sie das wollen. Leider wissen Sie nicht, mit
welcher Bildschirmauflösung Ihre Seite betrachtet wird. Auf einem Bildschirm mit
der Auflösung von 800 * 600 Pixel ist Ihre Seite bildschirmfüllend. Auf einem großen
Bildschirm mit 1400 * 1050 Pixel belegt sie nur etwa ein Viertel der Fläche und sieht
etwas verloren aus.
Es gibt für dieses Dilemma keine echte Lösung. Sie müssen die Vor- und Nachteile
abwägen und sich für eine Variante entscheiden.
Wenn Sie die feste Größe bevorzugen, sollten Sie eine Größe wählen, die auf den
meisten Bildschirmen darstellbar ist, also 800 * 600 Pixel. Da der Browser noch eine
Scrollleiste auf der rechten Reite besitzt und das Browserfenster noch eingerahmt ist,
ist die Ihnen zur Verfügung stehende Breite sogar noch etwas kleiner, so dass Sie in
der Breite maximal 780 Pixel haben sollten.

Struktur
Sie haben es mit strukturierten Daten zu tun und müssen sich zunächst eine allge-
meine Aufteilung überlegen. Mambo benutzt normalerweise eine Struktur wie in
Abbildung 6.1.
Teil 1
 Bereich 1: Hier steht Ihr Logo oder ein Bild und der Seitenname.
 Bereich 2: Hier befindet sich das Suchfeld.
 Bereich 3: Hier ist der verlinkte Navigationspfad (Breadcrumbs).
Teil 2
 Bereich 4: In der linken Spalte werden die wichtigsten Menüs angezeigt.
 Bereich 5: Hier befindet sich der eigentliche Seiteninhalt.
 Bereich 6: Die rechte Spalte bietet Platz für zusätzliche Menüs.

2 http://www.adobe.de/products/photoshop/
3 http://www.gimp.org/

196
6.2 Templates selbst erstellen

Abbildung 6.1: Struktur

Teile 3
 Bereich 7: Die Fußzeile

6.2.2 HTML-Umsetzung
Jetzt müssen Sie das Konzept in HTML umsetzen. Anhängig vom Bildbearbeitungs-
programm, mit dem Sie es erstellt haben, gibt es vielleicht eine Möglichkeit, das Bild
automatisch in HTML-Code exportieren. Sie können die Umsetzung auch per Hand
in einem Texteditor oder in einem HTML-Editor wie Macromedia Dreamweaver4
oder einem der zahlreichen freien HTML-Editoren5 erstellen.
Der Quellcode der HTML Umsetzung sieht etwa aus wie in Listing 6.1. Der Code ist
bewusst einfach gehalten und entspricht im Kopfbereich noch nicht dem XHTML-
Standard.

Listing 6.1: HTML-Grundgerüst

<html>
<head>
<title>Untitled Document</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="780" border="1">
<!-- Teil 1 -->

4 http://www.macromedia.com/software/dreamweaver/
5 http://www.drweb.de/editoren/

197
6 Corporate Identity

<tr>
<!-- Bereich 1 -->
<td colspan="2" height="89" bgcolor="#F5C228">&nbsp;</td>
<!-- Bereich 2 -->
<td width="178" height="120" rowspan="2" bgcolor="#FFCC33"> &nbsp; </td>
</tr>
<tr>
<!-- Bereich 3 -->
<td colspan="2" height="33" bgcolor="#FFCC33">&nbsp;</td>
</tr>
<!-- Teil 2 -->
<tr>
<!-- Bereich 4 -->
<td width="197" height="233" bgcolor="#F5EE28"> &nbsp; </td>
<!-- Bereich 5 -->
<td width="389" height="233">&nbsp;</td>
<!-- Bereich 6 -->
<td width="178" height="233" bgcolor="#FFFF33"> &nbsp; </td>
</tr>
<!-- Teil 3 -->
<tr bgcolor="#FFCC33">
<!-- Bereich 7 -->
<td colspan="3" height="40">&nbsp;</td>
</tr>
</table>
</body>
</html>

Wenn Sie diesen Quellcode in einem Browser aufrufen, so sieht die Struktur unserem
Konzept schon ein wenig ähnlich (Abbildung 6.1). Diesen Quellcode müssen Sie in
einer Datei mit dem Namen index.php abspeichern.

Abbildung 6.2: HTML-Grundgerüst im Browser

198
6.2 Templates selbst erstellen

Um die Aufteilung besser zu sehen, habe ich die Tabelle mit einem Rand zeichnen las-
sen (Attribut border="1"). Hier können Sie jetzt Ihren gestalterischen Fähigkeiten in
Hinsicht auf Farben und Logos freien Lauf lassen.

6.2.3 Dateistruktur des Template


Jetzt wird es Zeit, sich um gewisse Konventionen zu kümmern. Das Template muss in
einer besonderen Verzeichnisstruktur abgelegt sein. Wenn Sie wollen, können Sie
gleich in Ihrer lokalen Mambo-Installation arbeiten. Wenn Ihnen das zu unübersicht-
lich ist, können Sie das Template auch an beliebiger Stelle Ihrer Festplatte abspei-
chern. Sie müssen die folgende Dateistruktur einhalten.

/templates/[Name des Templates]/


/templates/[Name des Templates]/CSS/
/templates/[Name des Templates]/images/

Der Name des Templates sollte keine Umlaute, Leerzeichen und sonstige Sonderzei-
chen enthalten. Aus diesem Namen muss der Template Installer später ein Verzeichnis
anlegen. Abhängig vom Betriebssystem kann das bei exotischen Zeichenkombina-
tionen zu Problemen führen. Außerdem sollte der Name aussagekräftig sein. Wenn
Sie beispielsweise das Modul Template Chooser auf Ihrer Homepage anbieten, wird
dieser Name in der Auswahlliste Ihren Besuchern als Auswahl angeboten. Ich nehme
als Template-Namen mambobuch.
In den Template-Verzeichnissen müssen verschiedene Dateien mit bestimmten
Namen vorhanden sein. Außer den Bilddateien Ihres Templates müssen bei allen
anderen die Dateinamen exakt mit den Vorgaben übereinstimmen!

/templates/mambobuch/index.php

Das ist die HTML-Datei, die wir schon rudimentär erstellt haben. Sie muss die
Endung .php haben, da die dynamischen Mambo-Modulelemente, die wir noch einfü-
gen werden, von PHP interpretiert werden müssen.

/templates/mambobuch/template_thumbnail.png

Ein Vorschaubild Ihres Templates für die Auswahl in der Mambo-Administration


und im Modul Template Chooser. Vorschaubilder haben das Format 227 * ca. 162 Pixel.

/templates/mambobuch/templateDetails.xml

Diese Datei stellt die Bauanleitung für den Template Installer dar. Hier beschreiben Sie,
welche Dateien wohin kopiert werden sollen. Für das Beispiel-Template können Sie
die Datei in Listing 6.2 benutzen und mit eigenen Daten versehen.

/templates/mambobuch/css/template_css.css

199
6 Corporate Identity

Die CSS-Datei Ihres Templates. Die Gestaltung der CSS-Datei steht Ihnen frei. Es gibt
jedoch Standardbezeichnungen für verschiedene Seitenelemente. Eine Tabelle dazu
finden Sie im Anhang. Für Ihren ersten Versuch benötigen Sie nur eine leere CSS-
Datei mit dem oben angegebenen Namen.

/templates/mambobuch/images/[beliebige Bilddateien]

Hier können Sie beliebige Bilddateien, die in Ihrem Template auftauchen, abspei-
chern. Der Installer kopiert die Dateien dann in den images-Ordner.

Listing 6.2: templateDetails.xml

<?xml version="1.0" encoding="iso-8859-1"?>


<mosinstall type="template" version="4.5.2">
<name>mambobuch</name>
<creationDate>03/23/05</creationDate>
<author>Hagen Graf</author>
<copyright>GNU/GPL</copyright>
<authorEmail>hagen_39393@yahoo.de</authorEmail>
<authorUrl>http://www.alternative-unternehmensberatung.de</authorUrl>
<version>0.01</version>
<description>Dies ist der erste Versuch eines Templates</description>
<files>
<filename>index.php</filename>
<filename>template_thumbnail.png</filename>
</files>
<images>
<filename>images/logo.png</filename>
</images>
<css>
<filename>css/template_css.css</filename>
</css>
</mosinstall>

6.2.4 Erster Probelauf


Wenn Sie alle Strukturen im Unterverzeichnis [mambo]/templates/ nachvollzogen
haben, können Sie bereits Ihr neues Template in der Mambo-Administration sehen
und zuordnen (Abbildung 6.3).
Wenn Sie Ihre Homepage aufrufen, sehen Sie die Struktur wie in Abbildung 6.2. Lei-
der werden noch keine Inhalte dargestellt. Da diese Inhalte dynamisch erzeugt wer-
den, müssen Sie sie jetzt Stück für Stück in Ihr neues Template integrieren.

200
6.2 Templates selbst erstellen

Abbildung 6.3: Neues Template im Manager

6.2.5 Integration der Mambo-Module


Die Integration der Mambo-Module erfolgt über in den HTML-Code eingebettete
PHP-Befehle. Wenn Sie im Kopfbereich der Datei index.php anstelle des title-Tags die
folgende Zeile einfügen, so erscheint bereits das Favicon und der Titel der Seite kor-
rekt (Abbildung 6.4).

<head>
<?php mosShowHead(); ?>
</head>

Abbildung 6.4: Favicon und Seitentitel

Wenn Sie den Quellcode dieser Seite aufrufen, so stellen Sie fest, dass Mambo die
gesamten Metadaten, die Sie in der Administration eingegeben haben, in den HTML-
Code geschrieben hat (Listing 6.3).

Listing 6.3: Mambo-Metadaten


...
<head>
<title>Mambo452 - Home</title>
<meta name="description" content="Mambo - the dynamic portal engine and content
management system" />
<meta name="keywords" content="mambo, Mambo" />
<meta name="Generator" content="Mambo - Copyright 2000 - 2005 Miro International Pty
Ltd. All rights reserved." />
<meta name="robots" content="index, follow" />

201
6 Corporate Identity

<link rel="alternate" type="application/rss+xml" title="Mambobuch Test RSS"


href="http://localhost/mambo/cache/rss20.xml" />
<link rel="shortcut icon" href="http://localhost/mambo/images/favicon.ico" />
</head>
...

Nachdem das so gut funktioniert hat, kommen wir gleich zu den anderen relevanten
PHP Einschüben. Es handelt sich dabei immer um Funktionen. Die Funktion mosLoad-
Modules() beispielsweise erwartet als Parameter den Ort des Moduls (right, left,
user1, ...). Diesen Ort können Sie im Module Manager zuordnen. Die Funktion stellt
dann alle Module mit dem entsprechenden Parameter dar.
Den vollständigen Quellcode mit PHP-Einschüben in der Datei index.php sehen Sie in
Listing 6.4.

Listing 6.4: index.php mit Mambo-Modulen


<html><head>
<?php mosShowHead(); ?>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="780" border="1">
<!-- Teil 1 -->
<tr>
<!-- Bereich 1 -->
<td colspan="2" height="89" bgcolor="#F5C228">&nbsp;</td>
<!-- Bereich 2 -->
<td width="178" height="120" rowspan="2" bgcolor="#FFCC33">
<?php mosLoadModules ( 'user4' ); ?>
</td>
</tr>
<tr>
<!-- Bereich 3 -->
<td colspan="2" height="33" bgcolor="#FFCC33">
<?php mosPathWay(); ?>
</td>
</tr>
<!-- Teil 2 -->
<tr>
<!-- Bereich 4 -->
<td width="197" height="233" bgcolor="#F5EE28" valign="top">
<?php mosLoadModules ( 'left' ); ?>
</td>
<!-- Bereich 5 -->
<td width="389" height="233" valign="top">
<?php mosMainBody(); ?>
</td>
<!-- Bereich 6 -->
<td width="178" height="233" bgcolor="#FFFF33" valign="top">

202
6.2 Templates selbst erstellen

<?php mosLoadModules ( 'right' ); ?>


</td>
</tr>
<!-- Teil 3 -->
<tr bgcolor="#FFCC33">
<!-- Bereich 7 -->
<td colspan="3" height="40">
<?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php'
); ?>
</td>
</tr>
</table></body></html>

Wenn Sie die Homepage mit dem geänderten HTML-Code auf dem lokalen Server
aufrufen, sehen Sie bereits die dynamischen Inhalte. Ihr neues Template wurde mit
allen Daten gefüllt. Sie arbeiten jetzt mit reinem HTML-Code und das Ergebnis sieht
natürlich optisch noch verbesserungswürdig aus (Abbildung 6.5).

Abbildung 6.5: Template mit dynamischen Daten

Um die Optik zu verfeinern, wollen wir noch einen kleinen Einstieg in die CSS-Forma-
tierung wagen. Kopieren Sie sich den folgenden Code in Ihre Datei template_css.css
(Listing 6.5). Hier wird einfach festgelegt, dass die Standardschrift Arial sein soll, die
Links nicht unterstrichen sein sollen und wenn Sie mit der Maus über einen Link fah-
ren, soll die Schrift eine andere Farbe erhalten und fett dargestellt werden6.

6 Mehr über CSS erfahren Sie auf http://de.selfhtml.org/css/.

203
6 Corporate Identity

Listing 6.5: template_css.css

body {
font-family: Arial, Helvetica, Sans Serif;
}
a:link, a:visited {
color: #ff6600;
text-decoration: none;
font-weight: bold;
}
a:hover {
color: #C43C03;
text-decoration: none;
font-weight: bold;
}

Mit dieser Maßnahme sieht Ihr Template schon ein wenig attraktiver aus. Der Maus-
zeiger steht gerade über dem Suche-Link im Hauptmenü. Der Link wird fett und in
einer anderen Farbe dargestellt (Abbildung 6.6).

Abbildung 6.6: Template mit CSS-Datei

6.2.6 Ein Template-Paket erstellen


Um Ihr Template weitergeben zu können, müssen Sie es in ein ZIP-Archiv verpacken.
Bevor Sie das tun, erstellen Sie noch ein aktuelles Vorschaubild Ihres Templates
(template_thumbnail.png ) und packen dann alle Dateien mit Unterverzeichnissen in ein
ZIP-Archiv.

204
6.2 Templates selbst erstellen

Markieren Sie dazu alle Dateien und Ordner im Ordner [mambo]/templates/mambobuch/


und packen den gesamten Inhalt in die Datei mambobuch.zip. Sichern Sie den Ordner
und die ZIP-Datei.
Um nun die Installation zu testen, müssen Sie das Template aus dem Template Mana-
ger entfernen. Dazu legen Sie zunächst ein anderes Template als Standard fest (Temp-
late auswählen und auf Icon PUBLISH klicken). Dann wählen Sie das eben erstellte
Template und löschen es über das Icon DELETE.

6.2.7 Installation mit dem Mambo-Template Installer


Nachdem Sie alle Spuren der Entwicklung beseitigt haben, rufen Sie im Menü INSTAL-
LERS – TEMPLATE SITE auf, wählen die Datei mambobuch.zip aus und klicken auf UPLOAD
FILE & INSTALL. Sie sehen den Success-Bildschirm des Template Installers. Hier wird die
Beschreibung aus der XML-Datei angezeigt (Abbildung 6.7).

Abbildung 6.7: Upload des neuen Templates

Wenn Sie auf den Link Continue klicken, wird Ihnen das eben erstellte Template im
Template Manager mit Vorschaubild angezeigt (Abbildung 6.8).

Abbildung 6.8: Neues Template im Template Manager

205
6 Corporate Identity

6.3 Dreamweaver-Extension
Es gibt für den HTML-Editor Dreamweaver eine so genannte Extension, mit der Sie
die Template-Erstellung komplett in Dreamweaver vornehmen können. Nach der
Installation der Extension erhalten Sie eine Mambo-Palette mit den verfügbaren Ele-
menten, die Sie dann per Mausklick in Ihr Template einfügen können7.

7 http://www.mambosolutions.com/dw_tutorial/

206
7 Eigene
Programmerweiterungen
Sie wollen mit Mambo ein Problem lösen, für das es noch keine fertige Komponente
gibt, beispielsweise eine Auflistung Ihrer Gebrauchtwagen oder eine Liste Ihrer Nie-
derlassungen? Erweitern Sie einfach den Funktionsumfang um neue Komponenten,
Module und Mambots. Was auf den ersten Blick sehr kompliziert aussieht, ist auch
mit PHP-Anfängerwissen machbar.
Nach den Erfahrungen im Template-Bau, wissen schon ansatzweise, was auf Sie
zukommt. Sie benötigen:
 Eine neue Komponente bestehend aus Frontend, Mambo-Administration und ei-
ner speziellen Tabelle in der Datenbank
 Ein zusätzliches Modul zur Anzeige der Einträge auf der Homepage
 Einen Such-Mambot, um Ihre neuen Inhalte durchsuchen zu können
Damit Sie eine Vorstellung bekommen, worauf ich hinaus möchte, hier ein Beispiel
auf der Homepage (Abbildung 7.1) mit einer einfachen Liste.

Abbildung 7.1: Eigene Komponente auf der Homepage

Diese Liste könnte nun beliebige Inhalte haben (Niederlassungen, Angebote etc). Für
den Kunden reicht es meistens aus, die Liste zu sehen. Der Administrator jedoch
muss die Liste verwalten. Verwalten bedeutet:
 Neue Einträge aufnehmen
 Vorhandene Einträge ändern
 Vorhandene Einträge löschen
7 Eigene Programmerweiterungen

Um das Beispiel nicht zu verkomplizieren, zeigen und bearbeiteten wir ein einziges
Feld. Da wird das Prinzip deutlich und man kann das Beispiel leicht um mehrere Fel-
der erweitern. Die minimale Verwaltungsoberfläche der Liste sehen Sie hier (Abbil-
dung 7.2).

Abbildung 7.2: Eigene Komponente in der Mambo-Administration

7.1 Beispielkomponente mambobuch


Beginnen wir mit der Komponente. Da sie die Basis für viele verschiedene Listen wer-
den kann, nenne ich sie mambobuch. Sie können sich das fertige Beispiel herunter-
laden1 und wie jede Komponente installieren. Sie können es allerdings auch per Hand
nachbauen. Der Nachbau hat den Vorteil, dass Sie nach und nach die Strukturen
durchschauen und vielleicht Lust auf mehr bekommen.

7.1.1 Die MySQL-Tabelle


Da Sie ganz am Anfang beginnen, benötigen Sie eine neue Tabelle in MySQL. Um die
gewünschte Tabelle anzulegen, gibt es viele Möglichkeiten.
Sie könnten
 ein PHP-Programm schreiben, das die Tabelle anlegt,
 MySQL auf der Konsole bedienen oder
 MySQL über ein Tool wie phpMyAdmin steuern.
Bei xampplite und den meisten Webspace-Providern erhalten Sie zur Datenbankver-
waltung das Tool phpMyAdmin2. Mit diesem, ebenso wie Mambo, in PHP geschriebe-
nen Programm können Sie sehr einfach Ihre MySQL Tabellen direkt bearbeiten.

1 Download siehe Anhang.


2 http://www.phpmyadmin.net/

208
7.1 Beispielkomponente mambobuch

In xampplite rufen Sie phpMyAdmin durch die Eingabe des folgenden URL in Ihrem
Browser auf (Abbildung 7.3): http://localhost/phpmyadmin

Abbildung 7.3: phpMyAdmin

Wählen Sie im linken Bereich Ihre Datenbank aus, die die Mambo-Tabellen enthält. In
meinem Fall ist das die Datenbank mambo452. Bei manchen Providern landen Sie beim
Aufruf von phpMyAdmin direkt in Ihrer Mambo-Datenbank, wenn Sie nur eine
Datenbank in Ihrem Hostingpaket haben. Bei xampplite können Sie beliebig viele
Datenbanken einrichten.
Datenbanken wie MySQL werden mit SQL-Befehlen gesteuert. Die Structured Query
Language3 ist eine Datenmanipulationssprache, die Ähnlichkeiten mit der in den sieb-
ziger Jahren aufgekommenen Mengenlehre hat. Die Idee hinter der Sprache ist,
wenige Befehle, wie ändern, löschen, einfügen, erstellen auf eine genau spezifizierte
Menge von Daten anzuwenden.
Für das Komponentenbeispiel benötigen Sie die SQL-Befehle zur Erstellung der
Tabelle und zum Einfügen der Daten (Listing 7.1:).

Listing 7.1: SQL-Befehle für die Beispieltabelle


-- Tabellenstruktur für Tabelle `mos_mambo_buch`
CREATE TABLE `mos_mambo_buch` (
`id` INT NOT NULL AUTO_INCREMENT,
`text` TEXT NOT NULL,
`published` TINYINT(1) NOT NULL,
PRIMARY KEY (`id`) );

3 http://www.little-idiot.de/mysql/ – hier finden Sie alles, was Sie zum Leben und Überleben mit
MySQL und SQL benötigen.

209
7 Eigene Programmerweiterungen

-- Daten für Tabelle `mos_mambo_buch`


INSERT INTO `mos_mambo_buch` VALUES ('BMW 1', 1);
INSERT INTO `mos_mambo_buch` VALUES ('Renault Kangoo', 1);
INSERT INTO `mos_mambo_buch` VALUES ('Audi A6', 1);
INSERT INTO `mos_mambo_buch` VALUES ('VW Golf', 1);
INSERT INTO `mos_mambo_buch` VALUES ('Mercedes G', 1);

Um diese SQL-Befehle an die Datenbank zu übermitteln, klicken Sie auf den Link
SQL, fügen die Befehle4 in das Formular ein und klicken auf OK (Abbildung 7.1).

Abbildung 7.4: Einlesen der Tabellenstruktur

MySQL legt die neue Tabelle mos_mambo_buch an und fügt fünf Datensätze ein. Durch
einen Klick auf die neue Tabelle mos_mambo_buch und den Link ANZEIGEN, sehen Sie das
Ergebnis in übersichtlicher Form (Abbildung 7.5).

Abbildung 7.5: Angelegte Tabelle mos_mambo_buch

Damit haben wir die Tabelle angelegt und können phpMyAdmin bis auf weiteres verlas-
sen. Diese Arbeit übernimmt bei der automatischen Installation in Mambo später der
Component Installer.

4 Download siehe Anhang.

210
7.1 Beispielkomponente mambobuch

7.1.2 Das Frontend


Mit dem Frontend ist Ihre Homepage gemeint. Um die Vorfreude ein wenig zu stei-
gern, wollen wir mit dem Frontend beginnen.
Wenn Sie mal einen Blick in Ihr Verzeichnis [mambo]/components werfen, so stellen Sie
fest, dass dort alle Verzeichnisse mit com_ beginnen. Danach folgt eine mehr oder
weniger aussagekräftige Beschreibung (com_contact, com_content etc.).
Hier befinden sich Ihre installierten Komponenten. Um eine Komponente im Browser
aufzurufen, geben Sie den Namen dieses Unterverzeichnisses als Wert für den Para-
meter option im URL an:
http://localhost/mambo/index.php?option=com_contact
Für Ihre eigenen Komponenten legen Sie jetzt bitte ein neues Unterverzeichnis mit
dem Namen [mambo]/components/mambobuch an.
In diesem Unterverzeichnis erstellen Sie sich bitte zwei Dateien.
1. mambobuch.php – In dieser Datei befindet sich die Logik in reinem PHP-Code. Hier
wird beispielsweise die Datenbank abgefragt.
2. mambobuch.html.php – In dieser Datei geht es um die Präsentation der Daten. Auch
hier wird PHP verwendet, der Schwerpunkt liegt allerdings auf HTML- und CSS-
Code.

mambobuch.php
Die Datei besteht aus vier Bereichen und wenigen Zeilen (Listing 7.2).
Im ersten Bereich wird sichergestellt, dass es nicht möglich ist, die Datei durch Eingabe
des Dateinamens direkt aufzurufen. Es soll lediglich die Möglichkeit bestehen, die
Datei von einer anderen Datei aus aufzurufen. Diese Maßnahme dient der Sicherheit,
denn die Komponente ist allein ohne das Mambo-System nicht lauffähig. Außerdem
wird hier der Quellcode der zweiten Datei (mambo.html.php) eingebunden. Da dieses
Einbinden der HTML-Oberfläche standardmäßig vorkommt, gibt es eine Methode
getPath(), die im gleichen Verzeichnis nach der entsprechenden Datei sucht und sie
einbindet. Der Name wird dabei dynamisch aus dem Namen des Verzeichnisse und
der Endung .html.php erzeugt.
Im zweiten Bereich werden Parameter übergeben, hier der HTML-Titel der Seite
(erscheint im oberen blauen Browserbalken).
Im dritten Bereich findet eine Fallunterscheidung statt. Sie könnten die Komponente
mit verschiedenen Parametern aufrufen, die Sie dann hier auswerten. Beispielweise
kann hier zwischen einer Übersichts- und einer Einzelsicht unterschieden werden.
Im vierten Bereich befindet sich die eigentliche Logik. Hier wird die Datenbank
abgefragt, ein Ergebnis-Array erzeugt und die Methode showtable() in der Klasse
HTML_mambobuch aufgerufen. Diese Klasse befindet sich in der eingebundenen mambo-
buch.html.php-Datei.

211
7 Eigene Programmerweiterungen

Listing 7.2: mambobuch.php

<?php
//Bereich 1
/* sicherstellen, dass diese Datei von einer anderen Datei aus aufgerufen wird */
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
// Laden der HTML Klasse
require_once( $mainframe->getPath( 'front_html' ) );
// Bereich 2
$mainframe->setPageTitle( "Beispielkomponente Mambobuch" );
// Bereich 3
switch( $task ) {
case 'frei':
// mehr Anzeigemöglichkeiten
break;
default:
listMambobuch();
break;
}
// Bereich 4
function listMambobuch( ) {
global $database;
/* SQL Abfrage für alle veröffentlichten Einträge */
$query = "SELECT * FROM #__mambo_buch WHERE published='1'";
$database->setQuery( $query );
$rows = $database->loadObjectList();
HTML_mambobuch::showtable( &$rows );
}
?>

mambobuch.html.php
Die Datei mambobuch.html.php (Listing 7.3) enthält die Klasse HTML_mambobuch. Eine Klasse
ist eine Art Bauplan mit vielen Methoden. Unsere kleine Klasse enthält »nur« die
Methode showTable.
Der Methode showTable wird ein Array übergeben (&$rows). Dieses Array wird in einer
Tabelle dargestellt. Um diesen Effekt zu erreichen, läuft eine foreach-Schleife so lange
durch das Array, bis keine Elemente mehr vorhanden sind.
Bei jedem Durchlauf wird ein unterschiedlicher Wert für die Variable $k erzeugt.
$k steuert die CSS-Klasse einer Tabellenzeile (class="sectiontableentry<?php echo
($k+1);). Das hat zur Folge, dass die Zeilen in zwei verschiedenen Farben wiedergege-
ben werden (Abbildung 7.1).
Prinzipiell könnten in der Klasse beliebig viele Methoden implementiert werden,
außer der Tabellensicht könnte das beispielsweise noch eine Einzelansicht sein.

212
7.1 Beispielkomponente mambobuch

Die Klasse an sich stellt einen Bauplan dar und muss mit Daten gefüllt werden. Das
macht sie vergleichbar mit einem Template. Aus diesem Grund wird die Klasse auch
in der Datei mambobuch.php eingebunden und durch den Aufruf von

HTML_mambobuch::showtable( $rows );

gestartet.

Listing 7.3: mambobuch.html.php

<?php
/* sicherstellen, dass diese Datei von einer anderen Datei aus aufgerufen wird */
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
class HTML_mambobuch {
// Methode zum Aufbau der Tabelle
function showTable( $rows ) {
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="20" class="sectiontableheader">
<?php echo "Überschrift"; ?>
</td>
</tr>
<?php
// die Variable $k dient dazu, die verschiedenen Farben
// pro Zeile zu ermöglichen.
$k = 0;
foreach ($rows as $row) {
?>
<tr>
// $k nimmt den Wert 0 oder 1 an und ruft dadurch
// entweder die CSS-Klasse sectiontableentry1 oder
// sectiontableentry2 auf
<td height="20" class="sectiontableentry<?php echo ($k+1); ?>">
// Zugriff auf das DB-Feld text
<?php echo $row->text; ?>
</td>
<?php
$k = 1 - $k;
}
?>
</table>
<?php
}
}
?>

213
7 Eigene Programmerweiterungen

7.1.3 Integration in das Hauptmenü


Da wir an dieser Stelle die Komponente noch nicht »vernünftig« installiert haben,
weiß Mambo auch nicht, dass sie überhaupt vorhanden ist. Sie können sie aber bereits
aufrufen über den URL: http://localhost/mambo/index.php?option=com_mambobuch
Sie können die Komponenten in diesem Stadium der Entwicklung nur über die
Option Link-Url in das Hauptmenü einbinden. Klicken Sie in der Mambo-Administra-
tion auf den Menüeintrag MENU  MAINMENU und dann auf das Icon NEW. Wählen
Sie unten rechts Link-Url und klicken Sie auf das Icon NEXT. Hier können Sie eine
Bezeichnung und den o.a. Link eintragen (Abbildung 7.6).

Abbildung 7.6: Menüeintrag per URL

Wenn Sie nun Ihre Homepage aufrufen, sollten Sie den Menülink Mambobuch und
nach Klick auf diesen die Tabelle sehen (Abbildung 7.1).
Das war jetzt doch überraschend einfach, oder? Abgesehen davon, dass Sie sich mal
ernsthaft mit objektorientierter Programmierung und der Syntax von PHP, HTML
und CSS befassen sollten, kann man mit wenigen Zeilen Code eindrucksvolle Tabel-
len zaubern.

7.1.4 Die Mambo-Administration


War das reine Anzeigen der Daten auf der Homepage noch verhältnismäßig einfach,
so ist das Verwalten der Daten naturgemäß ein wenig aufwendiger. Hierbei müssen
Sie die Daten anzeigen, ändern, neu einfügen und löschen können. Also erheblich
mehr Funktionalität als auf der Homepage.

Die Komponenten-Tabelle
Mambo verwaltet die Menüeinträge aller Komponenten in der Tabelle mos_components.
Da Sie keinen Installer benutzen und alles per Hand bauen, benötigen Sie zwei neue
Menüeinträge.

214
7.1 Beispielkomponente mambobuch

Rufen Sie wieder phpMyAdmin auf, wählen Sie die Tabelle mos_components aus,
klicken Sie auf den Link SQL, fügen Sie die beiden SQL-Befehle ein (Listing 7.4) und
bestätigen Sie dann mit OK.

Listing 7.4: SQL-Befehle Menüeintrag

INSERT INTO `mos_components` VALUES ( 'Mambobuch', 'option=com_mambobuch', 0, 0,


'option=com_mambobuch', 'Mambobuch', 'com_mambobuch', 0,
'js/ThemeOffice/component.png', 0, '');
INSERT INTO `mos_components` VALUES ('Einträge bearbeiten', '', 0, 46,
'option=com_mambobuch&act=all', 'Einträge bearbeiten', 'com_mambobuch', 0,
'js/ThemeOffice/component.png', 0, '');

Durch den Eintrag dieser beiden Datensätze erweitern Sie das Menü COMPONENTS
um einen Haupteintrag (Mambobuch) und einen Untermenüeintrag (Einträge bearbei-
ten) (Abbildung 7.7). Außerdem legen Sie fest, was der jeweilige Menüeintrag aufru-
fen soll (option=com_mambobuch&act=all') und geben noch ein Bild an, das links neben
dem Menü erscheinen soll ('js/ThemeOffice/component.png'). Die Bilder finden Sie im
Ordner [mambo]/includes/js/ThemeOffice.

Abbildung 7.7: Neue Komponente im Menü Components

Diesmal benötigen Sie nicht nur zwei, sondern fünf Dateien. Im Verzeichnis
[mambo]/administraton/components/ müssen Sie zunächst ein Unterverzeichnis mit dem
Namen com_mambobuch anlegen. In diesem Unterverzeichnis erstellen Sie sich bitte die
folgenden fünf Dateien:
1. admin.mambobuch.php
2. mambobuch.class.php
3. admin.mambobuch.html.php
4. toolbar.mambobuch.html.php
5. toolbar.mambobuch.php

admin.mambobuch.php
Diese Datei enthält wieder die Logik. Hier gehen wir noch einen Schritt weiter und
lagern die Datenbankabfragen teilweise in die mambobuch.class.php aus. Grundsätzlich

215
7 Eigene Programmerweiterungen

ist der Aufbau wie bereits in der Frontend-Logik beschrieben. Die Datei ist umfang-
reicher, da nun mehrere Fälle möglich sind und mit jeweils einer Funktion implemen-
tiert werden müssen.
Außerdem werden am Beginn noch die Zugriffsberechtigungen geprüft, da wir uns ja
in der Mambo-Administration befinden.

Listing 7.5: admin.mambobuch.php

<?php
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
// Zugriffsberechtigung überprüfen
if (!($acl->acl_check( 'administration', 'edit', 'users', $my->usertype,
'components', 'all' ) | $acl->acl_check( 'administration', 'edit', 'users', $my-
>usertype, 'components', 'com_newsfeeds' ))) {
mosRedirect( 'index2.php', _NOT_AUTH );
}
// Laden der Datenbankklasse und der HTML-Klasse
require_once( $mainframe->getPath( 'admin_html' ) );
require_once( $mainframe->getPath( 'class' ) );
$task = mosGetParam( $_REQUEST, 'task', array(0) );
// Fallunterscheidung
switch ($task) {
case "publish":
publishMambobuch( $id, 1, $option );
break;
case "unpublish":
publishMambobuch( $id, 0, $option );
break;
case "new":
editMambobuch( 0, $option );
break;
case "edit":
editMambobuch( $id[0], $option );
break;
case "remove":
removeMambobuch( $id, $option );
break;
case "save":
saveMambobuch( $option );
break;
case "cancel":
cancelMambobuch( $option );
break;
default:
showMambobuch( $option );
break;
}

216
7.1 Beispielkomponente mambobuch

// Veröffentlichung der Einträge


function publishMambobuch( $cid, $publish, $option ) {
global $database;
if (count( $cid ) < 1) {
// die nächste Zeile entspricht einem if – else:
// wenn $publish, dann 'publish' - ansonsten 'unpublish'
$action = $publish ? 'publish' : 'unpublish';
echo "<script> alert('Select a item to ".$action."'); window.history.go(-
1);</script>\n";
exit;
}
$cids = implode( ',', $cid );
$database->setQuery( "UPDATE #__mambo_buch SET published=($publish) WHERE id IN
($cids)");
if (!$database->query()) {
echo "<script> alert('".$database->getErrorMsg()."'); window.history.go(-1);
</script>\n";
exit();
}
if (count( $cid ) == 1) {
$row = new mosMambobuch( $database );
$row->checkin( $cid[0] );
}
mosRedirect( "index2.php?option=$option" );
}
// Neuen Eintrag erstellen (id = 0)
// oder Eintrag mit id = n ändern
function editMambobuch( $cid, $option ) {
global $database;
$row = new mosMambobuch( $database );
$row->load( $cid );
// Aufruf der Methode editMambobuch in der
// Klasse HTML_mambobuch
HTML_mambobuch::editMambobuch( $row, $option );
}
// Löschen von Eintraegen
function removeMambobuch( $cid, $option ) {
global $database;
if (!is_array( $cid ) || count( $cid ) < 1) {
echo "<script> alert('Bitte einen Eintrag zum loeschen auswaehlen');
window.history.go(-1);</script>\n";
exit;
}
$cids = implode( ',', $cid );
$database->setQuery( "DELETE FROM #__mambo_buch WHERE id IN ($cids)" );
if (!$database->query()) {
echo "<script> alert('".$database->getErrorMsg()."'); window.history.go(-1);
</script>\n";
}

217
7 Eigene Programmerweiterungen

mosRedirect( "index2.php?option=$option" );
}
// Eintrag speichern
function saveMambobuch( $option ) {
global $database;
$row = new mosMambobuch( $database );
if (!$row->bind( $_POST )) {
echo "<script> alert('".$row->getError()."'); window.history.go(-1);
</script>\n";
exit();
}
if (!$row->store()) {
echo "<script> alert('".$row->getError()."'); window.history.go(-1);
</script>\n";
exit();
}
mosRedirect( "index2.php?option=$option" );
}
// Abbrechen der momentanen Aktion
function cancelMambobuch( $option ) {
global $database;
$row = new mosMambobuch( $database );
$row->bind( $_POST );
$row->checkin();
mosRedirect( "index2.php?option=$option" );
}
// Auflistung der Einträge
function showMambobuch($option) {
global $database, $mainframe;
$limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', 10 );
$limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart",
'limitstart', 0 );
// Eintraege zaehlen
$database->setQuery("SELECT count(*) FROM #__mambo_buch");
$total = $database->loadResult();
echo $database->getErrorMsg();
// Einbindung der Navigationselemente
require_once("includes/pageNavigation.php");
$pageNav = new mosPageNav( $total, $limitstart, $limit );
$database->setQuery( "SELECT * FROM #__mambo_buch ORDER BY id LIMIT $pageNav-
>limitstart,$pageNav->limit" );
$rows = $database->loadObjectList();
if ($database->getErrorNum()) {
echo $database->stderr();
return false;
}
HTML_mambobuch::showMambobuch( $rows, $pageNav, $option );
}?>

218
7.1 Beispielkomponente mambobuch

mambobuch.class.php
Hier ist die Auslagerung der Datensatzstruktur in eine eigene Klasse, die von der
Klasse mosDBTable abgeleitet wird. MosDBTable ist eine Klasse in der Datei /inclu-
des/database.php und stellt grundsätzliche Methoden zum Datenbankzugriff zur Ver-
fügung.

Listing 7.6: mambobuch.class.php

<?php
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.' );
// die Klasse mosMambobuch wird abgeleitet von der
// existierenden Klasse mosDBTable
class mosMambobuch extends mosDBTable {
// Deklaration und Initialisierung der Instanzvariablen
// INT(11) AUTO_INCREMENT
var $id=null;
// TEXT
var $text=null;
// TINYINT(1)
var $published=null;
// der Konstruktor wird bei der Instanzierung aufgerufen
function mosMambobuch( &$db ) {
//Aufruf des Konstruktors der mosDBTable-Klasse
$this->mosDBTable( '#__mambo_buch', 'id', $db );
}
}?>

admin.mambobuch.html.php
Hier befindet sich, wie bereits in der Frontend-Komponente beschrieben, die Klasse
HTML_mambobuch, die sich auf die Präsentation der Daten bezieht. Hier werden die
HTML- und CSS-Strukturen auf der Basis der Daten aus admin.mambobuch.php erzeugt.

Listing 7.7: admin.mambobuch.html.php

<?php
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
class HTML_mambobuch {
// Methode showMambobuch
// baut die Anzeigetabelle auf
function showMambobuch( &$rows, $pageNav, $option ) {
// ab hier beginnt HTML, kombiniert mit kurzen
// PHP-echo-Anweisungen zum Tabellenaufbau
?>
<form action="index2.php" method="post" name="adminForm">
//

219
7 Eigene Programmerweiterungen

<table cellpadding="4" border="0" width="100%">


<tr>
<td class="sectionname">Mambobuch Manager</td>
<td nowrap>Display #</td>
<td> <?php echo $pageNav->writeLimitBox(); ?> </td>
</tr>
</table>
<table cellpadding="4" border="0" width="100%" class="adminlist">
<tr>
<th width="20">#</th>
<th width="20"><input type="checkbox" name="toggle" value=""
onclick="checkAll(<?php echo count($rows); ?>);" /></th>
<th>Einträge</th>
<th>Published</th>
</tr>
<?php
$k = 0;
for($i=0; $i < count( $rows ); $i++) {
$row = $rows[$i];
$img = $row->published ? 'tick.png' : 'publish_x.png';
$task = $row->published ? 'unpublish' : 'publish';
?>
<tr class="<?php echo "row$k"; ?>">
<td align="center" > <?php echo $I + $pageNav->limitstart+1; ?> </td>
<td><input type="checkbox" id="cb<?php echo $i;?>" name="id[]" value="<?php
echo $row->id; ?>" onclick="isChecked(this.checked);" /></td>
<td><a href="#edit" onclick="return listItemTask('cb<?php echo
$i;?>','edit')"><?php echo $row->text; ?></a></td>
<td width="10%" align="center"><a href="javascript: void(0);" onclick="return
listItemTask('cb<?php echo $i;?>','<?php echo $task;?>')"><img
src="images/<?php echo
$img;?>" border="0" alt="" /></a></td>
</tr>
<?php
$k = 1 - $k;
}
?>
<tr>
<th align="center" colspan="10"> <?php echo $pageNav->writePagesLinks(); ?></th>
</tr>
<tr>
<td align="center" colspan="10"> <?php echo $pageNav->writePagesCounter();
?></td>
</tr>
</table>
<input type="hidden" name="option" value="<?php echo $option; ?>" />
<input type="hidden" name="task" value="" />
<input type="hidden" name="boxchecked" value="0" />
</form>

220
7.1 Beispielkomponente mambobuch

<?php
}
// diese Methode stellt die Editiermaske dar
function editMambobuch( &$row, $option ) {
mosMakeHtmlSafe( $row, ENT_QUOTES );
// hier beginnt JavaScript-Code zur Formularüberprüfung
?>
<script language="javascript" type="text/javascript">
function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == "cancel") {
submitform( pressbutton );
return;
}
// Überprüfunge des Feldinhaltes
if (form.text.value == '') {
alert( "Bitte tragen Sie etwas in das Feld ein." );
} else {
submitform( pressbutton );
}
}
</script>
<form action="index2.php" method="post" name="adminForm" id="adminForm"
class="adminForm">
<table border="0" cellpadding="3" cellspacing="0">
´ <tr>
<td>Eintrag: </td>
<td><input class="inputbox" type="text" size="50" maxlength="100" name="text"
value="<?php echo $row->text; ?>" /></td>
</tr>
</table>
<input type="hidden" name="id" value="<?php echo $row->id; ?>" />
<input type="hidden" name="option" value="<?php echo $option; ?>" />
<input type="hidden" name="task" value="" />
</form>
<?php
}
}?>

toolbar.mambobuch.php
Diese Datei bietet die verschiedenen Funktionen, die beim Klicken von Icons in der
Werkzeugleiste ausgewählt werden können und stellt damit die Logik der Werk-
zeugleiste dar. Die Datei toolbar.mambobuch.html.php mit der Präsentationsklasse wird
eingebunden.

221
7 Eigene Programmerweiterungen

Listing 7.8: toolbar.mambobuch.php

<?php
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
require_once( $mainframe->getPath( 'toolbar_html' ) );
switch($task) {
case "new":
case "edit":
menuMambobuch::MENU_Edit();
break;
default:
menuMambobuch::MENU_Default();
break;
}?>

toolbar.mambobuch.html.php
Hier wird die Werkzeugleiste »zusammengebaut« (Listing 7.9). Aufgerufen werden
Methoden der Klasse mosMenu: einmal für die Listenansicht und einmal für die Editier-
ansicht (Abbildung 7.8 und Abbildung 7.9).

Abbildung 7.8: Werkzeugleiste im Listmodus

Abbildung 7.9: Werkzeugleiste im Editiermodus

Listing 7.9: toolbar.mambobuch.html.php

<?php
defined( '_VALID_MOS' ) or die( 'Ein direkter Zugriff auf diese Datei ist verboten.'
);
class menuMambobuch {
function MENU_Default() {
mosMenuBar::startTable();
mosMenuBar::publishList();
mosMenuBar::unpublishList();
mosMenuBar::divider();
mosMenuBar::addNew();
mosMenuBar::editList();
mosMenuBar::deleteList();
mosMenuBar::spacer();
mosMenuBar::endTable();
}
function MENU_Edit() {

222
7.1 Beispielkomponente mambobuch

mosMenuBar::startTable();
mosMenuBar::save();
mosMenuBar::cancel();
mosMenuBar::spacer();
mosMenuBar::endTable();
}
}?>

Test
Nachdem Sie alle Dateien erstellt haben, können Sie die Komponente komplett über
die Mambo-Administration verwalten.

7.1.5 Installationspaket erstellen


Außer den sieben Programmdateien benötigen Sie noch zwei Dateien mit dem Instal-
lations- (Listing 7.10) und mit dem Deinstallationstext (Listing 7.11).
Als Anweisungsdatei für den Installer benötigen Sie eine XML-Datei (Listing 7.12).

install.mambobuch.php

Listing 7.10: install.mambobuch.php


<?php
function com_install() {
echo "Vielen Dank für die Installation. Bei Problemen wenden Sie sich einfach an
hagen_39393@yahoo.de.";
}
?>

uninstall.mambobuch.php

Listing 7.11: uninstall.mambobuch.php


<?
function com_uninstall() {
echo "Vielen Dank für die Benutzung. Die Komponente wurde nun deinstalliert. Bei
Fragen oder Anmerkungen wenden Sie sich bitte an hagen_39393@yahoo.de.";
}
?>

mambobuch.xml

Listing 7.12: mambobuch.xml

<?xml version="1.0" ?>


<mosinstall type="component">
<name>mambobuch</name>
<creationDate>03/29/2005</creationDate>
<author>Hagen Graf</author>

223
7 Eigene Programmerweiterungen

<copyright>GNU/GPL</copyright>
<authorEmail>hagen_39393@yahoo.de</authorEmail>
<authorUrl>www.alternative-unternehmensberatung.de</authorUrl>
<version>1.0</version>
<files>
<filename>mambobuch.php</filename>
<filename>mambobuch.html.php</filename>
</files>
<install>
<queries>
<query>DROP TABLE IF EXISTS `mos_mambo_buch`;</query>
<query> CREATE TABLE `mos_mambo_buch` (
`id` INT NOT NULL AUTO_INCREMENT,
`text` TEXT NOT NULL,
`published` TINYINT(1) NOT NULL,
PRIMARY KEY (`id`) )
</query>
</queries>
</install>
<uninstall>
<queries>
<query>DROP TABLE IF EXISTS `mos_mambobuch`;</query>
</queries>
</uninstall>
<installfile>
<filename>install.mambobuch.php</filename>
</installfile>
<uninstallfile>
<filename>uninstall.mambobuch.php</filename>
</uninstallfile>
<administration>
<menu>Mambobuch</menu>
<submenu>
<menu act="all">Eintraege bearbeiten</menu>
</submenu>
<files>
<filename>admin.mambobuch.php</filename>
<filename>admin.mambobuch.html.php</filename>
<filename>mambobuch.class.php</filename>
<filename>toolbar.mambobuch.php</filename>
<filename>toolbar.mambobuch.html.php</filename>
</files>
</administration>
</mosinstall>

Um das Installationspaket zu erzeugen, müssen Sie alle erstellen Dateien in ein Ver-
zeichnis kopieren und zu einem ZIP-Paket mit dem Namen com_mambobuch.zip ver-
packen (Abbildung 7.10).

224
7.2 Module

Abbildung 7.10: Dateien der Komponente Mambobuch

Diese ZIP-Datei können Sie nun mit dem Component Installer wie gewohnt installieren
und wenn Sie wollen, zum Download bereitstellen.

7.2 Module
Ein Modul ist jetzt wieder sehr viel einfacher. Sie benötigen zwei Dateien, eine für die
Logik, die Präsentation übernimmt ja in diesem Falle zu einem großen Teil das Temp-
late, und eine XML-Datei für den Module Installer.

7.2.1 Quellcode
mod_mambobuch.php

Listing 7.13: mod_mambobuch.php

<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );
global $mosConfig_offset;
// SQL-Anweisung, die letzten 5 Einträge aus der DB zu holen
$database->setQuery("SELECT * FROM #__mambo_buch LIMIT 5");
$rows = $database->loadObjectList();
echo "<ul>\n";
if ($rows) {
// Schleife für die Darstellung als Listelement <li></li>
foreach ($rows as $row) {
echo " <li>" . $row->text . "</li>\n";
}
echo "</ul>\n";
}
?>

225
7 Eigene Programmerweiterungen

mod_mambobuch.xml

Listing 7.14: mod_mambobuch.xml

<?xml version="1.0" encoding="iso-8859-1"?>


<mosinstall type="module" version="4.5.2">
<name>Mambobuch</name>
<author>Hagen Graf</author>
<creationDate>03/27/2005</creationDate>
<license>GNU/GPL</license>
<authorEmail>hagen_39393@yahoo.de</authorEmail>
<authorUrl>www.alternative-unternehmensberatung.de</authorUrl>
<version>1.0</version>
<description><![CDATA[<p>Mit diesem Modul werden 5 Eintraege aus der Testkomponente
Mambobuch angezeigt.</p> <p> Erstellt von <a href = mailto:hagen_39393@yahoo.de >
hagen_39393@yahoo.de </a></p><p>Viel Spass mit diesem Modul!</p><p><i><a href =
"http://www.alternative-unternehmensberatung.de" target = "_blank" > alternative-
unternehmensberatung.de </a> </i></p><p>27/03/2005</p>]]></description>
<files>
<filename module="mod_mambobuch">mod_mambobuch.php</filename>
</files>
</mosinstall>

7.2.2 Installation
Verpacken Sie die beiden Dateien in einem ZIP-Paket mit dem Namen
mod_mambobuch.zip und installieren Sie es mit dem Module Installer (Abbildung 7.11).

Abbildung 7.11: Installationsmeldung des Moduls Mambobuch

Aktivieren Sie das Modul im Site Module Manager.

226
7.3 Mambots

7.2.3 Ansicht auf der Homepage


Auf der Homepage sehen Sie jetzt die Einträge im linken Modulbereich (Abbildung
7.12).

Abbildung 7.12: Modul Mambobuch auf der Homepage

7.3 Mambots
Um die Liste durchsuchbar zu machen, benötigen Sie einen Mambot. Auch hier
erstellen Sie, wie bei dem Modul, die php-Datei mit der Logik (Listing 7.15) und die
XML-Datei mit der Beschreibung (Listing 7.16). Verpacken Sie beide Dateien in einem
ZIP-Paket bot_mambobuch.zip und installieren Sie das Paket per Mambot Installer (Abbil-
dung 7.13).

Listing 7.15: mambobuch.searchbot,php

<?php
defined('_VALID_MOS') or die('Zugriff nicht erlaubt');
$_MAMBOTS->registerFunction('onSearch','botSearchSections');
function botSearchSections($text, $phrase='', $ordering=''){
global $database, $my;
$stext = trim( $text );
if ($text == '') {
return array();
}
switch ( $ordering ) {
case 'alpha':
$order = 'text ASC';
break;
case 'category':
case 'popular':
case 'newest':
case 'oldest':
default:
$order = 'text DESC';
}
// suche SQL-String, der das Feld text nach Substrings
// durchsucht
$query = "SELECT * FROM #__mambo_buch"

227
7 Eigene Programmerweiterungen

. "\n WHERE ( text LIKE '%$text%' )"


. "\n AND published = '1'"
. "\n ORDER BY $order";
$database->setQuery( $query );
$rows = $database->loadObjectList();
$count = count( $rows );
for ( $i = 0; $i < $count; $i++ ) {
$rows[$i]->href = 'index.php?option=com_mambobucht&task=frei&id='. $rows[$i]-
>secid .'&Itemid='. $rows[$i]->menuid;
$rows[$i]->section = 'Mambobuch Liste';
}
return $rows;
}
?>

Listing 7.16: mambobuch.searchbot.xml

<?xml version="1.0" encoding="iso-8859-1"?>


<mosinstall version="4.5.2" type="mambot" group="search">
<name>mambobuch searchbot</name>
<author>Hagen Graf</author>
<creationDate>03/27/2005</creationDate>
<license>GNU/GPL</license>
<authorEmail>hagen_39393@yahoo.de</authorEmail>
<authorUrl>www.alternative-unternehmensberatung.de</authorUrl>
<version>4.5.2</version>
<description>Dieser Mambot durchsucht die Einträge der Mambobuch-
Komponente</description>
<files>
<filename mambot="mambobuch.searchbot" > mambobuch.searchbot.php </filename>
</files>
<params/>
</mosinstall>

Abbildung 7.13: Installationsmeldung des Mambobuch Mambots

Wenn Sie nun den Mambot im Menü MAMBOTS -> SITE Mambots noch aktivieren, ist
Ihre Liste über das Suchfeld auf der Homepage durchsuchbar. Nach Eingabe eines
Suchbegriffs wird das Feld text in der Datenbank durchsucht und die Ergebnisse in
der allgemeinen Suchmaske angezeigt (Abbildung 7.14).

228
7.4 Schlussbemerkung

Der Searchbot ist bewusst einfach gehalten. An dieser Fundstelle bei den Suchergeb-
nissen sollte natürlich ein Link zur Einzelansicht des Listenelementes platziert wer-
den, damit der Suchende jetzt dorthin weitergehen kann. Da wir aber in unserer
Komponente keine Einzelansicht vorgesehen haben, können wir hier natürlich keinen
Link angeben.

Abbildung 7.14: Der Searchbot Mambobuch im Einsatz

7.4 Schlussbemerkung
Dieses Kapitel sollte Ihnen eine Übersicht über die Erstellung von Komponenten,
Modulen und Mambots geben.
Weitergehende Entwicklungen lassen sich gut aus vergleichbaren Komponenten
ableiten. Beispielsweise hat unsere Komponente Mambobuch nur eine Tabellenansicht.
Suchen Sie sich eine Komponente mit Einzelansicht wie beispielsweise com_contact
und erweitern Sie Mambobuch um diese Funktionalität.
Ebenso verhält es sich mit den Parameterangaben bei Modulen. Suchen Sie sich eine
Vorlage und erstellen Sie Ihr eigenes Modul.
Was auf den ersten Blick kompliziert aussieht, entpuppt sich bei näherem Hinsehen
als durchaus durchschaubar.
Ich wünsche Ihnen viel Spaß beim Ausprobieren.

229
A Anhang
A.1 Downloads
Sie können die benötigten Softwarepakete von den jeweiligen Projektseiten down-
loaden oder aus einer Zusammenfassung auf unserer Homepage http://www.alterna-
tive-unternehmensberatung.de. Für eine lokale Installation sind die hier angebotenen
Dateipakete gut geeignet, da sich dann die Erklärungen im Buch gut nachvollziehen
lassen.
Denken Sie aber daran, dass es mit Sicherheit aktuellere Versionen auf den jeweiligen
Seiten im Internet gibt.

A.1.1 Windows
Entwicklungsumgebung xampplite  xampplite-win32-1.4.12.zip
Packprogramm Filzip  filzip.exe
IconEditor Z-Icon  zicon.zip

A.1.2 Linux
Eine Apache-, PHP-, und MySQL-Umgebung ist in jeder gängigen Linux-Distribution
enthalten und oft schon vorinstalliert.

A.1.3 Betriebssystemunabhängig

Kapitel Datei Beschreibung


2.3 MamboV4.5.2-Stable.tar.gz Mambo Quellcode Version 4.5.2
4.1.1 mos4.5.2_germani_germanf.zip Deutsche Sprachdateien
5.1.2 com_simpleboard-1.0.4-beta2.zip Forumskomponente
5.1.3 german-SB1.0.4-beta2.zip Deutsche Sprachdatei für die Forums-
komponente
5.1.5 mod_simpleboard5.zip Forumsmodul

Tabelle A.1: Downloads


A Anhang

Kapitel Datei Beschreibung


5.2.1 com_events-1.2.zip Kalenderkomponente
5.2.4 mod_events_cal-1.1-beta.zip Kalendermodul
5.2.5 bot_events_search-1.1.zip Kalender-Mambot
5.3.2 com_zoom_214_RC3.zip Bildergaleriekomponente
5.3.3 zoom_media_gallery_2.1.4RC3.zip Sprachdatei Deutsch für Bildergalerie
5.4.1 com_akocomment20.zip Kommentarkomponente
5.4.1 cb_akocommentbot.zip Mambot für Kommentarkomponente
5.5.2 MambelFish_1.5.zip Mambelfish-Komponente
5.5.2 mbf_module.zip Mambelfish-Modul
5.5.5 mbf_searchbot.zip Mambelfish-Suchmambot
6 mambobuch.zip Template
7 com_mambobuch.zip Komponente
7 mod_mambobuch.zip Modul
7 bot_mambobuch.zip Mambot
Anhang III MamboV4.5.2-API-Html.zip Mambo API

Tabelle A.1: Downloads (Forts.)

A.2 Templates
Templates bestehen aus vielen Elementen. Die wichtigsten sind die CSS-Bereiche und
die eingebetteten PHP-Befehle.

A.2.1 CSS
Es haben sich in den verschiedenen Mambo-Versionen unterschiedliche Bezeichnun-
gen für bestimmte Bereiche eingebürgert. Diese Bereiche werden in CSS auch Klassen
genannt. Ich möchte Ihnen exemplarisch vier Beispiele zeigen. Wenn eine Klasse auf-
gerufen wird, die nicht in der CSS-Datei existiert, ändert sich an der Anzeige nichts.
Durch die Vielzahl von Versionen und Erweiterungen ist es immer gut, wenn Sie in
den HTML-Code schauen und versuchen, einen Überblick über die benutzten Klas-
sen zu erhalten.

Kopfbereich
Hier sehen Sie die CSS-Befehle (Listing A.1) im Kopfbereich und die entsprechenden
Stellen auf der Homepage (Abbildung A.1). Der CSS-Code soll als Beispiel dienen. Es
sind nicht alle Stellen mit CSS-Beispielen versehen. Schauen Sie sich CSS-Dateien der
vordefinierten Templates an um weitere Beispiele zu finden.

232
A.2 Templates

Listing A.1: CSS-Befehle im Kopfbereich

.title {
font-family: sans-serif;
font-size: 20px;
font-weight: bold;
color : #000000;
margin-left: 10px;
}
.button {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-style : normal;
font-size : 10px;
font-weight : bold;
background-color : #F0F0F0;
color : #000000;
border : 1px solid #CCCCCC;
}

Abbildung A.1: Kopfbereich

Menubereich
Hier sehen Sie die CSS-Befehle im Menübereich (Listing A.2) und die entsprechenden
Stellen auf der Homepage (Abbildung A.2).

Listing A.2: CSS-Befehle im Menübereich

table.moduletable th {
font-size : 11px;
font-weight : bold;
color : #000000;
text-align : left;
width : 100%;
letter-spacing: 2px;
text-indent: 5px;
padding-bottom: 3px;
}
a.sublevel:link, a.sublevel:visited {
padding-left: 1px;
vertical-align: middle;
font-size: 11px;

233
A Anhang

color: #ff6600;
text-align: left;
}
a.sublevel:hover {
color: #ff9e31; text-decoration: none;
}
a.mainlevel:link, a.mainlevel:visited {
display: block;
color: #ffffff;
font-weight: bold;
background-image: url(../images/menu_bgr.png);
background-repeat: no-repeat;
width: 95%;
text-indent: 15px;
text-decoration: none;
font-family: Verdana, Helvetica, Arial, sans-serif;
line-height: 20px;
margin-bottom: 1px;
}
a.mainlevel:hover {
color: #333333;
}
.inputbox {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 10px;
color : #000000;
background-color : #F0F0F0;
border : 1px solid #CCCCCC;
}
a:link, a:visited {
color: #ff6600;
text-decoration: none;
}
a:hover {
color: #ff3300;
text-decoration: underline;
}

234
A.2 Templates

Abbildung A.2: Menübereich

Inhaltselemente
Hier sehen Sie die CSS-Befehle (Listing A.3) im Inhaltsbereich und die entsprechen-
den Stellen auf der Homepage (Abbildung A.3).

Listing A.3: CSS-Befehle Inhaltselemente

.createdate {
font-family : Arial, Helvetica, sans-serif;
font-size : 10px;
color : #999999;
text-align : left;
}
.contentheading {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 12px;
font-weight : bold;
color : #ff9900;
text-align : left;
}
.small {
font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 10px;
color : #999999;
text-decoration : none;
font-weight : bold;
}
.contentpane {
background : #dedede;
}

235
A Anhang

tr, td, p, div {


font-family : Verdana, Arial, Helvetica, sans-serif;
font-size : 11px;
color : #333333;
}

Abbildung A.3: Inhaltselemente

News-Übersicht
Hier sehen Sie die CSS-Befehle in der News-Übersicht und die entsprechenden Stellen
auf der Homepage (Abbildung A.4).

Listing A.4: CSS-Befehle News-Übersicht

.sectiontableheader {
background-color : #CCCCCC;
color : #333333;
font-weight : bold;
}
.sectiontableentry1 {
background-color : #F0F0F0;
}

236
A.2 Templates

Abbildung A.4: News-Übersicht

A.2.2 PHP und andere Einschübe in der index.php

PHP Code Wirkung


<?php Erste Zeile.
defined( '_VALID_MOS' ) or die( 'Direct Access to this Hier wird ein direkter Zugriff auf die
location, is not allowed.' ); Datei unterdrückt und der korrekte
$iso = explode( '=', _ISO ); XHTML Header gesetzt.
echo '<?xml version="1.0" encoding="'. $iso[1] .'"?'
.'>';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti-
onal//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
HEAD
<?php mosShowHead(); ?> Erzeugung der Metatags wie in der
Global Configuration festgelegt
if ( $my->id ) { Initialisierung des WYSIWYG-Editors
initEditor();
}
<meta http-equiv="Content-Type" content="text/html; Angabe des korrekten Inhaltstyps
<?php echo _ISO; ?>" />
<link href = "<?php echo $mosConfig_live_site; ?>/tem- Setzen der CSS-Datei
plates/rhuk_solarflare_ii/css/template_css.css"
rel="stylesheet" type="text/css"/>
BODY
<?php mosPathWay(); ?> Der Pfad der Seite

Tabelle A.2: PHP-Einschübe in der index.php

237
A Anhang

PHP Code Wirkung


mosLoadModules ( '[ort]', [, $style]) Laden des Moduls an der Position [ort].
$style ist:
0 Modul wird in einer Tabellenspalte dargestellt
(<td>...</td>)
1 Modul wird horizontal in einer Zelle dargestellt
-1 Modul wird ohne umgebende Tabelle darge-
stellt
-2 Modul wird im barierrefreien xMambo-Format
dargestellt (<div>...</div>)
mosCountModules( '[ort]' ) Zählen der Module an der Position [ort]
<?php mosMainBody(); ?> Inhaltsbereich
<?php include_once( $GLOBALS[ Fußzeile
'mosConfig_absolute_path' ] . '/in-
cludes/footer.php' ); ?>

Tabelle A.2: PHP-Einschübe in der index.php

A.3 Mambo API


Die API (Application Program Interface) beschreibt, an welcher Stelle welche Funk-
tionen im Quellcode vorhanden sind und was sie tun. Sie besteht aus statischen
HTML-Seiten, die automatisch aus dem Quellcode erzeugt werden. Sie können die
Datei MamboV4.5.2-API-Html.zip an beliebiger Stelle auspacken und durch einen Dop-
pelklick auf die Datei index.html starten. Wenn Sie vorhaben, eigene Komponenten zu
entwickeln, so ist die API ein gutes Nachschlagewerk (Abbildung A.5).

A.4 Admin-Passwort vergessen?


Wenn Sie Ihr Admin-Passwort vergessen haben, können Sie es in der Datenbank
direkt ändern. Dazu benötigen Sie ein Tool wie phpMyAdmin. In der xampplite-
Umgebung rufen Sie es über den URL http://localhost/phpmyadmin in Ihrem Browser
auf.
Wählen Sie dort die von Ihnen benutzte Datenbank aus. In dieser Datenbank befindet
sich eine Tabelle mos_users. Suchen Sie in dieser Tabelle den Benutzer admin.
Das Passwort ist mit dem MD5-Verfahren verschlüsselt1. Sie können es ändern,
indem Sie in der Optionsliste links neben dem Feld den Eintrag MD5 auswählen und
das Passwort im Klartext eingeben (Abbildung A.6).
Viele Provider bieten Ihnen ebenfalls phpMyAdmin zur Pflege Ihrer Datenbank an.

1 http://de.wikipedia.org/wiki/MD5

238
A.4 Admin-Passwort vergessen?

Abbildung A.5: Mambo API

Abbildung A.6: Admin-Passwort ändern

239
Danke
In der Einleitung habe ich Ihnen erzählt, dass das Buch auf einer Reise entstanden ist.
In diesem Zusammenhang möchte ich mich bei vielen Cafébesitzern bedanken, die
mir zumeist unentgeltlich eine Steckdose für den Computer überlassen haben. Ich
möchte die Hotspot-Betreiber ermuntern, mehr Plätze mit WLAN-Zugang auf der
Welt zu schaffen und den Zugang nicht zu teuer zu machen. Ein sehr freundliches
Beispiel ist in diesem Zusammenhang die Fa. Wifirst1 in Paris, die gemeinsam mit
dem Metro-Betreiber RATP2 ein erschwingliches WLAN an vielen Punkten in Paris
betreibt.
Außerdem danke ich meiner Tochter Isabell3 und meiner Frau Christine für ihre Mit-
hilfe beim Korrekturlesen. In diesem Zusammenhang übrigens ein Lob an die Fa.
Skype4 und an das Projekt Jabber5, beide haben unsere Art der Korrektur erst möglich
gemacht.
Bei Alex Kempkens6, Development Team Member von Mambo, Autor der Mambelfish-
Komponente und Fachlektor in diesem Buchprojekt, bedanke ich mich für viele Tipps
und das geduldige Lesen des Manuskripts. Ohne die integrative Kraft von Boris Kar-
nikowski, Lektor des Buches bei Addison Wesley, hielten Sie es sicher noch nicht in
Ihren Händen.
Und bei Ihnen, lieber Leser und liebe Leserin, möchte ich mich auch herzlich bedan-
ken. Melden Sie sich mal und schreiben Sie mir, wie Ihnen das Buch gefallen hat.

April 2005
Hagen Graf (hagen@sit2000.de)

1 http://www.wifirst.fr/
2 http://www.ratp.fr/
3 http://www.isapisa.de/
4 http://www.skype.com/
5 http://www.jabber.org
6 http://www.thinknetwork.com/
Stichwortverzeichnis
Symbole Corporate Behaviour 193
.htaccess 78 Corporate Communication 193
Corporate Design 193
A Corporate Identity 193
Admin-Passwort 40, 74, 238 Corporate Image 193
Administrator 87 CRM 15
Module 142 CSS 193
Templates 84 Customizing 55
Affiliate 116
AkoComments 182 D
Album Manager 175 Dateien-Browser 160
Apache 17 Debian 33
apt 33 Debug-Modus 68
Arbeitsbereich 63 DMS 15
Archive Manager 111 DOCMan 191
Auflösung 196 Dokumentenmanagement 191
Aufmacher 94 Dokumentenverzeichnis 31
ausgecheckt 149 Dreamweaver-Extension 206
Author 86
Avatar 164 E
E-Cards 182
B ECMS 15
Backend 19 Editor 87
Banner 48, 113, 133 eingecheckt 149
Barrierefreiheit 191 Email Cloaking 146
Benutzerprofil 164 ERP 15
Bilder verschieben 180 Event Mambot 172
Bilder-Browser 160 Events 165
Bildergalerie 151 Extended Markup Language (siehe XML)
Blogs 94
F
C Favicon 69
Cache 77 Firefox 128
Category Manager 100, 110 Forum 151
CI 193 Frontend 19, 43
Code Support 145 Frontpage 47, 103, 111
Components 112 Manager 111
Contacts 116
Content 94, 97 G
Content Management System (CMS) 15 GeSHi 146
Control Panel 63 Global Check-in 149
Stichwortverzeichnis

Global Configuration 66 Mass Mail 121


GNU/GPL 17 Media Manager 79
mehrsprachige Seiten 151
H Mehrsprachigkeit 185
HRM 15 Messages 148
HTML 193 Metadaten 75
Miro 19
I Module 130
Inbox 148 kopieren 142
Infobar 62 MOS Image 145
Install 112 MOS Pagebreak 147
Installation 27 MOS Pagination 147
Installationspaket 223 MOS Rating 146
Installers 147 MosDBTable 219
MSAS 32
J MySQL 17
Java Applet 176
Java Script 61 N
News Feeds 122
K Newsflash 139
Kalender 151, 165
Kategorie 94 O
Knoppix 33 Online-Shop 151, 190
Kommentare 151, 182
Komponenten 20, 112, 207 P
PDF 72
L PHP 17
LAMP 17 phpBB 18
Language Editor 57 phpMyAdmin 18
Language Manager 57, 79 phpShop 190
Latest News 140 Polls 124, 138
Legacy Mambot 145 Popular 141
Lightbox 181 Position 132
Linkliste 129 Preview 81
Links 94 Publish 92
Linux 32 Publisher 87
Live Bookmarks 128
Live Site 74 R
Load Module 147 Random Image 139
Login 49 Registered 86
Login Form 134
Lokale Installation 34 S
Schlagwörter 76
M Search Engine Optimization 78
Mambelfish 185 Search Mambots 147
Mambo CMS 19 Section 94
Mambo Open Source 19 Manager 109
Mambo Stand Alone Server 32 SEF 146
Mambo-Administration 61 SEO 78
Mambo-Versionen 22 Separator 95
Mambo-Webinstaller 37 Serverumgebung 28
Mambots 106, 144, 227 Simpleboard 152
Manager 87 Site Modules 131

244
Stichwortverzeichnis

Site Templates 82 W
Sprachdatei 55 WCMS 15
Static Content Manager 104 Weblinks 129
Statistikdaten 81 Werkzeugleiste 62
Statistikfunktionen 77 Who's Online 138
suchmaschinenfreundliche URLs 78 Wiki 46
Superadministrator 87 Workflow 20
SUSE 9.1 32 Workspace 63
Syndicate 125, 136 World Wide Web Konsortium 193
System 148 Wrapper 95, 137
WYSIWYG-Editor 69
T
Tables 94 X
Template 20, 195 XAMPP 28
Template Chooser 133 XHTML 193
Template Manager 82 xMambo 192
Template-Paket 204 XML 125, 193, 195
TinyMCE 69
Toolbar 62 Y
Trash Manager 84 YaST 32

U Z
Umfragen 49, 124 Zoom Media Gallery 173
Uninstall 112 Zugriffsrechte 19
Unpublish 92
User Manager 85

245
... aktuelles Fachwissen rund,
um die Uhr – zum Probelesen,
Downloaden oder auch auf Papier.

www.InformIT.de

InformIT.de, Partner von Addison-Wesley, ist unsere Antwort auf alle Fragen
der IT-Branche.

In Zusammenarbeit mit den Top-Autoren von Addison-Wesley, absoluten


Spezialisten ihres Fachgebiets, bieten wir Ihnen ständig hochinteressante,
brandaktuelle Informationen und kompetente Lösungen zu nahezu allen
IT-Themen.

wenn Sie mehr wissen wollen ... www.InformIT.de


Copyright
Daten, Texte, Design und Grafiken dieses eBooks, sowie die eventuell angebotenen
eBook-Zusatzdaten sind urheberrechtlich geschützt. Dieses eBook stellen wir
lediglich als persönliche Einzelplatz-Lizenz zur Verfügung!
Jede andere Verwendung dieses eBooks oder zugehöriger Materialien und
Informationen, einschliesslich
• der Reproduktion,
• der Weitergabe,
• des Weitervertriebs,
• der Platzierung im Internet,
in Intranets, in Extranets,
• der Veränderung,
• des Weiterverkaufs
• und der Veröffentlichung
bedarf der schriftlichen Genehmigung des Verlags.
Insbesondere ist die Entfernung oder Änderung des vom Verlag vergebenen
Passwortschutzes ausdrücklich untersagt!

Bei Fragen zu diesem Thema wenden Sie sich bitte an: info@pearson.de

Zusatzdaten
Möglicherweise liegt dem gedruckten Buch eine CD-ROM mit Zusatzdaten bei. Die
Zurverfügungstellung dieser Daten auf unseren Websites ist eine freiwillige Leistung
des Verlags. Der Rechtsweg ist ausgeschlossen.
Hinweis
Dieses und viele weitere eBooks können Sie rund um die Uhr
und legal auf unserer Website

http://www.informit.de
herunterladen