307
Joomla!

Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Embed Size (px)

Citation preview

Page 1: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Joomla!

Page 2: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

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 Marc Delisle 260 S. Euro 19,95 (D), 20,60 (A) ISBN 3-8273-2250-2

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.

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

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 Pro-grammierung 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.

Page 3: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Hagen Graf

Websites organisieren und gestalten mit dem Open Source-CMS

An imprint of Pearson EducationMünchen • Boston • San Francisco • Harlow, England

Don Mills, Ontario • Sydney • Mexico CityMadrid • Amsterdam

Addison-Wesley Verlag
© Copyright-Hinweis
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: [email protected] 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.
praktit01
Notiz
Completed festgelegt von praktit01
praktit01
Notiz
MigrationConfirmed festgelegt von praktit01
Page 4: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Die Deutsche Bibliothek – CIP-Einheitsaufnahme

Die Deutsche Bibliothek verzeichnet diese Publikation in der DeutschenNationalbibliografie; 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 und weitere Stichworte und sonstige Angaben, die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt. Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das ® Symbol in diesem Buch nicht verwendet.

Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt.

10 9 8 7 6 5 4 3 2 1

07 06

ISBN 3-8273-2344-4

© 2006 by Addison-Wesley Verlag,ein Imprint der Pearson Education Deutschland GmbH Martin-Kollar-Straße 10–12, D-81829 München/GermanyAlle Rechte vorbehaltenEinbandgestaltung: Marco Lindenbeck, webwo GmbH ([email protected])Lektorat: Boris Karnikowski, [email protected]: Alexander Kempkens, MünchenKorrektorat: Marita Böhm, MünchenHerstellung: Monika Weiher, [email protected]: reemers publishing services gmbh, KrefeldDruck: Bercker Graph. Betrieb, KevelaerPrinted in Germany

Page 5: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsübersicht

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1 Begriffe und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3 Ein Rundgang durch Ihre neue Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 Joomla! anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Nützliche Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

6 Joomla!-Templates selbst schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

7 Eigene Komponenten, Module und Mambots . . . . . . . . . . . . . . . . . . . . . . . . . 257

A Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

Danke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Page 6: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 7: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Wer bin ich? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Wie arbeiten Sie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Wie ändert sich die Hard- und Software, die wir benutzen? . . . . . . . . . 14

Was bedeutet das für Ihre Website? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Worum geht es in diesem Buch? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Was ist Joomla!? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Was können Sie, nachdem Sie dieses Buch durchgearbeitet haben? . 16

Noch Fragen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1 Begriffe und Konzepte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.1 Contentmanagementsystem (CMS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 Ein kurzer Blick in die Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.1 Joomla! – wie kam es dazu? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1.3 Struktur eines CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.3.1 Front- und Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.3.2 Zugriffsrechte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.3 Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.4 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.5 Erweiterungen (Komponenten) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.6 Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.7 Konfigurationseinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.4 Joomla! als Immobilie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

1.4.1 Joomla!-Versionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.4.2 Nummerierungssystem der Joomla!-Versionen . . . . . . . . . . . . . . . . . . 25

1.4.3 Zeitleiste (Roadmap) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.4.4 Joomla!-Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.4.5 Beispiele für Joomla!-Seiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.1 Lokale Serverumgebung einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.1.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2.1.2 Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Page 8: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

8

2.2 Auf einem virtuellen Server im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.3 Joomla! installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.1 In welches Verzeichnis installieren? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2.3.2 Lokale Installation von Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3 Ein Rundgang durch Ihre neue Website . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.1.1 Menüs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.1.2 Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.1.3 Werbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.1.4 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.1.5 Dekorative Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.1.6 Aussichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4 Joomla! anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.1 Eine andere Sprache für das Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.1.1 Installation einer anderen Sprachdatei . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.1.2 Übersetzen eines Menüeintrags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.1.3 Ändern der Menübezeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.1.4 Ändern des Templates für Ihre Website . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.2 Aufbau der Joomla!-Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.3 Menü Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.4 Menü Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.4.1 Site – Global Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.4.2 Site – Language Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

4.4.3 Site – Media Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.4.4 Site – Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

4.4.5 Site – Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.4.6 Site – Template Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

4.4.7 Site – Trash Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

4.4.8 Site – User Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

4.5 Menü Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.5.1 Vorhandenes Menü anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

4.5.2 Neues Menü erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Page 9: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

9

4.6 Menü Content . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

4.6.1 Content By Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

4.6.2 All Content Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

4.6.3 Static Content Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

4.6.4 Section Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

4.6.5 Category Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

4.6.6 Frontpage Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

4.6.7 Archive Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

4.7 Menü Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

4.7.1 Install/Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

4.7.2 Banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

4.7.3 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

4.7.4 Mass Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

4.7.5 Newsfeeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

4.7.6 Polls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

4.7.7 Syndicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

4.7.8 Weblinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

4.8 Menü Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

4.8.1 Install/Uninstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

4.8.2 Site Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

4.8.3 Modul kopieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

4.8.4 Administrator-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

4.9 Menü Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4.9.1 Install New Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

4.9.2 Site Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

4.10 Menü Installers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

4.11 Menü Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.11.1 Inbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.11.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.12 Menü System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

4.12.1 Global Check-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

5 Nützliche Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

5.1 Forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5.1.1 Was kann Simpleboard? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

5.1.2 Installation von Simpleboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

5.1.3 Administration von Simpleboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

Page 10: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

10

5.1.4 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

5.1.5 Simpleboard-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

5.2 Kalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

5.2.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

5.2.2 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

5.2.3 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

5.2.4 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

5.2.5 Event Mambot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5.3 Galerie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

5.3.1 Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

5.3.2 Installation Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

5.3.3 Sprache auf Deutsch ändern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

5.3.4 Administration Zoom Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

5.3.5 Benutzer Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194

5.3.6 Modul für die Zoom Media Gallery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

5.4 Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

5.4.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196

5.4.2 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

5.4.3 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

5.5 Dokumentenmanagement / Downloadbereich . . . . . . . . . . . . . . . . . . . 198

5.5.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

5.5.2 Deutsche Sprachdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

5.5.3 Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200

5.5.4 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

5.5.5 Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

5.6 Shopsystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

5.6.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

5.6.2 Deutsche Sprachdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

5.6.3 Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

5.6.4 Joomla!-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

5.6.5 Der Bestellvorgang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

5.6.6 Die Bestellungsverwaltung im Backend . . . . . . . . . . . . . . . . . . . . . . . . . 218

5.6.7 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

5.6.8 Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

5.7 Mehrsprachigkeit mit Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

5.7.1 Installation von Mambelfish (Komponente und Modul) . . . . . . . . . . . . 221

5.7.2 Konfiguration von Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Page 11: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

11

5.7.3 Übersetzung mit Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224

5.7.4 Mambot für Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

5.7.5 Eigene Komponenten in Mambelfish einbinden . . . . . . . . . . . . . . . . . . 226

6 Joomla!-Templates selbst schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

6.1 Corporate Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

6.2 HTML/XHTML, CSS, XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

6.2.1 HTML/XHTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

6.2.2 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

6.2.3 XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

6.3 Templates selbst erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

6.3.1 Konzept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

6.3.2 HTML-Umsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

6.3.3 Dateistruktur des Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

6.3.4 Erster Probelauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

6.3.5 Integration der Joomla!-Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

6.3.6 Ein Template-Paket erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

6.3.7 Installation mit dem Joomla!-Template Installer . . . . . . . . . . . . . . . . . . 240

6.4 Template mit der Dreamweaver-Extension erstellen . . . . . . . . . . . . . . . 241

6.4.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

6.4.2 Neue Template-Datei erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

6.4.3 Template-Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

6.4.4 Live-Seite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

6.4.5 Templates und DIV-Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

6.5 Barrierefreies Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

6.5.1 Kriterien für zugängliche Websites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

6.5.2 Die Realität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253

6.5.3 Ist Joomla! 1.0 standardmäßig barrierefrei? . . . . . . . . . . . . . . . . . . . . . 254

6.5.4 Gibt es Möglichkeiten, Joomla! barierrefrei zu gestalten? . . . . . . . . . . 254

7 Eigene Komponenten, Module und Mambots . . . . . . . . . . . . . . . . . . . . . . 257

7.1 Beispielkomponente joomlabuch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

7.1.1 Die MySQL-Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259

7.1.2 Das Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

7.1.3 Integration in das Hauptmenü . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

7.1.4 Die Joomla!-Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

7.1.5 Installationspaket erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

Page 12: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Inhaltsverzeichnis

12

7.2 Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

7.2.1 Quellcode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

7.2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

7.2.3 Ansicht auf der Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

7.3 Mambots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

7.4 Schlussbemerkung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

A Anhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

A.1 Online-Ressourcen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

A.2 Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

A.2.1 Betriebssystemunabhängig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284

A.3 Template-Strukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

A.3.1 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

A.3.2 PHP und andere Einschübe in der index.php Ihres Templates . . . . . . . 289

A.3.3 Wie tausche ich ein Bild (Logo) im Template aus? . . . . . . . . . . . . . . . . 290

A.4 Joomla! API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

A.5 Admin-Passwort vergessen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

A.6 Migration von Mambo zu Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292

A.6.1 Daten sichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293

A.6.2 Dateien sichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295

A.6.3 Die Quellcode-Dateien müssen aktualisiert werden . . . . . . . . . . . . . . . 295

A.6.4 Datenbank-Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

A.6.5 Zusätzliche Komponenten, Module und Mambots müssen aktualisiert werden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

A.6.6 Eventuelle eigene Programmänderungen müssen aktualisiert werden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

A.6.7 Ihre Inhalte müssen das Update ohne Schaden überdauern . . . . . . . . 299

A.6.8 Sicherheit ohne globale Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

Danke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

Page 13: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

EinleitungDieses Buch entsteht unter anderem auf einem kleinen Dorf in Sachsen-Anhalt inDeutschland. Hier gibt es kein DSL, keine öffentlichen WLAN-Hotspots, kein UMTS,keine Großkonzerne und keinen Stadtlärm.

Wer bin ich?

Mein Name ist Hagen Graf, ich bin 41 Jahre alt, ich wohne in besagtem Dorf. Ich binverheiratet mit einer Traumfrau, habe vier Töchter und führe seit August 2004 einBlog.1

Meine Arbeit besteht aus Tätigkeiten wie unterrichten, beraten, zuhören, ausprobie-ren, programmieren, Strukturen verstehen, neue Anwendungen entwickeln, hinter-fragen und immer wieder ausprobieren.

Viele dieser Tätigkeiten lassen sich online erledigen. Oftmals bin ich aber auchwochenlang unterwegs. Das heißt auch Kunden in verschiedenen Ländern, mit ver-schiedenen Sprachen und Kulturen. Lange Auto-, Bus- oder Bahnfahrten. Kurze bissehr kurze Reaktionszeiten auf E-Mail-Kundenanfragen.

Diese Art des Arbeitens hat Auswirkungen auf das, was man früher mal Büro nannte.

War es vor fünf Jahren noch üblich, alle wichtigen Dinge lokal auf dem eigenen PCabzuspeichern, so bieten verschiedene Dienstleister inzwischen beinahe unerschöpfli-chen Festplattenplatz im Internet für diese Zwecke an. Firmen setzen Terminalserverein und die Bandbreite der Internetverbindungen steigt, vielleicht auch bald in mei-nem kleinen Dorf!

Oft arbeite ich an unterschiedlichen Rechnern in unterschiedlichen Umgebungen.Mal draußen, mal drinnen. Das Endgerät, mit dem Sie und ich auf unsere Informa-tionen zugreifen, wird immer unwichtiger. Was Sie wirklich brauchen, ist eine stabile,finanzierbare Internetverbindung über WLAN, UMTS, Telefon oder Satellit, einenBrowser, einen Bildschirm, auf dem Sie bequem lesen können, eine möglichst komfor-table Tastatur und natürlich Elektrizität.

1 http://hagen.take-part.org/.

Page 14: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Einleitung

14

Sie können von überall auf der Welt auf Ihren Fundus von E-Mails, Bildern undDokumenten zugreifen. Ihr Büro befindet sich nun plötzlich dort, wo Sie sind.

Wie arbeiten Sie?

Womit Sie genau arbeiten, weiß ich natürlich nicht, aber viele Menschen, mit denenich zu tun habe, arbeiten so ähnlich, wie ich das oben beschrieben habe. Auch dieErfahrungen mit Computern ähneln sich. Meistens fängt man mit einem älteren PCund einem Windows-System in der Schule an und lernt dann aus Erfahrung die harteRealität aus Office-Anwendungen, Datenverlusten, fehlendem Hauptspeicherplatz,Festplatten, Drucker- und Konfigurationsabenteuern kennen. Wenn Sie nicht geradeeine Liebe zu diesen Dingen entwickeln und mit Leidenschaft nachts an IhremBetriebssystem herumbasteln, dann sind Sie vermutlich genau wie ich einfach nurglücklich, wenn Ihr Gerät und Ihre Anwendung funktionieren, Sie auf das Internetund Ihre Daten zugreifen und in Ruhe arbeiten können.

Wie ändert sich die Hard- und Software, die wir benutzen?

Parallel zu den beschriebenen Änderungen in Arbeitsabläufen wird natürlich Soft-ware entwickelt, die genau diese Arbeitsweise unterstützt. Browserbasierte Anwen-dungen wie E-Mail-Services, Online-Banking, Gruppenkalender, Dokumenten-managementsysteme, Communitys, Dating-Services und natürlich Online-Auktionenetc. werden immer komfortabler, ausgefeilter und benutzerfreundlicher.

Selbst mit Mobiltelefonen können Sie heute per Browser Internetseiten aufrufen, For-mulare ausfüllen und abschicken, E-Mails senden und empfangen, Fotos aufnehmenund verschicken und vieles andere mehr.

Der stationäre PC wird immer kleiner und Laptops werden immer selbstverständli-cher. Weiterentwicklungen finden in erster Linie bei drahtlosen Verbindungstechni-ken, möglichst kleinen Bauteilen und möglichst leistungsfähigen Akkus statt.

Was bedeutet das für Ihre Website?

In dieser Welt benötigt eine Firma, eine Institution, ein Verein, eine Organisationeinen Internetauftritt, der ebenfalls benutzerfreundlich und flexibel ist. Der »mit derZeit geht«, der »einfach über einen Browser zu verändern ist«, der »Ihren Akten-schrank und Ihr Adressbuch ersetzt«, der mit unterschiedlichen Endgeräten kommu-nizieren und der einfach erweitert werden kann.

Ihre Website ist der Platz, an dem Sie anderen erklären können, was Sie tun, bzw. wasIhre Firma tut. Es ist der Platz, der 24 Stunden am Tag, sieben Tage in der Wochebereitsteht, um Kundenbeziehungen zu pflegen. Bis vor kurzem war die Erstellungeiner solchen Website eine schwierige Sache. Sie mussten zwar kein ausgewiesener

Page 15: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Worum geht es in diesem Buch?

15

Spezialist sein, aber eine gewisse Form von Durchhaltevermögen kombiniert mitSpaß am Thema waren notwendig, um ein ansprechendes Ergebnis zu erzeugen. Siemussten statische HTML-Seiten in einem HTML-Editor erstellen und anschließendper File Transfer Protocol auf einen Server laden. Um auch nur simpelste Interaktivi-täten wie beispielsweise ein Gästebuch oder ein Forum zu erstellen, mussten Sie eineProgrammiersprache erlernen. Viele Menschen haben aus nachvollziehbaren Grün-den diese Mühsal nicht auf sich genommen und die Erstellung ihrer Homepage ent-weder an eine Webagentur übergeben oder das Projekt gar nicht erst angefangen.

Doch Rettung naht, denn jetzt haben Sie mit diesem Buch schon mal Ihren Reisefüh-rer durch die Welt eines der smartesten Website-Verwaltungssysteme der Welt:Joomla!

Worum geht es in diesem Buch?

In diesem Buch werde ich die Installation, die Anpassung und die Erweiterung vonJoomla! sowie das Entwickeln eigener Elemente für Joomla! und Verbindungen zuanderen Systemen beschreiben.

Was ist Joomla!?

� Joomla! ist ein von Jumla abgeleitetes Wort aus der afrikanischen Sprache Swahiliund bedeutet »alle zusammen«.

� Joomla! ist das zu Software gewordene Ergebnis einer heftigen Auseinanderset-zung zwischen der im August 2005 gegründeten Mambo Foundation und dem da-maligen Entwicklerteam.

� Joomla!2 ist die Weiterentwicklung des erfolgreichen Systems Mambo3 und wieMambo ein Stück Software, mit dem sich eine Website per Webbrowser einfachverwalten lässt.

� Joomla! ist nach eigenen Angaben ein »Cutting Edge Content Management Sys-tem« und eines der leistungsfähigsten Open Source-Contentmanagementsystemeauf der Welt. Es wird weltweit für einfache Homepages bis hin zu aufwendigenUnternehmenswebsites genutzt. Es ist einfach zu installieren, einfach zu verwaltenund sehr verlässlich.

2 http://www.joomla.org/.3 http://www.mamboserver.com/.

Page 16: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Einleitung

16

Was können Sie, nachdem Sie dieses Buch durchgearbeitet haben?

Sie werden auch als Anfänger in der Lage sein, Ihre eigene Website über einen Brow-ser zu verwalten.

Wenn Ihnen HTML, CSS und Bildbearbeitung auf dem Computer nicht fremd sind,werden Sie eigene Templates für Ihre Website gestalten können.

Wenn Sie die Programmiersprache PHP in ihren Grundzügen verstanden und schonerste Schritte damit gemacht haben, werden Sie eigene einfache Komponenten,Module und Mambots selbst entwickeln können.

Noch Fragen?

Nur zu!

Ich kann natürlich keinen E-Mail-Support für Ihre Fragen leisten. Dazu sind dieJoomla!-Foren viel besser geeignet. Wenn Sie aber wirklich nicht weiterkommen,Anmerkungen oder Fragen zum Buch haben – schreiben Sie mir einfach eine E-Mailan [email protected]!

Page 17: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und KonzepteBevor wir uns ins Joomla!-Getümmel stürzen, gestatten Sie mir, ein paar Begriffe,Konzepte und Hintergründe zu klären.

1.1 Contentmanagementsystem (CMS)

Der Begriff Contentmanagement-System enthält die englischen Begriffe Content (Inhalt)und Management (Verwaltung). Er bezeichnet also recht ungenau ein System, mit demInhalte verwaltet werden können. Ein solches System kann eine Tafel und ein StückKreide sein (Speisekarte, Schultafel), es kann aber auch so etwas wie die freie Enzyk-lopädie Wikipedia oder ein Auktionshaus wie eBay sein. In allen drei Fällen werdenInhalte verwaltet. In den letzten beiden Beispielen sogar von sehr vielen Teilnehmern.

Diese Teilnehmer spielen bei Inhaltsverwaltungssystemen eine große Rolle, einerseitsin der Funktion des Verwalters (Administrator) und andererseits in der Rolle desBenutzers (User).

Aber es kommt noch besser. Außer CM-Systemen gibt es natürlich auch nochBezeichnungen wie Enterprise Resource Planning Systems (ERP, Verwaltung von Fir-mendaten), Customer Relationship Management Systems (CRM, Pflege von Kundenkon-takten), Document Management Systems (DMS, Verwaltung von Dokumenten), HumanResource Management Systems (HRM, Personalverwaltung) und viele weitere. EinComputerbetriebssystem wie Windows oder Linux verwaltet ebenfalls Inhalte.

Durch diese inflationäre Begriffs- und Funktionsvielfalt fällt es schwer, den BegriffCMS zu definieren.

In der letzten Zeit hat sich der Begriff ECMS für Enterprise Content Management Systemetabliert. Alle anderen oben aufgeführten Abkürzungen sind dann Untermengeneines ECMS.

Joomla! fällt in die Gattung der Web-Contentmanagementsysteme (WCMS), da esausschließlich Inhalte auf einem Webserver verwaltet.

Da all diese Systeme noch relativ neu in der Unternehmenswelt sind, werden sich dieBedeutungen sicher noch weiterentwickeln. Grundsätzlich wird es aber immer einIntegrationssystem geben, das versucht, alle Systeme miteinander zu verbinden.

Page 18: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

18

Im allgemeinen Sprachgebrauch wird der Begriff Content Management meist imZusammenhang 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 90er Jahren behauptete: »Der Computer ist das Netz«,wollte die Firma Microsoft erst ruhen, wenn auf jedem Schreibtisch ein Computer mitWindows steht.

Der Rechner, um den es Microsoft ging, war immer eine Mixtur aus Datendateien undBinä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 meisten 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 einemZugang ins Internet. Die Programme und die Daten sollten sich nicht auf diesemRechner 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 sind nicht reine Menschenfreundlichkeit, son-dern wirtschaftliches Interesse. Microsoft verkaufte in erster Linie im Konsumenten-bereich Software für PCs, Sun dagegen im Unternehmensumfeld Serverhardwareund die passenden Programme dazu.

Mitte der 90er Jahre erfolgte die explosionsartige Verbreitung des eigentlich schon inden 60er Jahren erfundenen Internets unter anderem durch HTML (HyperText MarkupLanguage, die Sprache, in der Webseiten geschrieben werden) und die Entwicklungvon Webservern und Webclients (Browsern).

Das Internet selbst ist nur ein Satz von Spielregeln, der von verschiedenen Gerätenverstanden und so geschickt kombiniert wurde, dass dieses Netz in kürzester Zeitden gesamten Planeten überzog.

Ohne eine E-Mail-Adresse war der einzelne Mensch nicht erreichbar und ohne eineHomepage war eine Firma nicht nur altmodisch, sondern in den Augen vieler Kun-den 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 ausder unser-Welt.

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

Page 19: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.2 Ein kurzer Blick in die Geschichte

19

Diejenigen, die es gewohnt waren, Programme zu kaufen, kauften HTML-Editorenund erstellten damit Internetseiten. Die anderen schrieben den HTML-Code meist lie-ber gleich selbst in einem ohnehin vorhandenen Texteditor. Die Webagentur wargeboren, bei der man Homepages in Auftrag geben konnte.

Beide Gruppen hatten allerdings das Problem, dass HTML-Seiten statisch sind. Umden Inhalt der Seite zu ändern, muss man sie am heimischen PC bearbeiten unddanach wieder auf den Server kopieren.

Das war nicht nur unbequem und teuer, damit waren auch Webauftritte wie solchevon 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 wurden dann per automatisiertes Verfahren aufden Server geladen. In die Seiten wurden interaktive Elemente wie Besucherzähleru.Ä. eingebaut.

Die unser-Fraktion entdeckte Java Applets und damit die Möglichkeit, ein Programmzu 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 dasrichtige Betriebssystem (Windows, Linux, Mac OS X) ständig die Versionsnummernder Programme hochtrieben und sich die Kunden daran gewöhnten, dass alles nichtso einfach ist.

In solchen Situationen gibt es immer einen dritten Weg. In unserem Fall ist das unteranderem die Entstehung von Open Source-Scriptsprachen wie PHP3. Rasmus Lerdorfhatte das Ziel, seine Homepage mit interaktiven Elementen zu versehen, und herauskam eine neue Programmiersprache. PHP wurde von Anfang an optimiert auf dieperfekte Zusammenarbeit mit der Datenbank MySQL, die ebenfalls unter derGNU/GPL4 stand.

Glücklicherweise gab es das Betriebssystem Linux und einen Webserver namensApache, die die benötigte Infrastruktur auf dem Server boten. Das Anzeigemediumbeim Kunden war der Browser, der mit Sicherheit vorhanden war. LAMP (Linux,Apache, MySQL, PHP) wurde bald das Synonym für datenbankgestützte, interaktiveAuftritte 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-tys, Online-Shops, Voting-Seiten und Ähnliches.

Nach den »harten« Sachen wie Linux und Apache entstanden nun die »weichen« Pro-dukte.

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

Page 20: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

20

Die 90er Jahre neigten sich dem Ende, die Internet-Aktienblase platzte und plötzlichkam es darauf an, ganz klassische Geschäftsmodelle mit ganz klassischen Methodenzu 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 dieMillionen gingen. Als Beispiele seien hier nur die Projekte phpBB5 und phpMyAdmin6

genannt. Das eine hat sich zum Quasistandard für Forensoftware entwickelt, dasandere zum Standardtool für das Bearbeiten von MySQL-Datenbanken per Webinter-face.

Der Quellcode der Sprache PHP selbst wie auch der Quellcode der Anwendungenwurden dank der enormen Anzahl von Nutzern und Entwicklern immer schnellerimmer besser. Je offener ein Projekt gestaltet wurde, desto mehr Erfolg hatte 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, MySQLund PHP sind in der Industrie akzeptiert. Die Suche nach professionell verwertbarenPHP-Anwendungen begann.

Bei dieser Suche schaut man auf:

� eine einfache Installation

� eine gute Wartbarkeit des Quellcodes

� Sicherheit des Quellcodes

� Benutzerfreundlichkeit

� einfache Erweiterbarkeit

� Kosten

� Abhängigkeit vom Lieferanten

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ürden Apple und auf zahlreichen anderen Plattformen

Und jetzt kommt endlich unser Joomla! ins Spiel.

1.2.1 Joomla! – wie kam es dazu?

Die australische Firma Miro7 entwickelte im Jahre 2001 ein Contentmanagementsys-tem mit dem Namen Mambo. Sie stellte dieses System als Open Source-Software zurVerfügung, um es auszutesten und für eine weitere Verbreitung zu sorgen. Im Jahre

5 http://www.phpbb.com/.6 http://www.phpmyadmin.net/.7 http://www.miro.com.au/.

Page 21: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.2 Ein kurzer Blick in die Geschichte

21

2002 spaltete die Firma ihr Produkt Mambo in eine kommerzielle und eine OpenSource-Version auf. Die kommerzielle Variante nannte man Mambo CMS, die OpenSource-Version Mambo Open Source oder kurz MOS. Ende 2004 einigten sich alleBeteiligten darauf, dass MOS ganz offiziell Mambo genannt werden dürfe und dassman gemeinsam eine erfolgreiche Zukunft für das sich momentan am schnellsten ent-wickelnde CMS gestalten wolle.8

Um die Existenz und Weiterentwicklung von Mambo zu sichern, gab es im Laufe desJahres 2005 auf allen Seiten Überlegungen, eine Stiftung für die Open Source-Variantevon Mambo einzurichten.

Am 10.8.2005 war es dann soweit: Auf der Mambo-Projektseite wurde die Mambo-Foundation angekündigt. Nach positiven Reaktionen in den ersten Stunden danachstellte sich ziemlich schnell heraus, dass die Stiftung von Miro in Australien gegrün-det und dass das Entwicklerteam nicht in die Gründungsmodalitäten einbezogenworden war. Daraufhin entbrannten heiße Diskussionen in den Foren der Commu-nity und ein paar lange Tage hüllte sich das Entwicklerteam in Schweigen.

Am 17.8.2005 veröffentlichte es schließlich eine Stellungnahme unter der URL open-sourcematters.org und kündigte an, dass es sich vom neutralen Software Freedom LawCenter9 beraten lassen würde und eine Weiterentwicklung von Mambo plane.

Wie in einer zerrütteten Ehe entwickelte sich schnell ein Rosenkrieg zwischen der vonMiro dominierten Mambo Foundation, der plötzlich das Entwicklungsteam abhan-den gekommen war, dem Entwicklungsteam selbst, das natürlich einen neuenNamen für den Fork benötigte, und einer erhitzten internationalen Community vonhunderttausenden von Benutzern, die sich teilweise mit harten Worten in Blogs,Foren und den jeweiligen Projektseiten beharkten.

Die Entwicklung beider Projekte lief unterdessen weiter. Die Mambo Foundationstellte am 26.8.2005 die Beta-Version von Mambo 4.5.3 vor, die in den einschlägigenForen nicht sehr gut aufgenommen wurde.

8 http://mamboserver.com/The_News/News/Mambo_and_Miro_Reunite/.

HinweisHinweis

Die Vorteile der kommerziellen Variante liegen für Firmen in ersterLinie in der erhöhten Sicherheit und in der Tatsache, dass sie dieFirma Miro als Ansprechpartner haben, die auch die weitere Ent-wicklung unterstützt.

Die Vorteile der Open Source-Version sind, dass sie »frei« ist undeine riesige Gemeinde von Benutzern und Entwicklern für einezügige Weiterentwicklung sorgt. Außerdem ist es für Unternehmennatürlich möglich, Mambo als Basis zu nehmen und darauf aufbau-end eigene Lösungen zu entwickeln.

9 http://softwarefreedom.org/.

Page 22: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

22

Am 1.9.2005 wurde der Name für den Fork bekannt gegeben – Joomla!. Diesmalsicherte sich das Entwicklerteam die Namensrechte und gab der Community auch dieMöglichkeit, ihre vorhandenen Mambo-Domains auf den neuen Namen umzustellen,bevor er öffentlich verkündet wurde. Im neuen Forum hatten sich in kürzester Zeitetwa 8.000 Benutzer registriert.

Das neue Projekt benötigte ein Logo und so wurde am 7.9.2005 ein Wettbewerb in derCommunity ausgerufen. Am 14.9.2005 wurden verschiedene Logovorschläge veröf-fentlicht und die neue (alte) Community darum gebeten, über das neue Joomla!-Logoabzustimmen. Die Vorschläge und Ergebnisse sind natürlich online zu finden.10

Am 13.9.2005 stellte die Mambo Foundation ihr neues Entwicklerteam vor.

Am 17.9.2005 wurde die Version 1.0 von Joomla! veröffentlicht.

Nach und nach wechselten viele der sogenannten Third-Party-Entwickler ebenfallsvon Mambo zu Joomla!. (Ein Third-Party-Entwickler ist jemand, der auf einer Basiswie Joomla! aufbaut, um eigene Erweiterungen zu erstellen, beispielweise ein Forumoder eine Bildergalerie.)

Die Firma VA Software11, die unter anderem die Entwicklerseite sourceforge.netbetreibt, entschied, die Serverinfrastruktur des Joomla!-Projekts zu sponsern.

Als vorläufigen Höhepunkt gewann Joomla! im Oktober auf der Linuxworld in Lon-don zwei Preise: Zum einen für das beste Linux- bzw. Open Source-Projekt im Jahre2005 und zum anderen erhielt Core Member Brian Teeman einen Preis für seine Unter-stützung von Open Source-Projekten (UK Individual Contribution to Open Source).

Seit dem 11.10.05 gibt es in Deutschland mit einem Online-Magazin eine kompetentedeutschsprachige Ressource zum Thema Joomla!.12

Eine ausführliche Zusammenfassung der Ereignisse in englischer Sprache finden Sieim Internet unter http://www.devshed.com/c/a/BrainDump/Joomla-is-the-New-Mambo/.

1.3 Struktur eines CMS

1.3.1 Front- und Backend

Ein CMS besteht aus einem Frontend und einem Backend. Das Frontend ist dieHomepage, wie sie der Besucher und der angemeldete Benutzer sehen.

Das Backend dagegen beinhaltet die Verwaltungsoberfläche der Homepage für denAdministrator. Im Backend wird konfiguriert, gepflegt, aufgeräumt, werden Statisti-ken erstellt und neue Inhalte erzeugt. Das Backend findet man unter einem anderenURL als die Homepage.

10 http://forum.joomla.org/index.php/topic,5953.0.html.11 http://www.vasoftware.com/.12 http://www.joomlamagazin.de/.

Page 23: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.3 Struktur eines CMS

23

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 zu-geordnet und diese mit unterschiedlichen Zugriffsrechten versehen. Das geht voneinem einfachen registrierten Benutzer über einen Autor und Editor bis hin zumSuperadministrator, der alles darf. Abhängig von den Rechten erscheint die Home-page dann mit anderen Inhalten oder der Benutzer arbeitet in der von der Homepagegetrennten Verwaltungsoberfläche.

1.3.3 Inhalte

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

1.3.4 Templates

Ein Template ist eine Art visuelle Schablone, die über die Inhalte gelegt wird. Ein Tem-plate definiert die Farben, Schriftarten, Schriftgrößen, Hintergrundbilder, Abständeund Aufteilung der Seite und somit alles, was mit dem Erscheinungsbild der Seite zutun hat.

1.3.5 Erweiterungen (Komponenten)

Jedes System muss erweiterbar sein und mit den Anforderungen wachsen. Unter denBegriff 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 dergewünschten Form im Template zu integrieren. Ein Letzte Neuigkeiten-Modul liefertbeispielsweise die Überschriften der neuesten fünf Nachrichten an das Template. Einanderes 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 Backeneines Kuchens ist ein Workflow. Da bei einem CMS meist mehrere Menschen dieInhalte bearbeiten, ist ein gut organisierter Workflow eine echte Hilfe.

Page 24: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

24

Manchmal spricht man in diesem Zusammenhang auch von Arbeitsvorräten, die einbestimmter User hat. Beispielsweise sieht der Editor eine Liste von geposteten Neuig-keiten, die er auf Richtigkeit zu untersuchen hat. Nach der Prüfung schaltet er dieNeuigkeiten frei und diese 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. Dazugehö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 Joomla! als Immobilie?

Joomla! ist eine Art Baukasten, mit dem Sie, wenn es einmal auf dem Server installiertist, Ihre Homepage erstellen und pflegen können. Joomla! ist wie ein Haus, das Siesich auf einem Grundstück Ihrer Wahl bauen und nach und nach einrichten. Alsogewissermaß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 aneinem Ort (Ihrem Server), ist aber von jedem anderen Ort aus zugänglich. Um eineImmobilie bewohnbar zu machen, brauchen Sie lebensnotwendige Versorgungsleis-tungen wie Heizung, Strom und Wasserversorgung. Das ist der Grund, warum IhrJoomla! in einem möglichst sicheren Server deponiert wird, bei dem hoffentlich nieder Strom ausfällt.

Wie bei einem Haus haben Sie auch in Joomla! eine bestimmte Raumaufteilung. Siehaben einen Raum zum Repräsentieren, einen zum Kochen und Reden, einen zumArbeiten und einen ganz privaten, den Sie nur guten Freunden zeigen. Vielleichthaben 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 andie Wand hängen und natürlich auch regelmäßig sauber machen. Die vielen Gästehinterlassen ja Spuren, die nicht immer erwünscht sind.

Damit Besucher Ihr Haus auch finden, braucht es eine Adresse, unter der es gefundenwerden kann. Diese Adresse muss möglichst vielen Menschen bekannt sein. Da es imInternet kein Einwohnermeldeamt gibt, müssen Sie sich selbst um das Thema »Wiewerde ich gefunden« kümmern.

Vielleicht haben Sie um Ihr Haus herum auch einen Garten mit verschiedenen Ein-gangstoren – einem offiziellen Eingangsportal, einem Hintereingang und vielleichtnoch einer kleinen verwitterten Gartenpforte für die guten Freunde.

Page 25: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.4 Joomla! als Immobilie?

25

Vielleicht mögen Sie ja solche Häuser gar nicht und benutzen eher Bauwagen, Zelte,Wohnmobile, Hotels oder bevorzugen Wohngemeinschaften. Vielleicht wohnen Sieauch 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 eswichtig 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 verstandenwerden.

Also planen Sie Ihr virtuelles Haus im Internet genau. Denken Sie über die Texte undüber die Farbgestaltungen nach, über mögliche interaktive Elemente wie einen Kalen-der oder ein Forum und natürlich einen Bereich, den nur registrierte Benutzer sehendürfen.

Denken Sie an Benutzerführungen, die Benutzer führen und nicht bevormunden, undschauen Sie sich mal um, wie andere es machen.

Reden Sie mit den Menschen, die Sie mit Ihrer Homepage ansprechen wollen, undinvestieren Sie viel Herzblut in diese Dinge, die ganz entscheidend für den ErfolgIhres Auftritts sind.

1.4.1 Joomla!-Versionen

Bei Joomla! gibt es wie bei jeder Software verschiedene Entwicklungsstufen. DasJoomla!-Team veröffentlichte am 1.9.2005 eine Roadmap13 und startete mit der Ver-sion Joomla! 1.0, mit der sich auch dieses Buch befasst.

Die erste Joomla!-Version erhält konsequenterweise die Nummer 1.0, um nicht mitbestehenden Mambo-Versionen verwechselt zu werden. Die Version 1.0 ist eine über-arbeitete Version der letzten Mambo-Version 4.5.2.3. Die Überarbeitung bezieht sichauf den anderen Namen, bekannte Fehler und Sicherheitspatches.

1.4.2 Nummerierungssystem der Joomla!-Versionen

Die Versionen von Joomla! folgen der X.Y.Z-Systematik:

� X = die Major Release-Nummer – sie wird immer dann hochgezählt, wenn tiefgrei-fende Änderungen am Quellcode vorgenommen werden. Die Version mit derhöheren Nummer ist unter Umständen nicht kompatibel mit früheren Versionen.

� Y = die Minor Release-Nummer – sie wird immer dann hochgezählt, wenn größereÄnderungen an der Funktionalität vorgenommen werden. Die höhere Versions-nummer ist meistens kompatibel (mit kleineren Anpassungsarbeiten) mit früherenVersionen.

13 http://www.joomla.org/content/view/14/28/.

Page 26: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

26

� Z = die Maintenance Release-Nummer – sie wird immer dann hochgezählt, wennFehler behoben und Sicherheitslücken gestopft werden. Eine Erhöhung dieserNummer bedeutet nur kleinere Änderungen und sehr kleine neue Features. DieseVersionen sind voll kompatibel mit den Versionen der gleichen X- und Y-Num-mer.

Ein Full Release ist eine Änderung in der X- und Y-Systematik. Hier wird es Alpha-und Beta-Testperioden geben. Die Länge der Testperioden ist nicht festgelegt undliegt im Ermessen des Entwicklerteams. Beta-Versionen sollten mindestens dreiWochen zum Testen bereitstehen, um Komponentenentwicklern die Chance zugeben, ihre Komponenten anzupassen.

Ein Maintenance Release kann sofort produktiv benutzt werden.

1.4.3 Zeitleiste (Roadmap)

Diese Zeitleiste kann natürlich jederzeit geändert werden, stellt aber einen gutenOrientierungsrahmen dar.

Berechtigungserweiterungen – Teil 1: Hier soll die Möglichkeit eingebaut werden,Benutzergruppen hinzuzufügen und zu verändern. Der Administrator soll in der Lagesein, jeder Gruppe einzelne Berechtigungen zuweisen zu können. Also beispielsweisedarf die Gruppe A das Template einer Seite verändern, Gruppe B aber nicht.

Version Erscheinungstermin Anmerkungen

Mambo 4.5.2 17. Feb. 2005 Letzte stabile Mambo-Version

Joomla 1.0.x Seit Sep. 2005 Übernahme der Version Mambo 4.5.2.3

Fehlerbeseitigungen und Sicherheitspatches

Joomla 1.1 Q4 2005 / Q1 2006 Erweiterungen in der Benutzeroberfläche

Administrationsoberfläche in jeder Sprache möglich

Neue Funktionen

Joomla 1.2 Kein Termin Bisher geplante Erweiterungen:

Berechtigungserweiterungen – Teil 1

WCAG Priorität 1-Kompatibilität (nur Frontend)

Google Summer of Code-Erweiterungen

Joomla 1.3 Kein Termin Bisher geplante Erweiterungen:

Berechtigungserweiterungen – Teil 2

Google Summer of Code-Erweiterungen

Joomla 2.0 2006 Neue CMS-Struktur auf der Basis der Sprachversion PHP 5

Tabelle 1.1: Joomla! Roadmap – Stand September 2005

Page 27: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.4 Joomla! als Immobilie?

27

Berechtigungserweiterungen – Teil 2: Hier sollen Zugriffsberechtigungen auf Objekt-ebene möglich sein. Also beispielsweise darf eine Kategorie von Gruppe A nur ange-sehen, von Gruppe B aber geändert werden.

WCAG Priorität 1-Kompatibilität: Barrierefreiheit ist ein wichtiges Thema, dessenUmsetzung in Deutschland ab dem 1.1.2006 für staatliche Websites zur Pflicht wird.Das W3C hat Standards dazu aufgestellt, die ab Joomla! 1.2 eingehalten werden sol-len14 (siehe auch Kapitel 6).

Erreicht werden sollen diese Standards durch die komplette Trennung des erzeugtenHTML-Codes von der Geschäftslogik in den Programmen dahinter.

Google Summer of Code Projects: Im Jahre 2005 hat die Firma Google15 talentierte Stu-denten und ihre Ideen zu bestimmten Open Source-Projekten mit jeweils 4.500 $unterstützt. Die Ergebnisse dieser Projekte werden in Joomla! nach und nach inte-griert werden.

Zu diesen Projekten gehören u.a.:

� Zugriff auf das Dateisystem von Joomla! über eine definierte Schnittstelle vonanderen Programmen aus

� ein System, um Updates zu bemerken und einzuspielen

� Inhaltsversionskontrolle, um bei geschäftlichen Anwendungen die Änderungenzurückverfolgen zu können

� Geschwindigkeitsoptimierung von Joomla!

1.4.4 Joomla!-Features

Hier eine Auflistung der Joomla!-Features in Kurzform:

� Quellcode ist frei verfügbar

� nach dem Fork bildete sich sofort eine sehr große und eifrige Benutzer- und Ent-wicklergemeinschaft

� ein einfaches Workflow-System

� Caching-Mechanismus, um einen schnellen Seitenaufbau bei beliebten Seitensicherzustellen

� Papierkorb

� Bannermanagement

� Dateimanager für den Upload und die Verwaltung von Dateien

� Veröffentlichungssystem für Inhalte

� Inhaltszusammenfassungen im RSS-Format

14 http://www.w3.org/TR/WAI-WEBCONTENT/full-checklist.html.15 http://code.google.com/summerofcode.html.

Page 28: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

28

� Suchmaschinenfreundliche URLs

� mehrsprachiges Frontend

� Makrosprache für Inhalte (Mambots)

� von der Webseite getrennte Administrationsoberfläche

� einfache Installation von zusätzlichen Templates und Komponenten

� einfaches, aber mächtiges Template-System (HTML, CSS, PHP) ohne komplizierteTemplate-Sprache

� hierarchische Benutzergruppen

� einfache Besucherstatistiken

� WYSIWYG-Editor für Inhalte

� einfache Umfragen

� Bewertungssystem für Inhalte

Viele freie Erweiterungen sind auf der Website http://developer.joomla.org/ verfügbar,wie beispielsweise:

� Foren

� Bildergalerien

� Dokumentenmanagementsysteme

� Templates

� Kalender

� u.v.a.m. ...

1.4.5 Beispiele für Joomla!-Seiten

Um ein Gefühl dafür zu bekommen, wie Joomla!-Seiten aussehen und ob es »die«Joomla!-Seite überhaupt gibt, schauen Sie sich einfach mal ein paar an. Durch die Pro-jektgeschichte bedingt basieren diese Seiten meistens noch auf dem Mambo CMS.Mambo wird seit Jahren vom Joomla!-Entwicklungsteam entwickelt, so dass man siedurchaus als Referenzen heranziehen kann.

Page 29: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.4 Joomla! als Immobilie?

29

Joomla.org

In der weiteren Entwicklung von Joomla! wird unter anderem ein Schwerpunkt aufBarrierefreiheit gelegt. Auf joomla.org können Sie beispielsweise bereits die Schriftenper Mausklick in verschiedenen Größen darstellen.

Porsche, Brasilien

Die Firma Porsche – einen Sportwagenhersteller aus Deutschland – kennen Sie ver-mutlich.

Abbildung 1.1: http://www.joomla.org/

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

Page 30: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1 Begriffe und Konzepte

30

PC Praxis, Deutschland

Ein Computermagazin aus Deutschland:

BSI DANS, Norwegen

Meine Norwegischkenntnisse sind leider nicht besonders fortgeschritten, aber dasDesign gefällt mir sehr gut.

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

Abbildung 1.4: http://www.bsi-dmans.no/

Page 31: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

1.4 Joomla! als Immobilie?

31

Team Lesotho, Lesotho

Die Seite des Entwicklungshilfeteams Aaron & Debbie Smart:

Eine Auflistung von Joomla!-Websites finden Sie unter anderem auf der Website

http://www.joomlapowered.com/.

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

Page 32: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 33: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 InstallationDie Installation von Joomla! selbst ist eine Sache von zwei Minuten. Damit die Instal-lation überhaupt möglich ist, benötigen Sie als Entwicklungsumgebung das bereitsim ersten Kapitel angesprochene Dreamteam Apache, MySQL und PHP. An Apacheund MySQL stellt Joomla! keine besonderen Anforderungen.

Sie können auch jeden anderen Webserver benutzen, der in der Lage ist, mit PHPzusammenzuarbeiten.1

PHP muss in einer Version höher als 4.1.2 vorliegen und die Unterstützung fürMySQL 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 erreichbarist, also in der Regel einem Server bei einem Internetprovider.

Bevor Sie sich in die Wildnis des Internets begeben, sollten Sie erst mal lokal aufIhrem PC üben. Das hat den Vorteil, dass erstens keine Verbindungsgebühren anfal-len, dass es zweitens sehr schnell ist und dass Sie drittens in aller Ruhe alles aus-probieren können.

Vielleicht haben Sie ja zu Hause sogar ein kleines PC-Netzwerk. Dann können SieJoomla! auf einem PC installieren und vom anderen PC darauf zugreifen.

Um die Beschaffung der benötigten Downloads ein wenig zu erleichtern, habe ich alleDownloads, die in diesem Buch besprochen werden, auf der beiliegenden CD und aufder Website zum Buch2 zusammengestellt. Im Anhang des Buches finden Sie eineListe der Dateipakete. Für eine lokale Installation sind diese Dateien durchaus geeig-net, da sich damit die Beispiele im Buch gut nachvollziehen lassen.

Denken Sie aber daran, dass es vermutlich aktuellere Versionen auf den jeweiligenProjektseiten im Internet gibt. Wenn Sie Joomla! in the wild, also auf einem Server imInternet, installieren, sollten Sie immer die letzte stabile Version verwenden.

1 http://de.wikipedia.org/wiki/Webserver.2 http://www.alternative-unternehmensberatung.de.

Page 34: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

34

2.1 Lokale Serverumgebung einrichten

Um Joomla! lokal auf Ihrem PC installieren zu können, müssen Sie die entsprechendeServerumgebung bereitstellen.

2.1.1 Windows

Windows ist sehr benutzerfreundlich und weit verbreitet. Über 90 % aller PCs arbei-ten mit Windows als Betriebssystem. Leider sind weder der Webserver Apache nochdie Datenbank MySQL oder PHP im Lieferumfang enthalten.

Sie können jedes dieser Programme einzeln installieren, Sie können allerdings auchauf ein vorkonfiguriertes Paket zurückgreifen. Das schont die Nerven und ist einfachpraktisch.

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

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 aufihrer Homepage3 als ZIP-Archiv für gängige Betriebssysteme zur Verfügung. Das istvon immensem Vorteil für Menschen wie Sie und mich, da wir ja in erster Linie an

Abbildung 2.1: Benutzerkonten in Windows XP

3 http://www.apachefriends.org/.

Page 35: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.1 Lokale Serverumgebung einrichten

35

Joomla! interessiert sind und nicht so sehr daran, wie das Drumherum funktioniert.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.15.zip von der Buch-CD oder aus demWeb.4

Packen Sie die Datei auf der Laufwerksebene eines beliebigen Laufwerkes aus. Es ent-steht ein Verzeichnis xampplite (Abbildung 2.2).

Doppelklicken Sie auf die Datei setup_xampp.bat im xampplite-Verzeichnis (Abbildung2.3). Xampp macht selbst keine Einträge in die Windows-Registry und setzt auchkeine 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 gestartetwurde (Abbildung 2.4).

4 Die URLs für den Download finden Sie im Anhang.

Abbildung 2.2: xampplite-Verzeichnis

Page 36: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

36

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 zumHerunterfahren. Es heißt mysql_stop.bat und Sie können MySQL damit regulär be-enden (Abbildung 2.5).

Abbildung 2.3: setup_xampp.bat ausführen

AchtungAchtung

Die Kommandoaufforderung können Sie minimieren, Sie dürfen sieaber nicht schließen, denn dadurch würde der Apache-Webserverheruntergefahren werden.

Abbildung 2.4: Start Apache-Webserver

Page 37: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.1 Lokale Serverumgebung einrichten

37

Ö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 LinkDEUTSCH und es zeigt sich folgende Seite:

Das Dokumentenverzeichnis für Ihre Homepage ist [Laufwerk]:\xampplite\htdocs.

In diesem Verzeichnis liegen alle von einem anderen Rechner im Internet zugäng-lichen Seiten. Lesen Sie die beigelegte readme_de.txt-Datei. Hier finden Sie weitereInformationen zu den benötigten Passwörtern.

Wenn Sie das Paket deinstallieren wollen, stoppen Sie alle laufenden Server undlöschen einfach das xampplite-Verzeichnis.

2.1.2 Linux

Bei Linux liegen die Dinge meist einfacher. Es gibt verschiedene Distributionen mitverschiedenen Standardkonfigurationen. Meist ist unser Dreamteam vorinstalliertund muss nur gestartet werden. Es besteht auch die Möglichkeit, eine XAMPP-Ver-

Abbildung 2.5: Start MySQL

Abbildung 2.6: Startseite XAMPP für Windows

Page 38: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

38

sion für Linux zu installieren. Meines Erachtens ist es hier allerdings sinnvoller, aufdie Originalprogramme zurückzugreifen. Die Installation erfolgt mittels Paketmana-ger und ist sehr einfach.

SUSE (10.x), OpenSUSE

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 dieentsprechenden 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.7) auf den Daten-trägern Ihrer SUSE-Distribution oder auf speziellen Paketseiten im Internet.5

Starten Sie den Webserver Apache durch den Befehl:

/etc/init.d/apache2 start

Starten Sie den Datenbankserver MySQL dann über:

/etc/init.d/mysql start

Stoppen können Sie beide mit dem Parameter stop. Eine Übersicht über alle Para-meter erhalten Sie mit help.

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

5 http://www.rpmseek.com/.

Page 39: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.2 Auf einem virtuellen Server im Netz

39

Debian /Ubuntu

Bei Debian und auch Ubuntu heißt das Mittel der Wahl apt. Mit Hilfe des Programmsapt 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/apache2 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 Siemeist einen Shell-Zugang und die freie Wahl der Linux-Distribution, die Sie benutzenwollen. Außerdem ist das System vorkonfiguriert und enthält bereits alle notwendi-gen Dateipakete und Konfigurationen. Für die Konfiguration dieser Server werdenmeist spezielle Administrationsoberflächen wie Confixx6 oder Visas7 benutzt. Mitdiesen Tools können Sie Ihren Server und die Dienste Apache und MySQL bequemüber eine Browseroberfläche starten, stoppen und konfigurieren.

2.2 Auf einem virtuellen Server im Netz

Dieses Thema ist sehr komplex, da es mittlerweile eine unüberschaubare Anzahl vonAnbietern und eine noch unüberschaubarere Kombination von installierten Apache-,PHP- und MySQL-Versionen und Webspace-Verwaltungstools wie Confixx undVisas gibt.

Knackpunkte sind:

� ein eventuell in der php.ini aktivierter PHP-Safe Mode,

� bei Apache untersagte Umformung von URLs wegen der Nichtaktivierung der sogenannten Rewrite Engine oder

� Verzeichnisrechte unter Linux, die anders gesetzt werden als unter Windows.

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

Page 40: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

40

Grundsätzlich ist der einfachste Weg, der eigentlich immer funktioniert, folgender:

1. Laden Sie sich die Datei Joomla_1.0.0-Stable.tar.gz auf Ihren heimischen PC undentpacken Sie sie in einem temporären Verzeichnis.

2. Laden Sie die gerade ausgepackten Dateien per FTP-Programm auf Ihren ange-mieteten Server. Die Dateien müssen im öffentlich zugänglichen Verzeichnisinstalliert werden. Meistens heißen diese Verzeichnisse htdocs, public_html odernur html. Sie können innerhalb des Verzeichnisses ein Unterverzeichnis angeben,in das Sie Ihr Mambo installieren. Viele Webhoster erlauben, dass Sie Ihren ange-mieteten Domainnamen auf ein Verzeichnis linken. Dieser Name ist wichtig, umIhre Website über den Browser aufrufen zu können.

3. Sie müssen herausbekommen, wie Ihre Datenbank heißt. Meistens sind eine oderauch mehrere Datenbanken in Ihrem Webhosting-Paket enthalten. Manchmalliegen Benutzername, Datenbankname und Passwort fest, manchmal müssen Siees erst einrichten. Dazu steht Ihnen meistens eine browserbasierte Konfigurations-oberfläche zur Verfügung. Ein Beispiel einer solchen Oberfläche sehen Sie inAbbildung 2.8. Sie brauchen diese Daten für den Webinstaller von Joomla!.

Nachdem Sie die Daten auf Ihren Server geladen haben und im Besitz der Zugangs-daten zu Ihrer Datenbank sind, kann es losgehen.

2.3 Joomla! installieren

Um Joomla! installieren zu können, benötigen Sie zunächst den Quellcode. Laden Siedas Paket von der CD oder aus dem Web Joomla_1.0.0-Stable.tar.gz und speichern Siees auf Ihrem System.8

Abbildung 2.8: Webkonfigurator von Host Europe

8 Downloadmöglichkeit siehe Anhang.

Page 41: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.3 Joomla! installieren

41

2.3.1 In welches Verzeichnis installieren?

Sie müssen sich überlegen, ob Sie Ihr Joomla! direkt in das Dokumentenverzeichnisoder in ein Unterverzeichnis installieren wollen. Das ist wichtig, weil Sie vermutlicheinen möglichst kurzen URL zu Ihrer Homepage möchten.

Beispiel

Wenn Sie Joomla! direkt in /htdocs auspacken, so startet Ihre Webseite, wenn Sie aufIhrem lokalen PC http://localhost/ bzw. auf Ihrem Server im Internet Ihren Domain-namen http://www.meinehomepage.de/ aufrufen. Erstellen Sie unter /htdocs/ noch einweiteres Verzeichnis, beispielsweise /htdocs/Joomla100/, und entpacken das Paketdort, so müssen Sie im Browser http://localhost/Joomla100/ eingeben. Lokal ist das keinProblem, auf einer produktiven Seite im Internet sieht das nicht so gut aus.

In Ihrer lokalen XAMPPLITE-Umgebung unter Windows liegen bereits einigeHTML-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 denWebservereinstellungen, angezeigt.

2.3.2 Lokale Installation von Joomla!

Verzeichnis

Ich schlage vor, Sie erstellen sich ein Unterverzeichnis mit dem Namen Joomla100unterhalb Ihres Dokumentenverzeichnisses. In Windows nehmen Sie dazu den Win-dows-Explorer, in Linux entweder die Shell, den KDE Konqueror oder den MidnightCommander.

[Ihr Webspace]/htdocs/Joomla100/

Im Windows-Explorer sollte Ihr Verzeichnisbaum nun folgendermaßen aussehen(Abbildung 2.9).

Abbildung 2.9: Joomla!-Verzeichnis

Page 42: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

42

Wenn Sie in Ihrem Browser http://localhost/Joomla100/ eingeben, erscheint in derXAMPPLITE-Variante eine Seite mit einem leeren Inhaltsverzeichnis (Abbildung2.10).

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

Meistens dürfen Sie auf die entsprechende Konfigurationsdatei des Apache-Web-servers aus Sicherheitsgründen nicht zugreifen. Falls doch, sollten Sie aus obengenannten Gründen die Inhaltverzeichnisse deaktiviert lassen.

Entpacken

Jetzt können Sie endlich das Dateipaket Joomla_1.0.0-Stable.tar.gz in das vorbereiteteVerzeichnis 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).

Unter Linux benutzen Sie in einer Shell den Befehl

$ tar -zxvf Joomla_1.0.0-Stable.tar.gz

Nach dem Entpacken sehen Sie im Windows-Explorer die folgenden Verzeichnisseund Dateien (Abbildung 2.11).

Abbildung 2.10: Apache-Verzeichnisanzeige

Page 43: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.3 Joomla! installieren

43

Diese Struktur ist auf allen Betriebssystemen die gleiche. Unterschiede bestehen nurin der Darstellung. In Abbildung 2.12 sehen Sie beispielsweise eine Darstellung ineinem FTP-Client. Im linken Fenster sehen Sie Ihren lokalen PC, im rechten FensterIhren entfernten Webserver.

Abbildung 2.11: Joomla!-Quellcodedateien

Abbildung 2.12: Joomla!-Dateien im FTP-Client WSFTP

Page 44: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

44

Joomla!-Webinstaller

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

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ängigvon 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 derXAMPPLITE-Lösung unter Windows arbeiten, sollte es bei Ihnen so aussehen wie beimir. Klicken Sie auf NEXT und Sie erhalten die Anzeige der GNU/GPL-Lizenz, die Siedurch Ankreuzen des entsprechenden Feldes akzeptieren müssen.

Abbildung 2.13: Joomla!-Webinstaller mit pre-installation check

HinweisHinweis

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

Page 45: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.3 Joomla! installieren

45

Schritt 1 (Step 1)

Nach diesen Vorbereitungen gelangen Sie nun zum Schritt 1 des Webinstallers. Ineinem Formular werden die Datenbankparameter abgefragt (Abbildung 2.14). In derXAMPPLITE-Serverumgebung können Sie beliebig viele Datenbanken anlegen undhaben einen MySQL-Benutzer mit dem Namen root ohne Passwort. Aus diesemGrund kann ich im Installer den Namen einer Datenbank angeben, die noch nichtexistiert. Der Installer legt sie einfach an. In einer produktiven Umgebung werdenIhnen die Datenbankzugangsdaten in der Regel vorgegeben.

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

Host Name: localhostMySQL Username: rootMySQL Password: [leer lassen – Achtung Sicherheitsrisiko !!]MySQL Database Name: joomla100

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 jos_ vor.

Abbildung 2.14: Webinstaller, Schritt 1

Page 46: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

46

Hier sollten Sie den Standard jos_ übernehmen.

Drop existing Tables: Sollte es eine »frische« Installation in eine leere Datenbank sein,brauchen Sie hier nichts anzukreuzen. Wenn Sie bereits ein Joomla! in Ihrer Daten-bank haben, können Sie mit diesem Schalter dafür sorgen, dass die alten Dateienüberschrieben werden.

Backup old Tables: Mit Joomla! lassen sich Datensicherungen (Backups) erstellen. DieBackups 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 denHaken dort lassen, so wird Ihre Homepage mit Beispieldaten gefüllt, damit Sie eineVorstellung vom späteren Aussehen erhalten. Füllen Sie Ihre Installation mit diesenBeispieldaten. Wir werden im weiteren Verlauf des Buches damit arbeiten.

Klicken Sie auf den Button NEXT. Nach einer Sicherheitsabfrage, ob die Installationwirklich 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.15).

HinweisHinweis

Das hat einen einfachen Grund. Manchmal erhalten Sie bei einemInternetprovider nur eine MySQL-Datenbank. Wenn Sie nun zweiJoomla!-Seiten betreiben wollen, hätten Sie ein Problem, da Sie ja dieTabellen nicht voneinander unterscheiden können. Durch einen Prä-fix, der dem Tabellennamen voran gestellt wird, ist es möglich, dieTabellen verschiedener Joomla!-Installationen auseinander zu halten(jos_mueller_ oder jos_schulze_).

Abbildung 2.15: Webinstaller Schritt 2

Page 47: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.3 Joomla! installieren

47

Dieser Name taucht in der Titelzeile des Browserfensters auf, wenn jemand IhreHomepage 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 denNamen Joomla100. 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 Einstellungensind wichtig, um dem Joomla!-System die Orientierung auf Ihrem Server zu erlauben(Abbildung 2.16).

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 Fallist es die Windows-Umgebung.

Your e-Mail: Tragen Sie hier Ihre E-Mail-Adresse ein. Als Administrator erhalten Siehin und wieder Post von Ihrer Homepage.

Admin Password: Joomla! schlägt ein Passwort vor. Sie sollten es übernehmen oderein ähnlich kompliziertes Passwort bei einer Internet-Installation wählen. Bei derlokalen Installation können Sie sich etwas Einfacheres ausdenken.

Abbildung 2.16: Webinstaller Schritt 3

Page 48: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2 Installation

48

Die beiden Auswahlmöglichkeiten bei den Datei- und Verzeichnisrechten sollten Sieübernehmen. Bei der Installation setzt Joomla! automatisch Zugriffsrechte für Teiledes Systems, in denen Dateien hochgeladen oder Programmteile installiert werden.

Sie sollten alle vorgeschlagenen Werte übernehmen und um Ihre E-Mail-Adresseergänzen.

Schritt 4 (Step 4)

Der vierte und letzte Schritt gratuliert zur erfolgreichen Installation. Ich gratuliereauch!

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 Joomla!-Homepage läuft ohne diese Maßnahme nicht.

Außerdem werden Ihnen noch mal Ihre Login-Daten angezeigt. Notieren Sie sich denUsernamen und das Passwort am besten auf einen Zettel.

Die Installation ist jetzt vollbracht und Sie haben die Wahl zwischen VIEW SITE

(Homepage ansehen) und ADMINISTRATION (Administrationsoberfläche).

HinweisHinweis

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

Abbildung 2.17: Webinstaller Schritt 4

Page 49: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

2.3 Joomla! installieren

49

Sehen Sie sich ruhig mal Ihre frisch erstellte Homepage an und klicken Sie auf VIEW

SITE. Sollten Sie noch nicht das Verzeichnis Installation gelöscht haben, erhalten Siejetzt noch einmal einen freundlichen Hinweis, es zu löschen und anschließend dieSeite zu aktualisieren.

Das Ergebnis sieht sehr eindrucksvoll aus.

Schauen Sie sich in Ruhe um, klicken Sie ein paar Möglichkeiten durch und ver-suchen Sie sich zu orientieren. In dieser mit Beispieldaten gefüllten Website werdenviele Funktionalitäten von Joomla! genutzt und diese werden wir uns in Ruhe an-sehen.

Abbildung 2.18: Ihre Homepage direkt nach der Installation

Page 50: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 51: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

Nachdem Sie nun Ihre Website installiert und vorsichtig erkundet haben, können wiruns das Ergebnis gemeinsam ansehen. Auf den ersten Blick sehen diese Seiten einwenig verwirrend aus. Grundsätzlich teilen sie sich in ein Frontend und ein Backend.Das Frontend sieht der Kunde oder der Websurfer und das Backend sehen nur dieEntwickler bzw. Administratoren der Website.

3.1 Frontend

Wenn Sie sich ein wenig Zeit nehmen, werden Sie feststellen, dass viele verschiedeneFunktionen in die Seite integriert sind.

Um eine bessere Übersicht zu erhalten, habe ich die Bereiche auf der Seite markiertund beschriftet (Abbildung 3.1).

Die Kunst des Webdesigns besteht jetzt darin, die für Ihre Website wichtigen Ele-mente zu erkennen, die unwichtigen wegzulassen und alles in einer für den Benutzerlogischen, 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 Portalseitewie 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 Layoutsanzeigen. Jede Tageszeitung würde Sie um diese Möglichkeit beneiden.

Gehen wir das Beispiellayout mal genauer durch. Es gibt vier verschiedene Katego-rien von Bereichen auf der Seite.

� Menüs

� Funktionen

� Inhalte

� Dekorative Elemente

Page 52: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

52

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. Joomla! 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 sichum das so genannte Usermenu, das der registrierte Benutzer sieht, nachdem er sicheingeloggt hat.

Oberes Menü

Das obere Menü heißt in Joomla! Top Menu (Abbildung 3.2). Es befindet sich mög-lichst weit oben und soll dem Benutzer einen Schnellzugriff auf die wichtigstenInhalte der Seite geben. In Deutschland stehen in solchen Menüs oft die Begriffe Pro-dukte, Kontakt, Impressum.

Abbildung 3.1: Struktur der Beispielwebsite

Abbildung 3.2: Top Menu

Page 53: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3.1 Frontend

53

Hauptmenü

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

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.

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 statischeSeite mit Erklärungen. Inhalt kann auch eine dynamische Linkliste wie Google1 sein,ein Shop wie Dell2 oder ein Flohmarkt wie eBay3.

Abbildung 3.3: Hauptmenü

Abbildung 3.4: Zusätzliches Menü

1 http://www.google.de/.2 http://www.dell.de/.3 http://www.ebay.de/.

Page 54: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

54

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 Wiki.5 Jeder darf die Inhalte verändern und sogar löschen. Es funktio-niert bisher erstaunlich gut.

Das Gegenteil von Wikis sind statische Inhalte, die, einmal geschrieben, für lange ZeitGültigkeit haben, dieses Buch beispielsweise. Es wird in Bezug auf die Versionsnum-mern der behandelten Software veralten, bietet aber den Vorteil, dass es das Themaumfassend im Zusammenhang erklärt und beleuchtet. Ich erzeuge Inhalte in einerbestimmten Form und betreibe somit auch eine Form von Content Management.

Prospekte, Flyer, Aufkleber, Geschäftsberichte, Betriebsanleitungen sind ebenfallsmeist statischer Natur. Sie werden für ein bestimmtes Ereignis erstellt und sind dannirgendwann veraltet oder auch schlicht falsch.

Viele ältere Websites bestehen ausschließlich aus statischen Elementen. Im Internetticken die Uhren jedoch ein wenig schneller. Was bei Büchern, Prospekten und ande-ren Druckerzeugnissen wohlwollend toleriert wird (schließlich kann ich z.B. dasBuch auch am Strand und in der U-Bahn lesen), wird von Website-Besuchern alsMangel empfunden. Für das Image Ihrer Firma gibt es vermutlich nichts Schlimmeresals eine vier Jahre alte statische Website, auf der auch noch ein »powered by ...«-Button prangt, der auf eine hoffnungslos veraltete Software hinweist.

Die Präsentationsmöglichkeiten von Inhalten sind unerschöpflich. Sie hängen vomverfü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 einezunehmend wichtigere Rolle. Wer ist eigentlich Ihre Zielgruppe?

Es gibt eine sehr einfache Aussage, die lautet:

Content ist King!

Auf den Inhalt kommt es an. Jede Webagentur würde jetzt vermutlich milde lächelnund 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, dasseine 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 freiwilligzuhören. Da Sie vermutlich keinen millionenschweren Werbeetat haben, können Siedie Menschen auch nicht dazu zwingen. Inhaltsleere Seiten können noch so schön aufnoch so vielen Endgeräten zur Verfügung stehen. Kein Mensch wird sie freiwilligbesuchen.

4 http://www.wikipedia.de/.5 http://de.wikipedia.org/wiki/Wiki/.

Page 55: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3.1 Frontend

55

6

Erste Seite/Frontpage

Inhalte werden auf der ersten Seite Ihrer Website angekündigt (Abbildung 3.5).

Inhalte haben einen Autor, ein Erstellungsdatum, eine Überschrift, einen Aufmacherund vielleicht noch ein Bild. Der Aufmacher soll den Besucher neugierig machen undihn dazu bringen, auf einen READ MORE ...-Link zu klicken, um die gesamte Nachrichtzu lesen.

HinweisHinweis

Überlegen Sie sich die Inhalte Ihrer Seite genau! Jeder, wirklich jederauf der Welt kann sie lesen und im Zweifel gegen Sie verwenden. Siekö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 dazusagen und mit Ihnen Kontakt aufnehmen. Welch eine Chance! Sie sollten sich beider Dinge bewusst sein, wenn Sie die Inhalte kon-zipieren.

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

Abbildung 3.5: Frontpage

Page 56: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

56

Neueste Nachrichten/Am meisten gelesene Nachrichten

Die Nachricht kann jetzt in verschiedener Form angezeigt werden. Die Menscheninteressieren sich meist dafür, was das Neueste ist und was die anderen so lesen(Abbildung 3.6).

Also hat unser Beispiellayout einen entsprechenden Bereich, in dem immer die letz-ten fünf Nachrichten stehen, und einen weiteren mit den am meisten gelesenen Nach-richten. Dieser zweite Bereich wird möglich, weil Joomla! sich jeden Aufruf einerNachricht in der Datenbank merkt und die Zugriffe zählt.

3.1.3 Werbung

Wenn Ihre Website beliebt ist und die Inhalte stimmen, können Sie Werbeplatz ver-kaufen. Werbeplatz bedeutet meist Bannerschaltungen. Banner sind kleine Grafikenim gif-, jpg-, png- oder swf-Format, die den Besucher dazu bringen sollen, durch einenKlick auf das Banner Ihre Website zu verlassen. Wenn Sie das wirklich wollen, suchenSie sich einen Platz in Ihrem Layout und denken Sie daran, ihn als Werbung zu kenn-zeichnen.

Bannerbereich

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

3.1.4 Funktionen

Unter Funktionen versteht man Elemente, die benötigt werden, um Interaktivität zuermöglichen. In Joomla! werden diese Funktionen mit dem Begriff Modul bezeichnet.Ein Modul ist etwas, das auf der Webseite einen Platz einnimmt und eine bestimmteFunktion erfüllt.

Abbildung 3.6: Letzte Nachrichten/Am meisten gelesene Nachrichten

Abbildung 3.7: Bannerbereich

Page 57: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3.1 Frontend

57

Login-Bereich

Ein Login-Modul ist wichtig, wenn Sie Ihre Website in einen öffentlichen und einengeschützten Bereich aufteilen wollen. Der Besucher muss dann die Möglichkeithaben, sich zu registrieren und anzumelden. Vielleicht vergisst er auch mal sein Pass-wort. Das Login-Modul sollte alle Situationen berücksichtigen können (Abbildung3.8).

Umfragen

Da es hier um Inhalte für gewisse Zielgruppen geht, sollten wir die Gruppe, die sichwirklich auf unserer Website bewegt, hin und wieder nach ihrer Meinung befragen.Das ist die einfachste Art, an verwertbare Meinungen über Ihre Website zu kommen.

Joomla! hat eine Umfragekomponente integriert, deren Anzeigemodul sich auf derBeispielseite befindet (Abbildung 3.9).

Abbildung 3.8: Login-Modul

Abbildung 3.9: Umfrage-Modul

Page 58: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

58

Wer ist online?

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

Feeds

News-Feeds werden immer beliebter. Es sind standardisierte Sammlungen von Inhalten,die dann weiterverarbeitet werden können. Also gewissermaßen der Inhalt Ihrer Web-site ohne den Ballast der Webseite drum herum. Das Modul Syndication (Abbildung 3.11)bietet verschiedenste Feeds an. Mehr über diese Technik erfahren Sie in Kapitel 4.

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 nichtso einfach, wieder genau dahin zurückzukommen, wo man vorher war.

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

HinweisHinweis

Überlegen Sie sich gut, ob Sie solche Features auf Ihrer Websiteanbieten wollen. Wenn Sie im Inhalt behaupten, dass Sie die größteKlingelton-Community in Deutschland sind, und sich auf Ihrer Web-site nur ein Gast tummelt, wirken Sie unglaubwürdig.Wenn Sie dagegen wirklich ständig 10 bis 20 Besucher und angemel-dete Benutzer haben, so ist das ein gutes Mittel, um Dynamik zudemonstrieren.

Abbildung 3.10: Wer ist online?

Abbildung 3.11: Syndication-Modul

Abbildung 3.12: Zurück!

Page 59: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3.1 Frontend

59

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 durchsuchendie Programme hinter den Suchfeldern aber eben nicht alle Inhalte der Seite. BeiJoomla! ist das natürlich anders: Alle Seiten werden auch wirklich durchsucht.

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 hervor-gehoben wird.

3.1.5 Dekorative Elemente

Nach so vielen Funktionen, Modulen und Inhalten stellt sich die Frage nach demDesign, der Corporate Identity, dem Look and Feel der Website.

Ein Template stellt das Layout der Seite dar und wird wie eine Schablone über dieInhalte 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-spielsweise könnte Ihre Website im Winter anders aussehen als im Sommer oderwährend der Fußballweltmeisterschaft das Fußball-Outfit haben.7

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

Abbildung 3.13: Suchfeld

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

Abbildung 3.14: Logo 1

Page 60: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

60

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 anspruchsvolleAufgabe 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 Joomla! Administratorstatt. Sie erreichen die Joomla!-Administration unter dem URL:

[Domainname]/administrator/

Wenn Sie ebenfalls mit der lokalen Installation arbeiten, erreichen Sie sie unter:

http://localhost/joomla100/administrator/

Abbildung 3.15: Logo 2

Abbildung 3.16: Fußzeile

Abbildung 3.17: Joomla!-Administration – Login

Page 61: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3.2 Backend

61

Melden Sie sich mit Ihrem admin-Benutzernamen an.

Die Benutzerdaten haben Sie bei der Installation im Webinstaller selbst festgelegt.

Sie sehen eine Oberfläche mit Menüs, Icons und Karteireitern – so, wie Sie das von dergrafischen Benutzeroberfläche Ihres Betriebssystems gewohnt sind.

Die Sprache in Front- und Backend ist noch Englisch. Für das Frontend existierendeutsche Sprachdateien, das Backend dagegen ist derzeit nur in Englisch verfügbar.Das liegt daran, dass die Texte noch im Programmquellcode des Backends stehen.8

Abbildung 3.18: Joomla! Administration

HinweisHinweis

Im weiteren Verlauf der Joomla!-Entwicklung (ab Version 1.1.0) sol-len die Texte in separate Sprachdateien wandern und dadurch dasBackend mehrsprachig werden. Es bestehen bereits heute Möglich-keiten, durch Austausch der Dateien ein deutsches Backend zu erzeu-gen, diese werden aber bei den weiteren Updates nicht berücksich-tigt. Aus diesem Grund rate ich vom Austausch ab und empfehleIhnen, die Gelegenheit beim Schopfe zu packen und ein wenig Eng-lisch zu lernen. Auch mit sehr schlechten Sprachkenntnissen werdenSie schnell mit der Oberfläche vertraut werden.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 istnicht perfekt, hilft aber in 90% der Fälle, die Bedeutung zu erfassen.

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

Page 62: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

3 Ein Rundgang durch Ihre neue Website

62

AchtungAchtung

In einer produktiven Umgebung sollten Sie aus Sicherheitsgründendas Verzeichnis

[PfadzuJoomla!]/administrator/

mit einer .htaccess-Datei schützen. Durch die große Verbreitung vonJoomla! ist anzunehmen, dass bald erste erfolgreiche Versuche unter-nommen werden, die Administration zu hacken. Eine brauchbareAnleitung für das Erstellen einer solchen Datei finden Sie unter;

http://de.selfhtml.org/servercgi/server/htaccess.htm

In Ihrer lokalen Installation ist der Schutz nicht notwendig.

Page 63: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

Unter Customizing versteht man das Anpassen eines Standardprogramms an dieBedürfnisse des Benutzers. In unserem Fall sind Sie der Benutzer und das Standard-programm ist Joomla!, genauer gesagt, das Frontend Ihrer Joomla!-Installation.

In der Joomla!-Administration, die im letzten Kapitel angesprochen wurde, könnenSie Ihre Website anpassen, umbauen und mit Inhalten versehen.

Die zwei typischen Dinge, die Website-Besitzer meist als Erstes erledigen wollen, ist,die Sprache auf die Muttersprache einzustellen und die Farben und die Strukturen zuverändern.

Also werden wir uns diesen beiden Aufgaben zuerst widmen.

4.1 Eine andere Sprache für das Frontend

Falls Sie mit Ihrer Website eine deutsche Zielgruppe erreichen wollen, immerhin etwa120 Millionen Menschen mit nicht zu verachtender Kaufkraft, sollten Sie auf IhrerWebsite selbstverständlich 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 esnoch 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.

Page 64: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

64

4.1.1 Installation einer anderen Sprachdatei

Speichern Sie die Dateien jos100germani.zip und jos100germanf.zip auf Ihrem PC1.Diese Sprachdateien stammen vom deutschen Übersetzungsteam (GTT GermanTranslation Team) unter der Projektleitung von Antonio Cambule.2

Loggen Sie sich, wie im zweiten Kapitel beschrieben, in Ihre Joomla!-Administrationein und klicken Sie auf SITE -> LANGUAGE MANAGER -> INSTALL (Abbildung 4.1).

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

Upload language – Success

Nach einem Klick auf den Link CONTINUE sehen Sie die verfügbaren Sprachen. AußerEnglisch gibt es jetzt auch German Formal – Sie und Informationen über den Erstellerder Sprachdatei (zum Zeitpunkt der Erstellung des Buches betrieb das Überset-zungsteam noch die Website mamboGTT.de). In dem anderen ZIP-Archiv befindet sichdie Sprachversion mit der Anrede Du. Wenn Sie wollen, können Sie auch diese Ver-sion installieren.

Aber der grüne Haken für die Standardsprache steht noch neben English. WählenSie die deutsche Variante aus und klicken Sie auf das Icon PUBLISH rechts über demLanguage Manager. An dieser Stelle befinden sich immer die Icons, die Aktionen undDialoge abschließen.

1 Downloadmöglichkeit siehe Anhang.2 http://www.joomla.de/willkommen_beim_deutschen_ubersetzungsteam.html.

Abbildung 4.1: Sprachdatei installieren

Page 65: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.1 Eine andere Sprache für das Frontend

65

Da außer den Worten auch gravierende Unterschiede in der Darstellung von Zahlenund Datumsangaben bestehen, müssen Sie die entsprechenden Locale-Einstellungenfestlegen. Mehr zu diesem Thema finden Sie in Kapitel 4.4.1.

4.1.2 Übersetzen eines Menüeintrags

Ihr Frontend spricht jetzt deutsch. Schauen Sie unter http://localhost/joomla100/ nach,achten Sie auf das Suchfeld, das Login-Modul und klicken Sie im Main Menu mal aufden Link SEARCH.

Es ist eine atemberaubende Mischung aus Deutsch und Englisch auf der Seite zusehen. Alles, was automatisch per Programm funktioniert, wie beispielsweise dasSuchen oder die Anmeldeprozedur, ist auf Deutsch, der Rest aber nicht.

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 unseremFall sind die Beispieldaten in Englisch erstellt worden.

Aber bevor Sie die Beispielseite jetzt versuchen zu übersetzen, schauen Sie noch ein-mal auf die Buttons im Language Manager. Außer PUBLISH gibt es NEW, EDIT, DELETE

und HELP. Hinter dem Button HELP verbirgt sich die Joomla!-Onlinehilfe. Natürlichebenfalls auf Englisch.

Mit NEW installieren Sie neue Sprachpakete, mit DELETE können Sie sie wiederlö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 Siekönnen online Änderungen vornehmen (Abbildung 4.3).

Abbildung 4.2: Sprachauswahl

Page 66: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

66

Blättern Sie mal ein wenig durch die Sprachdatei. Sie bekommen dadurch auch einGefühl für die Funktionen und die Struktur der Joomla!-Texte. Das Prinzip der Dateiberuht auf PHP-Konstantennamen, die nach der abgekürzten englischen Bedeutungbenannt wurden und je nach Sprache mit dem entsprechenden Text gefüllt werden.

Die Konstanten stehen im Programmquellcode, der Inhalt in dieser Datei.

Momentan ist die Sprachdatei writeable, also von PHP oder irgendeinem anderen Toolaus änderbar. Wenn Sie der Meinung sind, dass die Übersetzung nun gelungen ist,und ein wenig mehr Sicherheit haben wollen, kreuzen Sie einfach die entsprechendeCheckbox an, um die Datei unwriteable zu setzen. Die Schreibrechte werden der Dateientzogen und beim nächsten Mal nur für den Speichervorgang gewährt. (Um dieursprüngliche Rechtesituation wiederherzustellen, müssen Sie die Dateirechte mitIhrem FTP-Client oder in einer Shell mit dem Befehl chmod ändern.) Wenn Sie denLanguage Editor wieder verlassen wollen, klicken Sie auf SAVE oder CANCEL.

Was müssen Sie nun tun, um beispielsweise den Menüeintrag Search in Suche zuändern oder das Main Menu in Hauptmenü umzutaufen?

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) undeditieren Sie ihn in dem daraufhin erscheinenden Formular (Abbildung 4.5).

Abbildung 4.3: Language Editor

Page 67: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.1 Eine andere Sprache für das Frontend

67

Achten Sie noch nicht auf die zahlreichen Konfigurationsmöglichkeiten, sondernersetzen Sie einfach das Wort Search durch Suche und klicken Sie auf APPLY (zuwei-sen). In Ihrem Main Menu auf der Website steht jetzt SUCHE!

Abbildung 4.4: Menu Manager

Abbildung 4.5: Menu Item ändern

Page 68: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

68

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 LinkMain Menu erhalten Sie ein Formular wie eben bei dem Menüeintrag.

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

4.1.4 Ändern des Templates für Ihre Website

Nachdem jetzt alles schon etwas vertrauter ist, wollen Sie Ihre Website natürlich ineinem völlig anderen Design haben.3

Um zu zeigen, was Joomla! 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 Website, also das Frontend. Wie Sie sehen, gibt es auchAdministrator Templates.

Standardmäßig bringt Joomla! zwei 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). Das Solarflare-Template wurdeaus der letzten Mambo-Version übernommen und auf Joomla! angepasst. Das made-yourweb-Template von Marc Hinse aus München ist neu dabei. In seinem Blog4 erfah-ren Sie mehr über seine Templates und erhalten Tipps & Tricks zum Thema Joomla!.

Abbildung 4.6: Modulmanager

3 Mehr über Templates finden Sie in Kapitel 6.4 http://www.mademyday.de/.

Page 69: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.1 Eine andere Sprache für das Frontend

69

Um das Template Ihrer Website zuzuordnen, wählen Sie den Radiobutton vor demNamen des gewünschten Templates aus und klicken in der Menüleiste auf DEFAULT.Wechseln Sie auf Ihre Website und klicken Sie im Browser auf den Button AKTUALISIE-REN. Schon haben Sie ein anderes Layout und ein völlig neues Aussehen. Die Menüssind jetzt beispielsweise auf der rechten Seite, übrigens mit den deutschen Überset-zungen HAUPTMENÜ und SUCHE.

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

Abbildung 4.7: Template Manager

Abbildung 4.8: Template Manager – Vorschaufunktion

Page 70: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

70

4.2 Aufbau der Joomla!-Administration

Joomla! bietet fast den gleichen Komfort wie ein Programm unter einer grafischenBenutzeroberfläche – siehe Windows, KDE, Gnome oder Aqua (von Mac OS X). Dasist nicht selbstverständlich für Webseiten und wird erreicht durch den großzügigenGebrauch der Scriptsprache JavaScript. JavaScript wird lokal auf Ihrem Rechner aus-geführt und kann auch im Browser deaktiviert werden. In diesem Fall können Sienicht mehr mit der Joomla!-Administration arbeiten. Seit mehreren Jahren können dieBrowser allerdings gut mit JavaScript umgehen und es gibt auch keine ernsthaftenSicherheitsprobleme mehr. Aus diesem Grund sollten Sie JavaScript einschalten. Indiesem Zusammenhang möchte ich den Windows-Benutzern unter Ihnen als Inter-netbrowser die beiden Open Source-Produkte Mozilla oder Firefox5 ans Herz legen.Beide sind erheblich sicherer und komfortabler als der Internet Explorer.

Die Joomla!-Administration besteht ebenso wie Ihre Website aus verschiedenen Ele-menten. Im oberen Bereich Menüleiste befinden sich die Menüs und auf der rechtenSeite zwei Anzeigen, ob Sie Nachrichten erhalten haben und wie viele Benutzergerade angemeldet sind.

Abbildung 4.9: Ein anderes Template

5 http://www.mozilla.org/.

Page 71: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.2 Aufbau der Joomla!-Administration

71

Darunter ist ein Feld mit einem Pfad, der Auskunft darüber gibt, welche Komponentefür den gerade angezeigten Manager zuständig ist (Infobar). Rechts daneben befindensich abhängig vom Manager verschiedene abgeblendete Icons, die Werkzeugleiste(Toolbar). Wenn Sie mit dem Mauszeiger über ein solches Icon fahren, leuchtet es aufund Sie können mit der linken Maustaste klicken und die entsprechende Funktionausführen.

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

Toolbar-Element 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.

RESTORE/UNTRASH Das ausgewählte Element wird aus dem Papierkorb zurückgeholt.

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 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 Vor-schau gezeigt.

UPLOAD Die ausgewählte Datei wird auf den Server hochgeladen.

CREATE Erstellt ein Unterverzeichnis auf dem Server

HELP Die Onlinehilfe von Joomla!

DEFAULT Das ausgewählte Element wird als Standard benutzt.

ASSIGN Das ausgewählte Element wird einem anderen Element zugewiesen.

Tabelle 4.1: Toolbar-Elemente

Page 72: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

72

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 IhrerWebsite geben. Im unteren Bereich sehen Sie eine Navigationsleiste, die sich querdurch Joomla! zieht. Hier können Sie die Anzahl der angezeigten Zeilen einstellenund durch die Anzeige navigieren, falls gleichzeitig 100 Benutzer online sind. DieseMenge ist bei gut frequentierten Joomla!-Seiten durchaus realistisch. Die Einstellungder Anzahl der angezeigten Zeilen ist bei allen Tabellendarstellungen möglich.

Logged bietet einen Überblick über die gerade eingeloggten Benutzer. Durch einenKlick auf das rote Kreuz neben dem Benutzernamen können Sie als Administratorden Benutzer abmelden.

Components zeigt Ihnen die aktuell installierten Softwarekomponenten. Wenn diesemehrere Optionen haben, wie beispielsweise Weblinks, so wird diese Komponente alsÜberschrift mit Unterpunkten dargestellt.

Popular präsentiert Ihnen die am meisten aufgerufenen Seiten Ihrer Website. Durcheinen Klick auf den Seitennamen gelangen Sie in den Content Manager und die ent-sprechende Seite wird Ihnen im Editiermodus angezeigt. Wenn Sie im Editormodussind, müssen Sie mit CANCEL oder SAVE die Bearbeitung beenden und anschließendwieder 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 manebenfalls 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, derSie wieder in das Control Panel bringt. Ganz rechts sehen Sie den HELP-Link.

Sie können das Control Panel über MODULES -> ADMINISTRATOR MODULES konfigu-rieren.

Abbildung 4.10: Joomla!-Administration

Page 73: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.3 Menü Help

73

4.3 Menü Help

Der Arbeitsbereich Joomla! Help ist dreigeteilt. Im oberen Teil gibt es ein Suchfeld undeine Leiste mit Links (Abbildung 4.11). Darunter befindet sich links ein Index der ver-fügbaren Hilfetexte und rechts der entsprechende Anzeigebereich. Standardmäßigsehen Sie hier die Neuigkeiten in der von Ihnen benutzten Joomla!-Version. Die Links,die mit Hilfetexten zu tun haben, verweisen auf den Server http://help.joomla.org/. Umdie Suche nutzen zu können, müssen Sie also mit dem Internet verbunden sein. Außerbei einer lokalen Version sind Sie das aber zwangsläufig.

Die anderen Links verweisen auf den Text der GNU/Public License, auf Systeminfor-mationen über Ihren Server (Abbildung 4.12) und das Changelog, das die Änderun-gen der einzelnen Entwickler dokumentiert. Im Changelog können Sie beispielsweiselesen, dass Alex Kempkens am 16.9. das madeyourday-Template hinzugefügt und ReyGigataras am 14.9. eine neuere Version des WYSIWYG-Editors eingebaut hat.

Die Systeminformationen sind wieder in drei Karteireiter aufgeteilt.

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 aktuelleSoftwareversionen (Apache 2.0.54 und PHP 5.04).

PHP Info zeigt alle Informationen aus der Funktion phpinfo() an. Hier geht es um diekomplette Konfiguration des PHP-Interpreters.

Permissions zeigt die Berechtigungen Ihrer Unterverzeichnisse an. Damit Joomla!fehlerfrei läuft, müssen hier alle Verzeichnisse beschreibbar (writable) sein.

Abbildung 4.11: Joomla!-Hilfebereich

Page 74: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

74

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.12: Joomla! Help-Systeminformationen

Abbildung 4.13: Menü Site

Page 75: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

75

4.4.1 Site – Global Configuration

Der Arbeitsbereich Globale Konfiguration verwaltet die Änderungen in der Datei confi-guration.php. Hier befinden sich lebenswichtige Dinge wie die Zugangsdaten zumDatenbankserver. Der Arbeitsbereich selbst ist aufgeteilt in zehn Karteireiter.

Site

Site Offline: Wenn Sie beispielsweise Änderungen an Ihrer Website vornehmen undIhre Benutzer darauf hinweisen wollen, können Sie hier die entsprechende Nachricht»einschalten«.

Offline Message: Der hier eingegebene Text wird auf Ihrer Website im oberen Bereichangezeigt, wenn sie »offline« ist. Probieren Sie es einmal aus (Abbildung 4.15).

Abbildung 4.14: Site – Global Configuration – Site

Abbildung 4.15: Wartungsmeldung auf der Website

Page 76: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

76

System Error Message: Hier können Sie ebenfalls eine Nachricht angeben, die ange-zeigt wird, wenn sich keine Verbindung zum Datenbankserver herstellen 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 regis-trierte Benutzer anzeigen zu lassen. Jetzt kann es sein, dass auf diese Seiten in einemöffentlichen Zusammenhang verlinkt wird. Bei der Auswahl JA werden die Linksangezeigt. Wenn ein nicht angemeldeter Besucher auf einen solchen Link klickt,erscheint eine Meldung, dass es sich um einen geschützten Bereich handelt, der eineAnmeldung erfordert.

Allow User Registration: Hier können Sie wählen, ob Sie eine eigene Registrierungvon Benutzern zulassen wollen oder nicht. Wenn Sie beispielsweise eine Firmen-Website betreiben, könnten Sie Ihren Mitarbeitern ein Benutzerkonto anlegen, es aberverbieten, dass sie sich selbst ein Konto erstellen. Bei einer Community-Website ist esdagegen 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 eineseparate Aktivierung verlangen. Der Benutzer erhält automatisch eine E-Mail an dievon ihm angegebene Adresse. In dieser E-Mail befindet sich ein Link zum Freischal-ten 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 Website in den Debug-Modus versetzen.

Nach dem Einschalten dieser Funktion werden unter der Website die Datenbankab-fragen angezeigt. Um eine einzige Seite von Joomla! zu generieren, sind in diesem Fall79 Datenbankabfragen notwendig (Abbildung 4.16).

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 suchen – war damalsalso wörtlich zu nehmen. Heute geht es um Fehler in Software-programmen, beispielsweise eine nicht funktionierende Datenbank-abfrage.

Page 77: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

77

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 denAnfängen grafischer Benutzeroberflächen, als es erstmals möglich war, Texte in einerTextverarbeitung zu schreiben und beim Schreiben zu sehen, wie das fertige Ergebnisnach dem Druck aussehen wird. Heute geht es weniger um das Drucken, sondernmehr um die Darstellung auf Ihrer Website.

Im Internet füllen Sie normalerweise Formulare aus, ohne die Möglichkeit einer For-matierung. Die Formatierung erfolgt über HTML-Tags oder programmspezifischeKü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 denenFormatierungen benötigt werden, wird dieser Editor automatisch eingeblendet(Abbildung 4.17). Er funktioniert unter allen gängigen, aktuellen Browsern. Joomla!bietet die Möglichkeit, auch andere HTML-Editoren einzubinden.

Standardmäßig wird momentan der Editor TinyMCE benutzt.6

Abbildung 4.16: Debug Mode mit Datenbankabfragen

Abbildung 4.17: WYSIWYG-Editor

6 http://tinymce.moxiecode.com/.

Page 78: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

78

List Length: Auf Ihrer Website tauchen immer wieder Listen auf, beispielsweiseNews und Links. Hier stellen Sie ein, wie viele Einträge eine Liste standardmäßighaben soll.

Favourites Site Icon: Jede Website kann ein so genanntes Favourite Site Icon (Favicon)dem Browser anbieten. Dieses kleine Bild wird links neben dem URL sowie in denLesezeichen im Browser dargestellt. Das funktioniert in den meisten Browsern ganzgut, im Internet Explorer nur unter bestimmten Bedingungen (Abbildung 4.18 undAbbildung 4.19). Die Icons müssen in einem bestimmten Format vorliegen.7 Hierlegen Sie den Namen für das Icon fest. Sie finden die Datei im Hauptverzeichnis vonJoomla!.

Locale

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

Language: Hier legen Sie die Sprache der Website fest. In der Optionsliste werdenalle verfügbaren Sprachen angezeigt. Wie Sie neue Sprachpakete installieren, zeigtKapitel 4.1.1.

7 IconEdit32 1.0 – siehe Downloadhinweise im Anhang.

Abbildung 4.18: Favicon in Mozilla

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

Abbildung 4.20: Site – Global Configuration – Locale

Page 79: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

79

Time Offset: Diese Einstellung kann benutzt werden, um die richtige Zeit anzuzeigen,wenn beispielsweise der Server, auf dem Joomla! läuft, in den USA steht, die Websiteaber 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 istes de_DE (Linux) bzw. ge (Windows). PHP bietet die Möglichkeit, verschiedene Funk-tionen abhängig von dem als Locale eingegebenen Kürzel auszuführen. Der Ansatz istgut, wird aber nicht immer bei der Template-Erstellung berücksichtigt. Bei der kor-rekten Locale für Ihr Betriebssystem sollten auch die Tages- und Monatsnamen in derlokalen Sprache erscheinen.

Content

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

Linked Titles: Hier können Sie einstellen, dass der Titel eines Inhaltselements als Linkdargestellt 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 demeigentlichen Text. An dieser Stelle entscheiden Sie, ob unter dem Aufmacher ein ReadMore-(Mehr lesen-)Link erscheinen soll, der auf den kompletten Text verweist.

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

Abbildung 4.21: Site – Global Configuration – Content

Page 80: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

80

Item Rating/Voting: Dies bietet die Möglichkeit, Ihre Inhalte von den Besuchernbewerten zu lassen. Wenn Sie JA anklicken, wird über dem Inhalt ein Bewertungs-modul angezeigt (Abbildung 4.22).

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

Created Date and Time: Sollen das Datum und die Zeit der Erstellung eines Inhaltsangezeigt werden? Wenn Sie JA auswählen, wird über dem Artikel ein Text wie Sams-tag, 17. September 2005 geschrieben.

Modified Date and Time: Sollen das Datum und die Zeit der Änderung eines Inhaltsangezeigt werden? Wählen Sie JA, kommt unter dem Text Letztes Update (Samstag, 17.September 2005).

HITS: Hier wird entschieden, ob die Anzahl der Zugriffe auf einen Inhalt angezeigtwerden soll.

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

Abbildung 4.22: Voting-Funktion

Abbildung 4.23: News-Liste mit Zugriffen

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

Page 81: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

81

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 auf-bereitet 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).

Icons: Hier entscheiden Sie, ob PDF, Print und E-Mail als Icon oder als Link dar-gestellt werden.

Table of Contents on multi-page items: Es ist möglich, Inhalte über mehrere Seiten zuschreiben. Dazu wird ein Mambot in den Text eingebunden.10 Wenn Sie JA auswäh-len, wird automatisch ein Inhaltsverzeichnis für diese Inhalte erzeugt.

Abbildung 4.24: PDF-Ausgabe eines Inhalts

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

10 Mehr zum Thema Mambots in Kapitel 7.

Page 82: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

82

Back Button: Wollen Sie einen ZURÜCK-Button auf jeder Seite?

Content Item Navigation: Wenn Sie hier JA auswählen, wird unter den Inhalten eineLeiste mit den Buttons NEXT und PREVIOUS eingeblendet, mit denen Sie durch dieInhalte dieser Kategorie blättern können.

Database

Unter diesem Reiter sehen Sie die Zugangsdaten zu Ihrem MySQL-Server (Abbildung4.26).

Server

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

Abbildung 4.26: Site – Global Configuration – Database

Abbildung 4.27: Site – Global Configuration – Server

Page 83: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

83

Absolute Path: Der absolute Pfad auf Ihrem Server ist der Pfad, der den Weg vomroot-Verzeichnis des Servers zu Ihrer Joomla!-Installation beinhaltet. In der lokalenVariante unter Windows ist das beispielsweise C:/xampplite/htdocs/Joomla!, auf demLinux-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 Administratorpasswort11

GZIP Page Compression: Hier können Sie eine Komprimierung der Seiten einschal-ten. Wenn Browser und Webserver diese Funktion unterstützen, werden die Seitenim 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 sogenannte Session. Wenn Sie sich nicht abmelden, so wird diese Session nach der hiereingestellten Anzahl von Sekunden gelöscht.

Error Reporting: Mit diesen Schaltern werden die PHP-eigenen Fehlerreportmecha-nismen aktiviert.

Help Server: Hier können Sie einen anderen URL für den Joomla!-Helpserver ein-tragen.

File Creation: Wenn Dateien auf dem Server durch Joomla! angelegt werden, werdenim Server eingestellte Standardrechte auf diese Dateien angewendet. In den meistenFällen ist diese Einstellung ausreichend. Sollten Sie Probleme beim Upload haben,können 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.

11 Admin-Passwort vergessen? – siehe Anhang.

Option Beschreibung

System Default Hier wird die Einstellung aus der Konfigurationsdatei php.ini übernom-men.

None Fehler werden nicht protokolliert.

Simple Fehler und Warnungen werden protokolliert. Diese Einstellung ent-spricht dem Parameter error_reporting (E_ERROR|E_WARNING|E_PARSE).

Maximum Fehler, Warnungen und Hinweise werden protokolliert. Diese Einstel-lung entspricht dem Parameter error_reporting (E_ALL).

Tabelle 4.2: Error Reporting

Page 84: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

84

Metadata

Metadaten sind Daten über Daten, also beispielsweise eine Beschreibung Ihrer Web-site. Metadaten spielen bei Suchmaschinen eine Rolle. Wie groß diese Rolle ist, istjedoch umstritten. Trotzdem stellen Metadaten einen guten Weg dar, in kurzen undklaren Worten Ihre Website zu beschreiben. Wenn Sie in den HTML-Quellcode einerJoomla!-Seite schauen, sehen Sie im oberen Bereich die folgenden Metatags.

<meta name="description" content="Joomla - the dynamic portal engine and content � management system" />

<meta name="keywords" content="Joomla, joomla" />

Sie können diese Beschreibungen hier mit Standardwerten belegen (Abbildung 4.28).

Global Site Meta Description: Diese Beschreibung des Seiteninhalts wird bei derAnzeige von Suchmaschinenergebnissen oft ausgegeben. Diesem Tag sollte mandaher 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 ineinem Dokument. Sie sollten hier die zentralen Begriffe Ihrer Website auflisten. Man-che Suchmaschinen suchen besonders in den Keywords. Die einzelnen Wörter wer-den durch Kommata getrennt, mehrere Wörter lassen sich zwischen zwei Kommatamit normalen Leerzeichen eintragen. Die Schlüsselwörter sollten auf max. 1.000 Zei-chen 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 meistgebrauchtenSchlüsselwörter sind und nach welchen am ehesten gesucht wird.12

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 alsMetatag angezeigt.

Abbildung 4.28: Site – Global Configuration – Metatags

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

Page 85: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

85

Mail

Unter diesem Karteireiter können Sie über die Art und Weise des Joomla!-E-Mailver-sands entscheiden (Abbildung 4.29).

Mailer: Hier können Sie wählen, ob Sie die eingebaute Mailfunktion von PHP, dasProgramm Sendmail oder ein anderes E-Mail-Konto, beispielsweise bei Yahoo oderGMX, nutzen wollen.

Mail From: Diese E-Mail-Adresse wird als Absender bei automatisch von Joomla!generierten Mails eingetragen.

From Name: Dieser Name wird als Absender bei automatisch von Joomla! generiertenMails angegeben.

Sendmail Path: Falls Sie anstelle der PHP-Mailfunktion das auf vermutlich allenLinux-Servern verfügbare Programm sendmail benutzen wollen, müssen Sie hier denPfad 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

Cache

Unter einem Cache versteht man ein Zwischenlager. Ihr Browser hat beispielsweiseeinen Bildercache, um einmal geladene Bilder aus dem Internet schneller bereitstellenzu können.

Joomla! benutzt einen ähnlichen Mechanismus auf dem Server, um die durch PHPgenerierten Seiten zwischenzuspeichern. Bei sehr stark frequentierten Seiten kanndiese Funktion die Antwortzeiten stark verringern.

Abbildung 4.29: Site – Global Configuration – Mail

Page 86: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

86

Statistics

Unter diesem Reiter können Sie die Statistikfunktionen für Ihre Website ein- und aus-schalten.

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

Log Content Hits by Date: An dieser Stelle schalten Sie die täglich aktualisierteInhalte-Statistik ein. Hier werden nicht nur komplette Seitenzugriffe, sondern dieZugriffe 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 SuchmaschineGoogle veröffentlicht ihre Suchstrings unter dem Stichwort Zeitgeist.13

SEO (Search Engine Optimization)

In diesem Bereich geht es um suchmaschinenfreundliche URLs. Normalerweise siehtein URL eines Contentmanagementsystems etwa so aus:

http://localhost/Joomla!/index.php?option=com_contact&Itemid=3

Solche URLs werden von Suchmaschinen normalerweise nicht gespeichert, weil dieSuchmaschine davon ausgeht, dass sich der Inhalt dynamisch aufbaut und vermut-lich bald ändert.

Abbildung 4.30: Site – Global Configuration – Cache

Abbildung 4.31: Global Configuration – Statistik

13 http://www.google.de/press/zeitgeist.html.

Page 87: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

87

Search Engine Friendly URLs: Mit diesem Schalter können Sie aus einem dynami-schen URL einen suchmaschinenfreundlichen URL machen. Wenn Sie den Schalterauf 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 RewriteEngine kann er URLs beliebig manipulieren. Außer dem Umstellen des Schalters müs-sen Sie auch noch die Datei htaccess.txt im Joomla!-Verzeichnis in .htaccess umbenen-nen.

Unter Windows ist eine solche Umbenennung nur mit bestimmten Programmen wiebeispielsweise dem Editor Ultraedit möglich.14 Unter Linux funktioniert die Um-benennung problemlos, die Datei wird aber anschließend meist nicht mehr in IhremFTP-Client angezeigt (abhängig von der Serverkonfiguration). Außerdem kann essein, dass der Provider .htaccess-Dateien nicht zulässt, da sie ein Sicherheitsrisiko fürden Webserver darstellen.

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

4.4.2 Site – Language Manager

Den Language Manager kennen Sie schon von unseren ersten Gehversuchen (sieheKapitel 4.1.1). Außer dem Auswählen von Sprachen für die Website können Sie hierauch neue Sprachdateien installieren. Bei unserem ersten Versuch haben wir das überdas Hochladen der Sprachdatei realisiert.

Joomla! 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, dassSie mehrere Sprachdateien in einem Arbeitsgang installieren können.

Abbildung 4.32: Global Configuration – SEO

14 http://www.ultraedit.com/.

Abbildung 4.33: Dynamische Seitentitel

Page 88: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

88

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 zwarAdministrationsrechte, aber keinen FTP-Zugang haben.

Directory: Hier wählen Sie das gewünschte Verzeichnis aus, dessen Inhalt darunterangezeigt werden soll.

Medienleiste: In dieser Leiste werden Ihnen die Dateien (Medien) angezeigt. Unter-halb der Medien finden Sie, abhängig vom Medientyp, mehr Informationen zurjeweiligen Datei. Grundsätzlich wird ein Stift-Icon und ein Mülleimer-Icon angezeigt.Mit Klick auf den Stift erzeugen Sie einen kompletten HTML-Link, den Sie dann perCopy&Paste in Ihren Inhalt einfügen können. Klicken Sie beispielsweise auf den Stiftdes Joomla!-Logos, so erscheint im Feld Code darunter folgender Ausdruck:

<img src=»http://localhost/Joomla100/images/joomla_logo_black.png« align=»left« hspace=»6«alt=»Image« />

Das ist die HTML-Beschreibung, um ein Bild linksbündig mit einem Rand von6 Pixeln darzustellen.

Abbildung 4.34: Language Manager – Install new Language

Abbildung 4.35: Site – Media Manager

Page 89: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

89

Upload: Hier klicken Sie auf DURCHSUCHEN … und wählen die gewünschte Datei aufIhrer lokalen Festplatte aus. Anschließend klicken Sie in der Werkzeugleiste auf dasIcon UPLOAD. Die Datei wird hochgeladen und angezeigt.

Als Grundregel sollten Sie als Downloadzeit für 100 Kbyte (etwa die Größe einerPortalwebseite mit Bildern) folgende Zeiten im Hinterkopf haben (Tabelle 4.3).

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 wirddieses Unterverzeichnis angelegt und kann durch die Optionsliste im oberen Bereich(Directory) ausgewählt werden.

4.4.4 Site – Preview

Hier erhalten Sie eine Preview (Vorschau) auf Ihre Website (Abbildung 4.36). Siehaben drei Möglichkeiten:

In New Window: Die Vorschau wird in einem neuen Browserfenster angezeigt.

AchtungAchtung

Joomla! benutzt die Medien so, wie sie sind. Denken Sie daran, dasses keine gute Idee ist, 3 Mbyte große Bilder aus einer Digitalkamerain dieser Größe auf Ihre Webseite zu stellen. Bilder sollten im Internetmaximal 50 Kbyte groß sein. Es gibt auch Menschen, die keinen High-Speed-Zugang zum Internet haben!

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

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 oder den Wert in derKonfigurationsdatei php.ini entsprechend ändern.

Page 90: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

90

Inline: Die Vorschau wird im Workplace (Arbeitsbereich) eingeblendet, mit Scroll-balken 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.

4.4.5 Site – Statistics

Hier können Sie die Statistikdaten auswerten, die Sie in Kapitel 4.4.1 unter dem ReiterStatistics hoffentlich eingeschaltet haben (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 DomainZugriffe auf Ihre Seite erfolgt sind. Die Daten beruhen auf den Daten, die ein Browserautomatisch an den Webserver liefert. Wenn beispielsweise Google Ihre Seite miteinem Programm besucht, um Ihre Seiten in den Index aufzunehmen, werden keineInformationen übertragen.

Page Impressions: Hier sehen Sie die einzelnen Seiten, das Erstellungsdatum und dieMenge der Zugriffe.

Search Text: Hier werden Ihnen die von Ihren Besuchern eingegebenen Suchbegriffepräsentiert.

Abbildung 4.36: Site – Global Configuration – Preview

Abbildung 4.37: Site – Statistics

Page 91: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

91

4.4.6 Site – Template Manager

Auch den Template Manager kennen Sie bereits aus Kapitel 4.1.4, in dem wir ein ande-res Template für die Website festgelegt haben (Abbildung 4.38).

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 alsStandardtemplate für Ihre Seite zu benutzen.

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

Abbildung 4.38: Site – Template Manager

Abbildung 4.39: Site – Template Manager – Assign

Page 92: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

92

Die vorhandenen Menüelemente werden Ihnen angezeigt. Markieren Sie die entspre-chenden Elemente, denen Sie das Template zuordnen wollen. Eine Mehrfachauswahlerreichen 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 Kapitel4.1.1. Es gibt eine große Auswahl vorhandener Templates15, die Sie entweder perUpload oder über die Installation aus einem Verzeichnis installieren können.

Edit HTML/Edit CSS: Hier können Sie direkt den HTML- oder CSS-Quellcode desausgewählten Templates bearbeiten (Abbildung 4.40). Templates bestehen immer auseiner HTML- und einer CSS-Datei.

Trotzdem ist es auch für den Anfänger interessant zu sehen, wie ein Template auf-gebaut ist.16

Delete: Hier können Sie ein installiertes Template komplett löschen.

15 Z.B. http://www.joomlaos.de/.

Abbildung 4.40: Site – Template Manager – HTML-Editor

AchtungAchtung

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

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

Page 93: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

93

Install

Die Installationsmaske für Site Templates. Hier landen Sie, wenn Sie in Site Templatesauf NEW klicken oder direkt über das Menü SITE -> TEMPLATE MANAGER -> INSTALL

gehen. Sie können hier neue Template-Dateipakete per Upload oder per Verzeichnis-installation installieren.

Administrator Templates

Was für Ihre Website gilt, gilt natürlich auch für die Administrationsoberfläche. Siekönnen hier analog zu den Site-Templates Ihrer Administrationsoberfläche andereTemplates zuweisen und neue installieren. Standardmäßig bietet Joomla! zwei Admi-nistrator-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 auchdirekt ü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 SieModulinhalte anzeigen lassen (siehe auch Kapitel 4.8).

4.4.7 Site – Trash Manager

Beim Trash Manager befindet sich Ihr Mülleimer. Er sammelt unter zwei KarteireiternInhalts- und Menüelemente, die Sie durch einen Klick auf das Icon TRASH in denPapierkorb 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ültiggelöscht.

Abbildung 4.41: Site – Trash Manager

Page 94: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

94

4.4.8 Site – User Manager

Benutzer (User) spielen auf Ihrer Joomla!-Seite eine ganz besondere Rolle. Sie sindmomentan der einzige Benutzer (Admin), den die Joomla!-Administration kennt.Wenn Sie eine Benutzerregistrierung auf Ihrer Website erlauben (siehe Kapitel 4.4.1),so werden es vermutlich schnell mehr werden. Im Benutzermanager (Abbildung 4.42)können Sie die Benutzer ändern, löschen, blocken und ihnen verschiedene Rechtezuweisen.

Auf der Übersichtsliste sehen Sie den echten Namen des Benutzers, ob der Benutzergerade 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 Web-site. Diese Angabe bezieht sich auf das letzte Login auf Ihrer Website, nicht auf dasLogin in der Joomla!-Administration.

New

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

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 Kapitel 4.4.1).

Password: Das Passwort muss zweimal zur Überprüfung eingegeben werden.

Abbildung 4.42: Site – User Manager

Page 95: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.4 Menü Site

95

Group: Die Gruppenzugehörigkeit teilt sich in zwei große Bereiche. Benutzer, die sichnur auf Ihrer Website (Public Frontend) anmelden dürfen (Tabelle 4.4), und Benutzer,die sich in der Joomla!-Administration (Public Administration) anmelden dürfen(Tabelle 4.5). Alle Inhalte in Joomla! können diesen Gruppen zugeordnet werden.

Abbildung 4.43: Site – User Manager – New

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 Nachrichten schreiben und seine eigenen Nachrichten ändern. Dazu befindet sich in seinem Benutzermenü normalerweise ein Link.

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

Page 96: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

96

Es besteht in Joomla! die Möglichkeit, mehrere WYSIWYG-Editoren zu installieren.Sie können im Bereich PARAMETER dem Benutzer einen dieser Editoren zuordnen.

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.

Special Users

Ein Special User ist jeder Benutzer, der mehr Rechte als ein Autor hat. Momentan ist esnicht möglich, eigene Benutzergruppen in Joomla! anzulegen, und so hilft die GruppeSpecial Users dabei, Inhaltselemente auf diese Gruppe zu beschränken.

Das kann sehr hilfreich sein, wenn man beispielsweise Links zu internen Hilfetextennur für die Special User einblenden will.

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

tratoren ä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 Superadminis-tratoren ändern

� den Menüpunkt SITE -> GLOBAL CONFIGURATION bearbeiten� eine Rundmail an alle Benutzer versenden� Templates und Sprachdateien ändern und installieren

Super Administrator � Ein Superadministrator darf alle Funktionen in der Joomla!-Adminis-tration ausführen. Nur ein Superadministrator kann einen anderen Superadministrator anlegen.

Tabelle 4.5: Backend-Benutzergruppen

Page 97: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.5 Menü Menu

97

4.5 Menü Menu

Hier werden die einzelnen Menüs verwaltet. Joomla! verfügt in den Beispieldatenüber vier verschiedene Menüs (mainmenu, topmenu, othermenu, usermenu). Das top-menu ist ein horizontales Menü, die anderen Menüs sind vertikal. Jedes Menü ist miteinem so genannten Modul gekoppelt, das im Modulmanager verwaltet wird (Kapi-tel 4.8). Im Arbeitsbereich Menu Manager und in der Menüleiste werden Ihnen die vierMenüs angezeigt (Abbildung 4.44). Sie können die vorhandenen Menüs über dieMenüleiste MENU -> MAINMENU, OTHERMENU, ... aufrufen oder im Menu Manager aufdas dem entsprechenden Menü zugeordnete Icon MENU ITEM klicken.

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

4.5.1 Vorhandenes Menü anpassen

Rufen Sie SITE -> MENU MANAGER -> MAINMENU auf (Abbildung 4.45).

Hier haben Sie zu Beginn des Kapitels schon SEARCH in SUCHE geändert (Kapitel4.1.3). Der erste veröffentlichte Menüeintrag, der hier in der Liste steht, wird als Start-seite Ihrer Website angezeigt. Momentan ist das die Frontpage. Sie können aber auchjedes beliebige andere Element zur Startseite machen.

New

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

Abbildung 4.44: Site – Menu – Menu Manager

Page 98: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

98

Edit

Hier können Sie ein vorhandenes Menü ändern, beispielsweise die LINKS. Nacheinem 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önnenParameter festgelegt werden. Die Anzahl und die Art der Parameter sind abhängigvom Typ des Menüeintrags.

Abbildung 4.45: Site – Menu Manager – Mainmenu

Abbildung 4.46: Site → Menu Manager → Mainmenu → Links → Edit

Page 99: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.5 Menü Menu

99

Details-Name: Das ist der Name des Menüs, der auf Ihrer Website erscheint.

Details-Component: Hierüber erfahren Sie, welche Art von Inhalt sich hinter demMenüeintrag verbirgt. Diese Einstellung wird beim Erstellen des Menüeintrags ange-geben. In unserem Fall wird die Komponente Web Links angesprochen.

Details-URL: Das ist der Aufruf der Komponente im URL String. Angezeigt wird derTeil hinter dem Domainnamen. 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 einordnenund abspeichern, ändert sich die Anzeige im Menu Manager (Abbildung 4.47) und dieAnzeige auf Ihrer Website. Auf der Website ist der Menüeintrag LINKS jetzt in dieNEWS gerutscht. Sie müssen also erst auf NEWS klicken, um den LINKS-Eintrag wiederzu sehen. Auf diese Art lässt sich Ihre Website sehr einfach und effektiv wie einDateibaum strukturieren.

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 FeldORDERING können Sie dies über eine Liste erledigen. Das hat den Vorteil, dass Sienicht 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.

Abbildung 4.47: Baumstrukturen im Menu Manager

Abbildung 4.48: Baumstrukturen auf der Website

Page 100: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

100

Details-Published: Hier können Sie das Menü veröffentlichen oder sperren.

Parameter-Menu Image: Hier können Sie ein Bild angeben, das im Wurzelverzeichnisdes Media Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig vomTemplate links neben dem Menüeintrag angezeigt.

Parameter-Page Class Suffix: Hier können Sie eine Klasse aus der CSS-Datei IhresTemplates 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 Linksein- 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 einemLink 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. Darunterbefindet sich eine Liste mit verfügbaren Kategorien und Sektionen. Diese Liste kön-nen Sie mit den beiden Schaltern ein- bzw. ausblenden (Abbildung 4.49).

Parameter-Description: Hier können Sie die allgemeine Beschreibung der LINK-Kom-ponente ein- oder ausblenden.

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 desMedia Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig von Para-

Abbildung 4.49: Individueller Weblink-Bereich I

Page 101: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.5 Menü Menu

101

meter-Image Align links oder rechts vom Beschreibungstext angezeigt. In Abbildung4.50 wurde die Datei joomla_rss.png ausgewählt).

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 (Abbildung4.50)

Publish

Wenn Sie ein oder mehrere Menüelemente auswählen und auf das Icon PUBLISH

klicken, werden diese veröffentlicht.

Unpublish

Wenn Sie auf das Menü UNPUBLISH klicken, werden die markierten Einträge nichtmehr auf der Website angezeigt.

Move

Abbildung 4.50: Individueller Weblink-Bereich II

Abbildung 4.51: Site – Menu Manager – Mainmenu – Move

Page 102: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

102

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

Copy

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

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 landenim Papierkorb.

4.5.2 Neues Menü erzeugen

Lassen Sie uns ein Menü mit dem Namen Joomla! Buch und einem Link zuhttp://www.joomla.org/ erzeugen. Rufen Sie MENU -> MENU MANAGER -> NEW auf undgeben Sie in das Feld Menu Name den internen Namen des Menüs ein. Achten Sie aufeinen aussagekräftigen Namen ohne Leerzeichen. In das Feld Module Title geben Sieden Namen ein, der später auf der Website erscheinen wird (Abbildung 4.52).

Menu Name: Der Name des Menüs. Dieser Name taucht nicht auf der Website auf, erdient nur dazu, zwischen Modul und Menü eine Verbindung herzustellen. Ich wähleJoomla_Buch.

Module Title: Der Name des Moduls, so, wie er auf der Webseite erscheint.

Ich wähle Joomla! Buch.

Abbildung 4.52: Site – Menu Manager – New

Page 103: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.5 Menü Menu

103

Nach einem Klick auf SAVE erzeugt Joomla! ein neues Modul mit dem angegebenenNamen (Abbildung 4.53). Klicken Sie nun auf das Icon MENU ITEMS oder rufen Sie inder Menüleiste SITE -> MENU MANAGER -> JOOMLA_BUCH auf. Sie erhalten die Über-sichtsmaske über die Inhalte des Menüs Joomla_Buch. Da noch keine Inhalte vorhandensind, klicken Sie auf das Icon NEW. Auf der dann erscheinenden Auswahlmaske kön-nen Sie aus vier verschiedenen Bereichen Inhalte wählen (Abbildung 4.54).

Content

Inhalte teilen sich in Blogs, Links und Tables. Ein Blog im Sinne von Joomla! ist eineListe 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. EineSection ist ein Gliederungselement. Innerhalb einer Section kann es Kategorien geben.Die Bedeutung der Auswahlmöglichkeiten finden Sie in Tabelle 4.6.

Abbildung 4.53: Neues Menü im Menu Manager

Abbildung 4.54: Site – Menu Manager – New Menu Item

Page 104: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

104

Miscellaneous

Components

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 (Joomla! License Guidelines)

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

Auswahl Bedeutung

Separator / Placeholder Einfügung eines Trennstrichs in das Menü

Wrapper Hier kann eine externe Seite innerhalb der Website ange-zeigt werden, beispielsweise Teile Ihrer alten Website oder ein bereits vorhandenes Gästebuch

Tabelle 4.7: New Menu Item – Miscellaneous

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

Page 105: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.5 Menü Menu

105

Links

Um einen Link auf einen URL einzufügen, markieren Sie das letzte Auswahlfeld LINK

– URL und klicken in der Werkzeugleiste auf NEXT. In dem Formular, das sich öffnet,können Sie die Details und die Parameter des Links festlegen (Abbildung 4.55).

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

Link: Der Link zur Seite (http://www.joomla.org)

On Click, Open in: Was soll passieren, wenn jemand auf den Link klickt? Soll das Zielim gleichen Browserfenster, einem neuen Browserfenster mit Navigation oder einemneuen Browserfenster ohne Navigation ausgeführt werden?

Parent Item: Soll der Menüeintrag ein Untermenü eines übergeordneten Eintragssein?

Access Level: Soll der Menüeintrag für die Gruppen Public (Besucher), Registered oderSpecial sichtbar sein?

Auswahl Bedeutung

Link – Component Item Link auf eine Komponente (z.B. Login)

Link – Contact Item Link auf einen Eintrag in der Kontaktliste

Link – Content Item Link zu einem Inhaltselement (z.B. Example News Item 2)

Link – Newsfeed Link auf eine Nachricht aus der Section News

Link – Static Content Direkter Link zu einer statischen Inhaltsseite; in den Bei-spieldaten gibt es eine statische Inhaltsseite (Joomla! License Guidelines)

Link – Url Link auf einen URL (z.B. http://www.joomla.org)

Tabelle 4.9: New Menu Item – Links

Abbildung 4.55: Site – Menu Manager – Joomla! Buch – New Menu Item – Link URL

Page 106: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

106

Published: Soll das Menü veröffentlicht werden?

Wenn Sie auf APPLY klicken, werden Ihre Daten gespeichert. Mit einem Klick aufSAVE 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. KlickenSie 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.

Wenn Sie nun Ihre Website aufrufen, sollte über dem Hauptmenü Ihr neues MenüJoomla! Buch stehen (Abbildung 4.57). Alle Buchstaben werden automatisch großgeschrieben. Diese Verhaltensweise ist in der CSS-Datei des Templates festgelegt undkann dort auch verändert werden.

Bei Klick auf den Link Joomla! sollte sich ein Browserfenster mit Navigation öffnenund die Website des Projektes anzeigen.

Abbildung 4.56: Modules – Site Modules

Abbildung 4.57: Neues Menü Joomla! Buch

Page 107: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

107

4.6 Menü Content

Das Menü CONTENT beinhaltet alle Bereiche von Inhalten. Inhalte sind in Joomla! inder folgenden Struktur organisiert.

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

Diese Struktur lässt sich mit Ihrem Dateibaum auf der Festplatte vergleichen. Sie kön-nen beliebig viele Sections, Categories und Static Contents erzeugen. Wenn Sie einzelneElemente archivieren, so wird die Struktur komplett in das Archiv übernommen.

Diese feste Struktur hat Vorteile und Nachteile. Der größte Vorteil ist meiner Mei-nung, dass eine Struktur vorgegeben ist und somit der Administrator eine gewisseHierarchie einhalten muss. Das erleichtert am Anfang die Übersicht und dient derÜberschaubarkeit der Website.

Der Nachteil ist, dass die zweistufige Struktur nicht änderbar ist und sich mancheAdministratoren dadurch in der Individualisierung ihrer Website beschränkt fühlen.

Das Menü Content stellt verschiedene Arbeitsbereiche zur Verfügung, um die Inhalteund die Strukturen zu bearbeiten (Abbildung 4.58).

Abbildung 4.58: Menü Content

Page 108: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

108

4.6.1 Content By Section

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

Section

Unterhalb des Menüs Content By Section werden alle vorhandenen Sections angezeigt.Sie können beliebig viele Sections hinzufügen.

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 (Category) erstellen. Lassen Sie uns als Bei-spiel die Kategorie Joomla! Buch anlegen. Klicken Sie auf NEW.

Category Title: Titel der Kategorie (erscheint in der Titelzeile des Browsers)

Category Name: Der Name der Kategorie, der auf der Website angezeigt wird

Section: Die Section, in der die Kategorie angelegt werden soll, in unserem Falle TheNews

Image: Hier können Sie ein Bild auswählen, das beim Aufruf der Kategorie auf derWebsite dargestellt wird. Das Bild muss sich im Media Manager-Wurzelverzeichnisbefinden (/images/stories/). Ich habe articles.jpg ausgewählt.

Abbildung 4.59: Content – neue Kategorie »Joomla! Buch« anlegen

Page 109: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

109

Image Position: Hier können Sie die Ausrichtung des Bildes festlegen.

Ordering: Hier wird die Sortierung der Kategorie bestimmt. In diesem Fall handelt essich um ein neues Element, das standardmäßig am Ende eingeordnet wird. Nach demersten Speichern kann die Reihenfolge geändert werden.

Access Level: Wer hat Zugriff auf dieses Element?

Published: Soll die Kategorie sofort veröffentlicht werden?

Description: Das ist die Beschreibung der Kategorie. Falls Sie in SITE – GLOBAL CONFI-GURATION – SITE den WYSIWYG-Editor ausgewählt haben (Kapitel 4.4.1), wird Ihnenhier 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 KategorieJoomla! Buch (Abbildung 4.60).

Content Item: Nachdem wir nun eine neue Kategorie angelegt haben, wollen wireinen 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 vierStandardeinträge aus den Joomla!-Beispieldaten. Klicken Sie auf NEW, um in denArbeitsbereich Content Item: New zu gelangen (Abbildung 4.61). Sie sehen ein Formu-lar, das wiederum aus mehreren Bereichen besteht. Im linken Teil steht der eigentli-che Inhalt, im rechten Teil befinden sich mehrere Karteireiter mit verschiedenen Para-metern.

Abbildung 4.60: Content – neue Kategorie im Category Manager

Page 110: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

110

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 Joomla! Buch.

Intro Text/Main Text: Hier geben Sie Ihre eigentliche Nachricht ein. Der Intro Textmuss ausgefüllt werden, der Main Text ist optional.

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

Abbildung 4.61: Content – Content Item-Arbeitsbereich

Page 111: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

111

Um die neue Nachricht gleich in das Menü Suche zu integrieren, klicken Sie nun aufden Karteireiter Link to Menu (Abbildung 4.63).

Sie sehen eine Liste der vorhandenen Menüs.

Wählen Sie das Menü Suche aus, geben Sie in das Feld MENU ITEM NAME 4. Kapitel einund klicken Sie dann auf den Button LINK TO MENU. Die Seite baut sich neu auf undim 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 Websiteschauen, stellen Sie fest, dass das Menü Suche einen Eintrag mehr besitzt. Nach einemKlick auf den Eintrag sehen Sie Ihre Nachricht (Abbildung 4.64).

Abbildung 4.62: Content – Content Preview

Abbildung 4.63: Content – Content Item-Arbeitsbereich – Link to Menu

Page 112: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

112

4.6.2 All Content Items

Das Menü All Content Items führt Sie in den Content Manager (Abbildung 4.65). DerContent Manager ist die zentrale Schaltstelle für jede Art von Inhalt.

In drei Optionslisten im Informationsbereich können Sie die angezeigten Inhalte nachSection (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 angeordnet, mit deren Hilfe Sie durch dieInhalte blättern können. In einer Optionsliste können Sie auswählen, wie viele Ein-träge Sie in der Liste sehen wollen. Standardmäßig gilt hier die Einstellung, die Sieunter SITE – GLOBAL CONFIGURATION – SITE eingestellt haben.

Die Liste ist sortiert nach Section, Kategorie, Autor und Titel.

Abbildung 4.64: Die erstellte Nachricht auf der Website

Abbildung 4.65: Content – Content Items Manager

Page 113: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

113

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 Elementeder Liste ausgewählt.

Der Titel führt als Link zum Editiermodus des Content Items (Abbildung 4.65).

Published zeigt an, ob der Eintrag veröffentlicht ist (grüner Haken) oder nicht (rotesKreuz). Außer diesen beiden Symbolen besteht auch noch die Möglichkeit, dass dieVeröffentlichungsperiode abgelaufen ist und das Element im Archiv liegt.

Frontpage zeigt an, ob der Eintrag auf der Frontpage (siehe Kapitel 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 innerhalbeiner 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 ändernSie die Zugriffsrechte zwischen den drei Gruppen Public, Registered und Special. Dane-ben gibt es auch noch Symbole für Pending (Wartezustand) und Expired (abgelaufen).

ID ist die Datensatznummer innerhalb der Tabelle von MySQL. Diese ID taucht indem URL zu diesem Eintrag wieder auf.

Section ist der Bereich, dem dieser Eintrag zugeordnet ist. Durch einen Klick auf denLink gelangen Sie in den Section Manager.

Category ist die Kategorie, in der dieser Eintrag eingeordnet ist. Ein Klick auf denLink führt Sie in den Category Manager.

Author ist der Autor des Eintrags. Durch einen Klick auf den Link gelangen Sie in denUser 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 Felderfür Sections und Kategorien. Unter Static Content versteht man so etwas Ähnliches wieeine statische HTML-Seite. Innerhalb von Joomla! werden normalerweise Inhalts-elemente und Nachrichten innerhalb von Kategorien und Sections erstellt und einge-ordnet. Die Inhaltselemente haben einen dynamischen Charakter, da sie meist ineiner chronologischen Abfolge angezeigt werden.

Static Content ist statisch und bezieht sich auf Inhalte, die sich selten ändern und die inkeinem chronologischen Zusammenhang zu anderen Inhaltselementen stehen.

Page 114: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

114

Das für jeden deutschen Internetauftritt vorgeschriebene Impressum wäre ein gutesBeispiel für ein statisches Element. Auch in den Beispieldaten finden Sie einen Bei-spieltext für Static Content, nämlich die Lizenzbedingungen von Joomla! (Joomla!Licence Guidelines).

Lassen Sie uns am Beispiel Ihres Impressums die Erstellung von Static Content Mana-ger durchgehen. Klicken Sie dazu auf NEW.

Sie sehen eine Eingabemaske wie in Abbildung 4.66, diesmal allerdings nur mit einemTextfeld. Geben Sie als Title und Title Alias Impressum ein und als Text Ihre Adresse undklicken Sie auf das Icon APPLY.

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 Schaltfläche mit den drei Punkten erhalten Sie einen grafi-schen Kalender als Eingabehilfe (Abbildung 4.67/4.68).

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

Finish Publishing: Hier können Sie das Verfallsdatum des Inhalts bestimmen. Stan-dardmäßig verfallen Inhalte nie (never). Ein Klick auf die Schaltfläche mit den dreiPunkten zeigt Ihnen wieder den grafischen Kalender (Abbildung 4.67/4.68).

Abbildung 4.66: Content – Static Content Manager

Page 115: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

115

Content ID: Die Datensatznummer

Hits: Zugriffe auf diesen Inhalt

Version: Das Dokument hat die Versionsnummer 1. Bei jedem Speichervorgang wirddie Versionsnummer um eins hochgezählt.

Abbildung 4.67: Content – Static Content Item – Publishing

Abbildung 4.68: Kalenderelement

Page 116: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

116

Images

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

Wählen Sie ein Unterverzeichnis aus und klicken Sie auf ein Bild (Abbildung 4.70). Sieerhalten im rechten Bereich eine Vorschau des Bildes und müssen nun noch auf denButton ADD klicken.

Im Fenster darunter sehen Sie jetzt den Dateinamen (Abbildung 4.71). Wenn Sie aufihn klicken, erscheint die Bildervorschau. Sie können beliebig viele Bilddateienzuordnen. Jetzt müssen Sie noch den Ort im Text angeben, an dem das Bild angezeigtwerden soll. Dazu benötigen Sie einen Mambot17 mit dem Namen {mosimage}. Positio-nieren Sie den Cursor an die Stelle, an der das Bild erscheinen soll. Tippen Sie entwe-

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

Abbildung 4.70: Content – Static Content Item – Images

17 Mehr über Mambots in Kapitel 4.9.

Page 117: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

117

der per Hand {mosimage} ein oder klicken Sie auf das Icon INSERT IMAGES unter demTextfenster. Sie müssen für jedes gewünschte Bild einen {mosimage}-Verweis einfügen.Die Bilder werden in der Reihenfolge angezeigt, in der Sie sie ausgewählt haben.

Neben dem INSERT IMAGE-Icon sehen Sie noch ein INSERT PAGE BREAK-Icon. Das ist einMambot, der einen Seitenumbruch repräsentiert – {mospagebreak}. Falls Sie Textehaben, die Sie über mehrere Seiten verteilen wollen, müssen Sie diesen Mambot ein-fügen.

Bei der Darstellung auf der Website erzeugt Joomla! automatisch eine Buttonleistezur Navigation durch den Inhalt (Abbildung 4.72).

Parameters

Über den Karteireiter Parameters können Sie die in SITE – GLOBAL CONFIGURATION

gesetzten Parameter für diesen Inhalt überschreiben.

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

Abbildung 4.72: Von Joomla! erzeugte Navigationsleiste für mehrseitige Inhalte

Page 118: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

118

Meta Info

In diesem Karteireiter können Sie für jede Seite eine spezifische Beschreibung(Description) und Schlüsselwörter (Keywords) als Metadaten eingeben. Die hier ein-gegebenen Texte werden dann im HTML-Quellcode der Nachricht in den Metatagszusätzlich zu den in der globalen Konfiguration festgelegten Metadaten eingebaut.

Abbildung 4.73: Content – Static Content Item – Parameters

Abbildung 4.74: Content – Static Content Item – Meta Info

Page 119: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

119

Link to Menu

Hier lassen sich automatische Links zu einem Menü, beispielsweise dem Hauptmenü,herstellen (siehe Kapitel 4.5.2).

Die Website zeigt einen mehrseitigen Inhalt (Abbildung 4.75 und Abbildung 4.76).

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

Abbildung 4.75: Impressum – Seite 1

Abbildung 4.76: Impressum – Seite 2

Page 120: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

120

4.6.4 Section Manager

Im Section Manager können Sie die Sections (Bereiche) bearbeiten. In der Übersichts-tabelle werden Ihnen die Informationen angeboten, die Sie auch schon aus den anderenListen 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.77).

4.6.5 Category Manager

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

4.6.6 Frontpage Manager

Der Frontpage Manager hat eine besondere Aufgabe. Die Frontpage ist die TitelseiteIhrer Website. Hier werden ausgewählte Inhalte in der Blog Form dargestellt. BlogForm heißt bei Joomla! die Darstellung mehrerer Nachrichten mit Ihrem Intro Textund einem read more-Link in mehreren Spalten. Auf der Frontpage können Sie ausallen Inhalten bestimmte auswählen, unabhängig von Category und Section. Ob einInhalt auf der Frontpage erscheint, legen Sie im Content Manager fest. Der FrontpageManager (Abbildung 4.79) hat den gleichen Aufbau wie der Content Items Manager(Abbildung 4.65). Innerhalb vom Frontpage Manager können Sie die einzelnen Inhaltenoch sortieren.

Abbildung 4.77: Content – Section Manager

Abbildung 4.78: Content – Section Manager

Page 121: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.6 Menü Content

121

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.

Von der Struktur her aufgebaut wie der Content Items Manager (Abbildung 4.65), sam-melt der Archive Manager (Abbildung 4.80) alle Inhalte, die durch Klick auf das IconARCHIVE archiviert wurden.

Die Archive können dann über den Menu Manager beispielsweise in einem neuenArchivmenü angezeigt werden. Dazu gibt es folgende Möglichkeiten (Abbildung4.54):

� Blog – Content Category Archive: Darstellung einer bestimmten Kategorie

� Blog – Content Section Archive: Darstellung einer Section

Abbildung 4.79: Content – Frontpage Manager

Abbildung 4.80: Content – Archive Manager

Page 122: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

122

4.7 Menü Components

In der Softwareentwicklung versteht man unter einer Komponente ein Programm,das Geschäftslogik enthält, über definierte Schnittstellen ansprechbar ist und manch-mal auch eine Benutzeroberfläche hat.

Stellen Sie sich eine Komponente einfach wie eine so genannte Blackbox vor. Ich gebevorn etwas hinein und hinten kommt etwas heraus. Was drinnen vorgeht, muss ichnicht wissen. Wichtig ist, dass ich die Blackbox zu ganz unterschiedlichen Zweckenbenutzen kann.

Komponenten können sehr allgemein konstruiert und in handliche Pakete verpacktwerden. Diese Idee einer Softwarekomponente ist in Joomla! ähnlich. Geschäftslogikwie beispielsweise Bannerverwaltung oder ein Forum werden allgemein beschriebenund arbeiten dann in Joomla! mit allen Templates und der Joomla!-Administrationzusammen.

4.7.1 Install/Uninstall

Grundsätzlich kann jeder eine Komponente schreiben, nach gewissen Regeln ver-packen und per Joomla!-Installation in die Website integrieren (Abbildung 4.81).18

Abbildung 4.81: Components – Install/Uninstall

18 Siehe auch Kapitel 7.

Page 123: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

123

Die Installation erfolgt wie bei den Sprachdateien entweder über Datei- oder FTP-Upload des Komponentenpakets.

Benötigte Datenbanktabellen werden bei der Installation angelegt.

Unter den Installationsfeldern wird Ihnen angezeigt, ob die zur Installation notwen-digen Verzeichnisse media/, administrator/components/, components/ und images/stories/mit Schreibrechten versehen sind.

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 Komponentezugreifen zu können. Diesen Link benötigen nur Komponenten, die von der Websiteaus aufrufbar sein müssen.

Author: Der Autor der Komponente

Version: Die Version der Komponente

Date: Das Erstellungsdatum

Author Email: E-Mail des Autors

Author URL: Website des Autors

4.7.2 Banner

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

Die Komponente Banner bietet eine Kunden- und eine Bannerverwaltung. Standard-mäßig werden so genannte Fullbanner geschaltet. Ein Fullbanner ist 468 * 60 Pixelgroß und sollte eine Dateigröße von 20 Kbyte nicht wesentlich überschreiten. Als For-mate stehen gif, jpg und png zur Verfügung.

Spielen wir mal eine Bannerschaltung durch. Erstellen oder kopieren Sie sich ein Ban-ner in den Maßen 468 * 60 Pixel (Abbildung 4.82).

Abbildung 4.82: Testbanner in der Größe 468 * 60 Pixel

Page 124: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

124

Manage Clients

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

Der Banner Client Manager, in dem Sie nach dem Speichern landen, zeigt jetzt Ihrenneuen 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 überdie vorhandenen Banner gibt (Abbildung 4.84).

Bannername: Name des Banners

Published: Ob das Banner veröffentlicht ist oder nicht

Impressions Made: Anzahl der bisherigen Einblendungen

Impressions Left: Anzahl der verbleibenden Einblendungen

Clicks: Klicks auf das Banner

% Clicks: Prozentualer Anteil von Einblendungen zu Klicks

Um ein neues Banner zu schalten, klicken Sie zunächst auf das Icon UPLOAD. Ein klei-nes Upload-Fenster zum Hochladen des Banners öffnet sich. Die Banner tauchennicht 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.

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

Page 125: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

125

Nachdem Sie das Banner hochgeladen haben, klicken Sie auf das Icon NEW und füllendas Formular Banner: New aus (Abbildung 4.85).

Banner Name: Geben Sie dem Banner einen aussagekräftigen Namen, damit Sie es imBanner Manager 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 oderkreuzen Sie die Checkbox unlimited (unbegrenzt) an.

Abbildung 4.84: Components – Banner Manager

Abbildung 4.85: Components – Banner Manager – Neues Banner

Page 126: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

126

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

Show Banner: Soll das Banner sofort veröffentlicht werden?

Click URL: Geben Sie hier den URL der Website ein, auf die das Banner verweisensoll.

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 dieAnzeige der bereits erfolgten Klicks und einen RESET-Button, um die Clicks wieder aufnull zu setzen.

Nach einem Klick auf das Icon SAVE sollte sich Ihr Banner nun in der Rotation befin-den und auf der Website angezeigt werden.

4.7.3 Contacts

Wenn sich ein Kunde auf Ihrer Website bewegt und Kontakt mit Ihnen aufnehmenwill, so ist das für ihn oft gar nicht so einfach. Normalerweise arbeiten in Firmen vieleAngestellte in verschiedenen Abteilungen und oft findet sich nur eine [email protected] auf der Website oder ein Formular, bei dem der Kunde nicht genau weiß,wer es erhält. Aus diesem Grund gibt es in Joomla! die Möglichkeit, Kontaktkatego-rien festzulegen. In diese Kategorien können Sie Ansprechpartner Ihrer Firma eintra-gen. Joomla! erzeugt auf der Website dann ein Kontaktformular für jeden Mitarbeiter.

Manage Contacts

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

Abbildung 4.86: Kundenbanner auf der Website

Page 127: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

127

Markieren Sie den Beispielkontakt und klicken Sie auf das Icon UNPUBLISH. Mit NEW

legen Sie einen neuen Kontakt an (Abbildung 4.88).

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

Linked to User: Mit dieser Option können Sie einen Kontakt mit einem Benutzerkontoverbinden. 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 beiMiscellaneous Info noch eine Beschreibung hinzufügen. Zum Speichern klicken Sieauf das Icon SAVE.

Abbildung 4.87: Components – Contact Manager

Abbildung 4.88: Components – Contacts – neuer Kontakt

Page 128: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

128

Um das Ganze besonders schön zu machen, ändern Sie im Menu Manager in denMenüs mainmenu und topmenu die Einträge Contact us in Kontakt. Wenn Sie nun aufeinen der beiden Kontaktlinks klicken, sehen Sie Ihre Daten und ein Formular (Ab-bildung 4.89).

Eine VCard ist ein Dateiformat, das sich in viele Adressverzeichnisse automatischeintragen lässt.19

Da wir den Beispieleintrag nicht veröffentlicht haben, gibt es momentan nur einenKontakt im System und keine Notwendigkeit, Kategorien anzuzeigen. Daher ver-zweigt der Kontaktlink sofort auf den einen Eintrag. Wenn Sie den Beispieleintragwieder veröffentlichen, bietet sich folgendes Bild (Abbildung 4.90):

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

Abbildung 4.89: Kontaktformular

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

Abbildung 4.90: Kontaktkategorienliste

Page 129: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

129

Wenn Sie nun auf den Namen klicken, erhalten Sie das Kontaktformular (Abbildung4.89).

Bei der Erstellung des Kontaktes sind Ihnen sicher die Karteireiter aufgefallen. Unterdem Reiter Publishing (Abbildung 4.92) legen Sie fest, welcher Kontakt der Standard-kontakt ist (Site Default). Außerdem können Sie die Veröffentlichung bestimmen, dieSortierung und die Zugriffsberechtigungen.

Unter dem Reiter Image können Sie jedem Kontakt ein Bild zuordnen. FotografierenSie Ihre Belegschaft und lassen Sie Ihren Kunden wissen, wie der Mensch aussieht, anden er schreibt (Abbildung 4.93).

Abbildung 4.91: Kontaktliste innerhalb einer Kategorie

Abbildung 4.92: Neuer Kontakt – Publishing

Abbildung 4.93: Neuer Kontakt – Images

Page 130: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

130

Unter dem Reiter Parameter lässt sich schließlich das Kontaktformular komplett indi-vidualisieren. 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 erweiter- und änderbar.

Contacts Categories

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

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

Abbildung 4.94: Contacts – Kategoriemanager

Abbildung 4.95: Contacts – Kategoriemanager – Edit

Page 131: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

131

4.7.4 Mass Mail

Erfreuen Sie Ihre Benutzer mit Rundmails (Abbildung 4.96)!

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

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 Rundmailim 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-Mailsmö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 Ihrerlokalen Umgebung eine Rundmail schicken wollen, aber keinen Mailserver laufenhaben, so können Sie in den Maileinstellungen auch den SMTP-Server Ihres Mailpro-viders eintragen.

Abbildung 4.96: Components – Mass Mail

Page 132: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

132

4.7.5 Newsfeeds

Newsfeeds sind eine tolle Sache. Die immer größere Informationsfülle im Internet machtes notwendig, effektive Methoden der Organisation zu erproben. Wenn Sie beispiels-weise 20 Internetseiten haben, die Sie regelmäßig besuchen, um nachzuschauen, wases Neues gibt, so dauert das einfach Zeit. Bei 50 oder 100 Seiten ist es schon hoffnungs-los, den Überblick zu behalten. Newsfeeds sind ein Versuch, das Problem zu lösen. WasNewsfeeds sind und wie sie erzeugt werden, lesen Sie weiter unten in Kapitel 4.7.7.

In der Newsfeeds-Komponente können Sie Feeds von anderen Seiten in Ihre Seiten ein-binden. Dazu stehen Ihnen eine Kategorie und ein Inhaltsmanager zur Verfügung. Inden Beispieldaten sind bereits mehrere Kategorien und zahlreiche Newsfeeds enthalten.

Binden Sie mal ein eigenes Newsfeed ein. Sie können eine Suchmaschine für diesen Zweckbenutzen20 oder bei den Sites, die Sie besuchen, den kleinen XML-Button suchen.

Manage Newsfeeds

Klicken Sie auf COMPONENTS – NEWSFEEDS – MANAGE NEW FEEDS – NEW (Abbildung4.97).

Name: Name des Newsfeeds, der auf Ihrer Seite erscheint

Category: Wählen Sie aus den vorhandenen Kategorien eine passende aus.

Link: Der Link zum Newsfeed, in unserem Fall 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 seinin Sekunden?

Ordering: Die Reihenfolge. Neue Newsfeeds stehen standardmäßig am Anfang. DieReihenfolge kann geändert werden, nachdem gespeichert wurde.

Published: Soll es gleich veröffentlicht werden?

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

Abbildung 4.97: Neues Newsfeed einbinden

Page 133: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

133

Ihr neues Newsfeed, einen Internetzugang vorausgesetzt, wird jetzt in Ihrer Websiteangezeigt (Abbildung 4.98). In der Joomla 1.0.0-Version gibt es allerdings noch Prob-leme mit den Umlauten. Um dies zu beheben, ändern Sie in der Datei

[PfadzuJoomla!]/components/com_newsfeeds/newsfeeds.html.php

die folgenden Zeilen entsprechend ab:

Zeile 274<?php echo htmlentities( $currChannel->getTitle() ,ENT_QUOTES,'utf-8'); ?>Zeile 284<?php echo htmlentities( $currChannel->getDescription() ,ENT_QUOTES,'utf-8'); ?>Zeile 317:<?php echo htmlentities( $currItem->getTitle() ,ENT_QUOTES,'utf-8'); ?>

Und Zeile 322:$text = htmlentities( $currItem->getDescription(),ENT_QUOTES,'utf-8' );

Wenn Sie nun beispielsweise das Newsfeed der Tagesschau einbinden:

http://www.tagesschau.de/newsticker.rdf

erhalten Sie die neuesten Nachrichten auf Ihrer Webseite.

Abbildung 4.98: Newsfeeds auf Ihrer Webseite

Page 134: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

134

Manage Categories

Hier können Sie die Newsfeed-Kategorien verwalten. Die Verwaltung funktioniertanalog zum Contacts-Kategoriemanager (Abbildung 4.94).

4.7.6 Polls

Das integrierte Umfragemodul erlaubt es Ihnen, Umfragen auf Ihrer Website anzu-bieten. Eine Umfrage ist bereits in den Beispieldaten enthalten (Abbildung 4.99).

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 derWebsite die Umfrage angezeigt werden soll. Mehrfachauswahl mit gedrückter(Strg)-Taste und linker Maustaste.

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

Auf Ihrer Website können Sie dann die Umfrage sehen (Abbildung 4.100).

Abbildung 4.99: Components – Poll – Edit

Page 135: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

135

Wenn Sie jetzt die Umfrage ausprobieren und eine Antwort wählen, erscheint eineAuswertungsmaske. Die Umfrage selbst wird jetzt vermutlich nicht mehr gezeigt,denn sie war standardmäßig nur der Frontpage zugeordnet. Die Zuordnung zu deneinzelnen Seiten konfigurieren Sie im Modulmanager (siehe Kapitel 4.8.2).

4.7.7 Syndicate

In der Komponente Syndicate können Parameter für das Erzeugen von Newsfeeds fest-gelegt werden.

Abbildung 4.100: Umfrage auf der Website

Abbildung 4.101: Umfrageauswertung auf der Website

Page 136: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

136

Ein Newsfeed ist eine XML-Datei, die nach den gängigen Standards aufgebaut ist (Lis-ting 4.1). Sie können diese Datei durch einen Klick auf den RSS 0.91-Button auf IhrerWebsite (Abbildung 4.102) erzeugen. Sie ist nicht zum Lesen gedacht, sondern dientlediglich als Austauschformat zwischen zwei Programmen.

Normalerweise übergibt man nicht die Datei, sondern nur den entsprechenden URL.In diesem Fall:

http://localhost/Joomla100/index2.php?option=com_rss&feed=RSS0.91&no_html=1

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

Listing 4.1: Von Joomla! erzeugtes XML-Newsfeed im Format RSS 0.91

<?xml version="1.0" encoding="ISO-8859-1"?><!-- generator="FeedCreator 1.7.2" --><rss version="0.91"> <channel> <title>Joomla! Buch</title> <description>Joomla! site syndication</description> <link>http://localhost/Joomla100</link> <lastBuildDate>Sun, 18 Sep 2005 13:10:30 +0100</lastBuildDate> <generator>FeedCreator 1.7.2</generator> <image> <url>http://localhost/Joomla100/images/M_images/joomla_rss.png</url> <title>Powered by Joomla! 1.0</title> <link>http://localhost/Joomla100</link> <description>Joomla! site syndication</description> </image> <item> <title>Beispielseite</title><link>http://localhost/Joomla100/index.php?option=com_content&amp;task=view&amp; �

id=12&amp;Itemid=27</link> <description>Epsum factorial non deposit quid pro quo hic escorol. �

Olypian quarrelsgorilla congolium sic ad nauseum. Souvlaki ignitus carborundum epluribus...</description>

<pubDate>Fri, 16 Sep 2005 18:56:41 +0100</pubDate> </item>… weitere Items</channel></rss>

In der Datei stehen Titel und Text der letzten Nachrichten sowie diverse weitereInformationen, wie beispielsweise der Zeitpunkt der Erstellung, von welcher Websitedie Nachrichten kommen, die direkten Links zu den Websites etc.

Page 137: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

137

Joomla! kann Newsfeeds 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.103):

Abbildung 4.102: Syndication von Newsfeeds auf der Website

Abbildung 4.103: Components – Syndicate

Page 138: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

138

Cache: Sollen die Feeds zwischengespeichert werden, um zu vermeiden, dass sie beijedem Aufruf neu erzeugt werden müssen?

Cache Time: Hier können Sie eingeben, wie lange die Daten zwischengespeichertwerden sollen (in Sekunden).

Items: Wie viel Einträge sollen in das Feed übernommen werden?

Title: Wie soll der Titel des Feeds lauten?

Description: Wie soll der Feed beschrieben werden?

Image: Welcher Bildlink soll dem Feed zugeordnet werden? Sinnvoll wäre hier dasLogo 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 dieser Text sein?

Order: Wie sollen die Nachrichten sortiert werden?

� wie auf der Frontpage (Frontpage Ordering)

� die ältesten zuerst (Oldest first)

� die aktuellsten 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)

� nach den meisten Zugriffen (Most Hits)

� nach den wenigsten Zugriffen (Least Hits)

Live Bookmarks: Live Bookmarks sind eine Funktion des Mozilla Firefox-Browsers.21

Es handelt sich dabei um dynamische Lesezeichen, die Ihnen statt festen Links dieInformationen aus den Feeds anzeigen. Falls Sie mit Firefox arbeiten, wählen Sie ausder Liste RSS 2.00 aus und speichern die Parameter.

Abbildung 4.104: Live Bookmarks-Angebot im Browser Firefox

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

Page 139: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.7 Menü Components

139

Wenn Sie nun mit Firefox Ihre Website besuchen, so sehen Sie in der rechten unterenEcke des Browsers ein orange leuchtendes XML-Zeichen mit den verfügbaren News-feeds Ihrer Website. Hier können Sie Ihre Nachrichten mit einem Klick in die Lese-zeichen übernehmen (Abbildung 4.104). Wenn Sie anschließend in Ihre Lesezeichenschauen, finden Sie die Überschriften Ihrer Nachrichten dort wieder (Abbildung4.105).

4.7.8 Weblinks

Hier bauen Sie eine Linkliste auf, die Sie in Ihre Website integrieren können. Joomla!bietet Kategorien an und zählt die Zugriffe auf die Links. Sie können im usermenuIhren registrierten Benutzern erlauben, Links zur Aufnahme in die Liste vorzuschla-gen. Diese Links landen dann in der Weblink Items-Liste und müssen noch veröffent-licht werden.

Weblink Items

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

Name: Name des Links, der auf der Website erscheint

Category: Auswahl einer vorhandenen Linkkategorie

URL: Der URL des Links

Description: Hier können Sie eine ausführliche Beschreibung des Links eingeben.

Abbildung 4.105: Live Bookmarks in Firefox

Page 140: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

140

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 (Ab-bildung 4.107).

4.8 Menü Modules

Ein Modul ist im Gegensatz zu einer Komponente einfacher aufgebaut. Es ist einCodefragment oder Sniplet, das von einem anderen Programmteil eingebaut undinterpretiert wird.

Durch die Möglichkeiten, die die Scriptsprache PHP bietet, können Module Datenaus allen möglichen Quellen sammeln. Das kann eine Quelle auf Ihrer eigenen Web-site sein (die letzten fünf Artikel) oder ein Wetter-, Devisenkurs-, Amazon- oder eBay-Webservice.

Abbildung 4.106: Components – Weblinks – Edit

Abbildung 4.107: Components – Weblinks – Categories

Page 141: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

141

Ein Modul enthält eine Geschäftslogik und eine Benutzeroberfläche. Es hat keineneigenen Administrationsbereich wie die meisten Komponenten. Das Template IhrerWebsite spricht die verschiedenen Module direkt an und startet sie.

Da die Module eigenständige Programme sind, können sie in diesem Bereich desTemplates etwas Bestimmtes tun, beispielsweise ein Banner anzeigen. Ein Templatemacht nichts anderes, als viele verschiedene Module auf eine optisch ansprechendeArt zu gruppieren. Die Modulstruktur hat den Vorteil, dass Sie Ihre Website auf ein-fache Art erweitern können.

Da Sie Templates für Ihre Website und für die Joomla!-Administration verwendenkönnen, gibt es auch unterschiedliche Module für diese Templates.

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.108). Das Deinstallieren funktioniert durch Aus-wahl des Moduls und einen Klick auf das Icon DELETE.

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

4.8.2 Site Modules

Der Modulmanager ist die zentrale Stelle, um Module zu verwalten (Abbildung4.109).

Module Name: Name des Moduls und Überschrift auf der Website

Published: Ist das Modul veröffentlicht?

Reorder: Hier können Sie mit Hilfe der blauen Pfeile die Sortierung verändern. Damitkönnen Sie beispielsweise beeinflussen, ob das Menü Suche über oder unter demHauptmenü steht.

Abbildung 4.108: Modules – Install/Uninstall

Page 142: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

142

Order: Eine direkte Sortierung durch Angabe der Position und einmaligen Klick aufdas Icon neben Order erspart das viele Klicken auf die blauen Pfeile.

Access: Zugriffsberechtigung für dieses Modul (Public, Registered, Special)

Position: Die Position ist eine Angabe für das Template, in welchem Bereich dieAnzeige dieses Moduls vorgesehen ist. Es gibt acht Positionen innerhalb eines Tem-plates:

� 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 dieAnzeige 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üsunterscheiden sich dann nur in den Parametern. Nach diesen Typen können Sie mitHilfe der Optionsliste im oberen Bereich die Anzeige filtern, um eine bessere Über-sicht zu haben.

Abbildung 4.109: Modules – Site Modules

Page 143: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

143

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 Joomla!bereits standardmäßig mit 21 Modulen ausgeliefert.

Die Bearbeitung dieser Module funktioniert weitgehend einheitlich. Außer denAngaben für Name, Zugriff etc. müssen Sie auch entscheiden, auf welchen Seiten IhrModul angezeigt wird und welche Position das Modul im Template haben soll.

Die Parameterliste ist bei Modulen besonders wichtig, deswegen werde ich bei derweiteren Vorstellung der Module besonders auf die Parameter eingehen.

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 Bannerdieses 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 (ModuleClass Suffix).

Template Chooser

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

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 einAnhang an die Klasse table sein, beispielsweise table.moduletable. Dadurch könnenSie das Modul individuell gestalten.

Abbildung 4.110: Modul Template Chooser

Page 144: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

144

Alle Menüs

Die interne Modulbezeichnung mod_mainmenu wird für alle Menüs benutzt. Es gibtvertikale (Hauptmenü) und horizontale Menüs (Top Menu). Bei vertikalen Menüs bie-tet sich noch die Möglichkeit einer Flatlist. Eine Flatlist ist einfach eine Aufzählungvon 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 optischenGestaltung des Moduls (Menüinhalt).

Menu Name: Name des Menüs

Menu Style: Vertikal, horizontal oder Flatlist

Enable Cache: Soll der Inhalt des Menüs zwischengespeichert werden, um Ladezeitzu sparen?

Show Menu Icons: Sollen die Menü-Icons angezeigt werden? Die Anzeige der Iconsist abhängig vom jeweiligen aktiven Template.

Menu Icon Alignment: Sollen die Menü-Icons links- oder rechtsbündig positioniertwerden?

Expand Menu: Soll der Menüeintrag immer aufgeklappt sein, auch wenn man aufeinen anderen Eintrag klickt? Diese Funktion ist nur sinnvoll bei verschachteltenMenüstrukturen (Abbildung 4.111).

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, dieJoomla!-Standardwerte zu benutzen, jede Hierarchieebene mit einem eigenen Bild zuversehen oder überhaupt keine Icons anzuzeigen (Abbildung 4.111).

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 Trennzeichenstehen, 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.

Abbildung 4.111: Menüschachtelungen

Page 145: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

145

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 (Abbildung4.112). Nach der erfolgreichen Anmeldung wechselt die Anzeige in eine Abmelde-möglichkeit (Abbildung 4.113).

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 einemerfolgreichen Login verzweigt wird.

Logout Redirection URL: Hier legen Sie den URL fest, zu dem nach einem erfolg-reichen 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?

Abbildung 4.112: Login-Modul – nicht angemeldet

Abbildung 4.113: Login-Modul – angemeldet

Page 146: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

146

Greeting: Nach dem Anmelden wechselt das Modul die Erscheinung und zeigt einenBegrüßungstext und einen Abmeldebutton an. Hier können Sie entscheiden, ob Siediesen Text anzeigen lassen wollen (»Hallo, Benutzername«).

Name/Username: Hier bestimmen Sie, ob der Benutzer im Begrüßungstext mit seinemechten Namen oder mit seinem Benutzernamen angesprochen wird.

Syndicate

Im Syndicate-Modul werden die verschiedenen Newsfeeds angeboten (Abbildung4.102).

In den Parametern können Sie festlegen, welche Standards Sie anbieten und ob Sie dieStandardbilder oder individuelle Bilder benutzen wollen. Die Inhalte des angebote-nen Newsfeeds stellen die Einträge der Frontpage dar.

Statistics

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

Parameter

Server Info: Sollen die Serverinformationen angezeigt werden oder nicht?

Site Info: Sollen die Websiteinformationen 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 Sienoch die Seiten auswählen, auf denen es angezeigt werden soll. Es liefert Informa-tionen über die Inhalte Ihres Archivs (Abbildung 4.115). Die Anzeige wird gruppiertnach Monaten.

Abbildung 4.114: Statistics-Modul

Page 147: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

147

Parameter

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

Sections

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

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 Beziehungzu diesem Inhalt haben.

Die Beziehung basiert auf den in den Metadaten festgelegten Schlüsselwörtern. AlleSchlüsselwörter des aktuell angezeigten Inhalts werden mit denen der anderen ver-öffentlichten Inhalte verglichen.

Wenn Sie beispielsweise in den statischen Seiten Joomla! License Guidelines und inIhrem erstellten Impressum als Schlüsselwort Gesetz eintragen, werden beim Aufrufdes Impressums die Lizenzrichtlinien als Related Item angezeigt (Abbildung 4.117).

Wrapper

Das Wrapper-Modul bindet externe, nicht von Joomla! erzeugte, Inhalte innerhalbeines so genannten iframe ein. Ein iframe ist ein HTML-Tag22 und stellt einen scroll-baren Bereich innerhalb einer Webseite dar (Abbildung 4.118).

Abbildung 4.115: Archive Modul

Abbildung 4.116: Sections-Modul

Abbildung 4.117: Related Items-Modul

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

Page 148: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

148

Mit Hilfe dieses Moduls können Sie ganze existierende HTML-Seiten, die auf anderenServern online sind, in den Inhaltsbereich von Joomla! integrieren.

Parameter

URL: Hier können Sie einen Standard-URL angeben. Die Angabe der darzustellendenSeite erfolgt allerdings meist in der Menüzuordnung (Abbildung 4.54).

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 iframe 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, wennkein http:// oder https:// gefunden wurde. Dieses Verhalten kann hier ein- oder aus-geschaltet werden.

Polls

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

Abbildung 4.118: Per Wrapper eingebundene Seite

Page 149: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

149

Who's online

Das Who’s online-Modul zeigt an, wer sich gerade auf der Seite bewegt. Dabei wirdunterschieden zwischen Gästen und angemeldeten Benutzern (Abbildung 4.119).

Parameter

Display: Hier entscheiden Sie über die Anzeige des Moduls. Sie haben die Wahlzwischen:

� 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 IhrerWahl darstellen lassen. Das Modul ist standardmäßig aktiviert, aber keiner Seitezugeordnet. Bevor Sie es auf Ihrer Website sehen können, müssen Sie es durch einenKlick auf das Icon EDIT den gewünschten Seiten zuordnen (Abbildung 4.120).

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 istder hier bestimmte URL.

Width (px)/Height (px): Breite und Höhe der dargestellten Bilder in Pixel. Wenn Siehier nichts angeben, werden die Bilder so gut wie möglich angezeigt.

Abbildung 4.119: Who's Online-Modul

Abbildung 4.120: Random Image Module

Page 150: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

150

Newsflash

Das Newsflash-Modul zeigt zufällig Aufmacher von dynamischen Inhalten an (Ab-bildung 4.121).

Parameter

Category: Hier können Sie durch Auswahl aus einer Liste festlegen, ob die Inhalte auseiner speziellen Kategorie kommen sollen oder aus allen Kategorien.

Style: Hier können Sie zwischen einer Spaltendarstellung (horizontal) und der Dar-stellung wie in Abbildung 4.121 wählen (vertikal).

Show Images: Sollen Bilder, die in den Inhalten enthalten sind, angezeigt werdenoder 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…-Button einblenden

Item Title: Hier können Sie entscheiden, ob Sie den Titel der Nachricht einblendenwollen.

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 (Abbildung4.122). Standardmäßig ist es auf der user1-Position angeordnet. Sie können es auchauf eine andere Position befördern, beispielsweise nach rechts.

Abbildung 4.121: Newsflash-Modul

Abbildung 4.122: Latest News-Modul

Page 151: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

151

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 Siehier 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 ausdiesen Kategorien erzwingen.

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

Popular

Mit diesem Modul werden die beliebtesten Nachrichten angezeigt.

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 Siehier 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 diesenKategorien erzwingen.

Section ID: Auch hier können Sie die anzuzeigenden Sections durch eine Angabe derentsprechenden Datensatznummern eingrenzen.

Abbildung 4.123: Popular-Modul

Page 152: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

152

Search

Das Search-Modul taucht im Standard-Template nur als Eingabefeld auf. Die beidenbei Joomla! mitgelieferten Templates setzen diese Parameter nicht um. Um die Konfi-gurationsmöglichkeiten zu demonstrieren, habe ich das Template JavaBean aus deralten Mambo-Version gewählt (Abbildung 4.124).

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.

Search Button: Hier können Sie entscheiden, ob Sie einen Suchbutton haben wollenoder nicht.

Button Position: Wenn Sie einen Suchbutton ausgewählt haben, können Sie hier diePosition 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 Modulsoll Bilder aus Verzeichnis A und ein Modul Bilder aus Verzeichnis B anzeigen. Ineinem solchen Fall wählen Sie einfach das Modul Random Images durch Ankreuzender 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.124: Parametrisiertes Search-Modul

Abbildung 4.125: Modul kopieren

Page 153: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.8 Menü Modules

153

Wenn Sie die Module Latest News und Popular deaktivieren und die beiden Bilder-module 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 – ADMINISTRATOR MODULES sehen Sie den von derStruktur 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 Positioncpanel, also als Karteireiter im Control Panel.

Components

Das Modul Components zeigt die Liste der installierten Komponenten als Karteireiterim 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 ControlPanel.

Menu Stats

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

Abbildung 4.126: Modules – Administrator-Module

Page 154: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

154

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 ander 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 Joomla!-Administrations-menüs.

4.9 Menü Mambots

Bot ist die Kurzform für das Wort Roboter. Ein Mambot ist also eine Art Joomla!-Robo-ter. Man kann Mambots mit einer Joomla!-eigenen Scriptsprache vergleichen. DerName stammt noch aus Mambo-Zeiten (Mambo Bot = mambot). Das Joomla!-Team ent-schied, die Bezeichnung beizubehalten. Als wir Bilder in Inhaltselemente eingefügthaben, sind Sie bereits mit den eingebauten Mambots in Berührung gekommen.

Mambots gehören immer einem bestimmten Typ an. Um das Bild im Inhaltselementzu positionieren, haben Sie beispielsweise {mosimage} in den Text geschrieben. DieserText ruft bei der Darstellung der Seite den Mambot mos_image auf, der dafür sorgt,dass das zugeordnete Bild eingeblendet wird.

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 oderper Verzeichnisinstallation.

Page 155: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.9 Menü Mambots

155

4.9.2 Site Mambots

Im Mambot Manager finden Sie standardmäßig neun Content-, vier Editor- und sechsSearch-Mambots (Abbildung 4.127). Mambots haben wenig bis keine veränderbarenEinstellungen, da sie meistens für einen ganz speziellen Zweck programmiert undoptimiert sind.

MOS Image (Content)

Das ist der Mambot der mit dem Befehl {mosimage} das Bild in den Inhaltselementenauf der Website anzeigt (siehe Kapitel 4.6.3).

Legacy Mambot (Content)

Der Legacy Mambot bietet eine Unterstützung für ältere Mambots aus den MamboVersionen 4.5.x an.

Code Support (Content)

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

Listing 4.2: Einsatz des Mambots moscode

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

Abbildung 4.127: Mambots – Site Mambots

Page 156: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

156

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 er aktiviert sein.

Email Cloaking (Content)

Dieser Mambot wandelt eine E-Mail-Adresse, die Sie in einem Inhaltselement in derForm [email protected] eingeben, in einen Link um:

<a href=mailto:[email protected]> [email protected]</a>

GeSHi (Content)

Der GeSHI Mambot formatiert wie moscode Quellcode. GeSHI beherrscht allerdingsSyntax Highlighting und sorgt für eindrucksvolle Listings auf der Website, wenn Sieden zu formatierenden Quellcode in <pre> ... </pre>-HTML-Tags einbinden (Ab-bildung 4.128).23

Listing 4.3: Einsatz des Mambots GeSHI

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

Load Module (Content)

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

23 http://qbnz.com/highlighter/.

Abbildung 4.128: Mit GeSHI formatierter Quellcode – Quellcode und Ausgabe

Page 157: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.10 Menü Installers

157

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ßereinem einfachen Zeilenumbruch können Sie auch verschiedene Überschriften undSeitentitel 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 beiden Mambots generieren die beiden Buttons unterhalb des Editors. DurchDruck 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, Newsfeedskö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.129).

Abbildung 4.129: Installers

Page 158: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4 Joomla! anpassen – Customizing

158

Das Menü verzweigt zu den Installern für

� Site Templates

� Admin Templates

� Languages

� Components

� Modules

� Mambots

4.11 Menü Messages

Das Menü Messages verwaltet Administratornachrichten. Joomla! hat ein kleinesNachrichtensystem eingebaut, das es erlaubt, innerhalb der AdministratorengruppeNachrichten zu verschicken. Außerdem werden hier auch systemeigene Nachrichtenausgeliefert, 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 Joomla!-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 vonNachrichten 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: Dieses Feature ist wirklich praktisch. Joomla! schickt dieNachrichten 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.

Page 159: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

4.12 Menü System

159

4.12.1 Global Check-in

Wenn ein berechtigter Benutzer den Editiermodus eines Inhaltselements aufruft, sowird dieses Element ausgecheckt. Das heißt, nur der berechtigte Benutzer darf diesesElement bearbeiten. Während der Bearbeitung sehen die anderen Benutzer vor demNamen des Elements ein Schloss-Icon. Wenn das Dokument nach der Änderungabgespeichert wird, wird es automatisch wieder eingecheckt und das Schloss-Iconverschwindet.

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 mehrgeändert werden.

An dieser Stelle kommt das GLOBAL CHECK-IN ins Spiel. Durch einen Klick auf diesenMenüpunkt werden alle sich in Bearbeitung befindlichen Elemente eingecheckt undSie erhalten eine entsprechende Liste der Elemente (Abbildung 4.130).

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 wirdauch dieses Element eingecheckt und jemand anders kann es ebenfalls ändern. SeienSie also vorsichtig mit dieser Funktion und achten Sie darauf, wer gerade online ist.

Abbildung 4.130: Global Check-in

Page 160: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 161: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche ErweiterungenKommen wir in den schier unerschöpflichen Bereich der Erweiterungen von Joomla!.So schön die Standardvariante auch ist, schnell werden Sie Komponenten, Moduleund Mambots suchen, mit denen Sie Ihre Website erweitern können. Dank der modu-laren Struktur von Joomla! ist es sehr einfach, Erweiterungen vorzunehmen. Ich habesechs populäre Erweiterungen ausgesucht, die ich Ihnen vorstellen werde:

� ein Forum

� einen Kalender

� eine Bildergalerie für Fotos

� eine Möglichkeit, um überall Kommentare zu posten

� ein Dokumentenverwaltungssystem

� einen Online-Shop

� die Erstellung von mehrsprachigen Seiten mit Joomla!

Falls Sie selbst auf die Suche gehen wollen, so sind Sie bei http://developer.joomla.org/an der richtigen Adresse. Hunderte von Komponenten, Modulen, Mambots, Tem-plates und Sprachdateien warten auf Sie.

HinweisHinweis

Der Markt für zusätzliche Erweiterungen ist naturgemäß ein sehrdynamischer. Mittlerweile gibt es auch kommerzielle Erweiterungenfür Joomla!. Bevor Sie etwas kaufen, sollten Sie sich genau überlegen,was Sie wollen und ob es nicht schon brauchbare Ansätze für IhrThema 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!

Page 162: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

162

5.1 Forum

Es gibt verschiedene Ansätze zum Thema Forum. Grundsätzlich geht es immerdarum, x Foren mit x Themen, in denen x Benutzer x Beiträge schreiben, möglichsteinfach anzuzeigen und zu verwalten. Alles zusammen nennt man dann Board.

Ein wirklich gutes Board ist die Komponente der Two Shoes M-Factory1 mit dembezeichnenden Namen Simpleboard. Das Projekt hat auch schon einen Platz auf demEntwicklungsserver von Joomla!.2

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 jeweiligeSoftware in Erfahrung zu bringen, bevor Sie sie installieren. Hier also nun ein Über-blick über die Funktionen von Simpleboard.

Simpleboard-Administratorfunktionen

� Volle Integration in die Joomla!-Administration

� Benutzer, die ein Konto auf Ihrer Website haben, werden in der Forumskomponen-te erkannt. Über die normalen Benutzerdetails hinaus kann sich jeder Benutzer einForumsprofil 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 vorherigenEinträge des Themas, wenn sie einen Beitrag schreiben.

� Man kann einen Mindestzeitraum zwischen zwei Beiträgen bestimmen, um vorFlood-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

1 http://www.tsmf.net/.2 http://developer.joomla.org/sf/projects/simpleboard.

Page 163: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

163

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)

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 jedem Beitrag eingeblendet wird

� Upload von Dateien und Bildern zu einem Eintrag

5.1.2 Installation von Simpleboard

Auf der Website von Simpleboard empfehlen die Entwickler folgende Voraussetzun-gen für die Installation:

� eine PHP-Version höher als 4.3.2 (ab PHP 4.1.0 funktioniert das Forum)

� eine MySQL-Version höher als 4.0

� eine Tasse Kaffee oder Ähnliches

Unsere lokale XAMPPLITE-Version erfüllt bis auf den Kaffee alle Bedingungen.Laden Sie sich also die Datei Simpleboard-1.1.0-Stable.zip auf Ihren Rechner.3 DieseVersion ist ursprünglich für Mambo 4.5.2 entwickelt worden, funktioniert aber auchhervorragend mit Joomla! 1.0.

Klicken Sie in der Menüleiste auf INSTALLER – COMPONENTS. Durchsuchen Sie IhrenRechner nach der oben angegebenen Datei und klicken Sie auf den Button UPLOAD &INSTALL. Der Installer lädt das Paket auf Ihren Server, packt die einzelnen Dateienaus, legt die benötigten Tabellen in der Datenbank an und meldet sich dann mit wei-teren Hinweisen (Abbildung 5.1).

Das war’s! Wenn Sie die Meldung Upload component – Success sehen, ist die Kompo-nente installiert. Die Datenbanktabellen wurden angelegt und Ihre Joomla!-Adminis-tration wurde entsprechend angepasst. Klicken Sie auf den Link CONTINUE und dan-ken Sie dem Joomla!-Entwicklungsteam für diesen wundervollen Installer4 und derTwo Shoes M-Factory für ihr Forum. Unter den installierten Komponenten sehen Siejetzt eine Komponente mehr, nämlich Ihr gerade installiertes Simpleboard-Forum.

3 URLs zum Download finden Sie im Anhang.4 http://www.joomla.org/content/blogcategory/13/29/.

Page 164: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

164

Deinstallation

Die Deinstallation funktioniert ähnlich einfach. Wählen Sie die Komponente aus undklicken 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 finden Sie nach der Installation einen neuen Eintrag. Rufen SieCOMPONENTS – SIMPLEBOARD auf und Sie sehen das Control Panel Ihrer Forumskom-ponente (Abbildung 5.2).

Abbildung 5.1: Erfolgreiche Installation der Forumskomponente

Abbildung 5.2: Simpleboard Control Panel

Page 165: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

165

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

In dieser Komponente ist es möglich, eine deutsche Sprachdatei zu installieren, unddie gesamte Forumadministration erscheint danach in deutscher Sprache. Laden Siesich die Datei SB1.1_stable_deutsch.zip und entpacken Sie diese.5 Ich habe die Dateibei alphanostrum.net entdeckt. Im Paket finden Sie eine Datei mit dem Namen faq.phpund eine Datei germanf.php. Kopieren Sie die Datei faq.php in das Verzeichnis [Pfadzu-Joomla!]/components/com_simpleboard/ und die Datei germanf.php in das Verzeichnis[PfadzuJoomla!]/administrator/components/com_simpleboard/language/.

Jetzt kommt es auf Ihre Installation an. Wenn Sie den Beispielen im Buch gefolgt sind,haben Sie bereits über die globale Konfiguration eine deutsche Joomla!-Version einge-stellt. Ihre globale Sprachdatei heißt germanf.php. und das Forum erscheint jetzt auto-matisch in deutscher Sprache. Die Übersetzung ins Deutsche ist eine atemberaubendeMischung aus Deutsch und Englisch, die mich immer wieder zweifeln lässt, ob manAdministrationsoberflächen wirklich übersetzen sollte. Urteilen Sie selbst.

Simpleboard-Konfiguration

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

Sie sehen sieben Reiter mit Parametern.

GrundlagenGeben Sie hier Ihrem Board einen Namen und fügen Sie Ihre E-Mail-Adresse ein. Wiebei Joomla! selbst haben Sie auch im Forum die Möglichkeit, das Forum »abzuschal-ten« und eine entsprechende Meldung anzeigen zu lassen (Forum Offline Nachricht).

Bei Forum-Zeitverschiebung können Sie die Zeitbasis verändern. Für Deutschland ist 0die richtige Einstellung.

Default Ansicht Typ: Hier wählen Sie eine von zwei möglichen Ansichten für dieForumseinträge aus. Es gibt eine Baumdarstellung der Forumseinträge (Direktan-sicht) und eine Darstellung, in der alle Einträge hintereinander gezeigt werden (Kom-paktansicht).

HinweisHinweis

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

5 Downloadmöglichkeit siehe Anhang.

Page 166: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

166

Aktiviere RSS Feed: Hier können Sie auf der Forumsseite einen RSS-Button einblenden,der eine entsprechende XML-Datei für ein News Feed der neuesten Forumsbeiträgeerstellt.

PDF-Funktionalität einschalten: Hier können Sie von jedem Forumseintrag ein PDF-Dokument erzeugen.

Kopf: Hier können Sie einen Text eingeben, der im Kopfbereich des Forums erscheint.

FrontendHier gibt es vier Blöcke von Parametern. Sie können die Standardeinstellungen über-nehmen. Außerdem können Sie nach Herzenslust Bereiche der Anzeige an- undabschalten und viele nützliche »Kleinigkeiten« festlegen.

SicherheitStandardmäßig ist das Board so eingestellt, dass jeder Besucher lesen und schreibendarf, der Flood-(Überlauf-)Schutz ausgeschaltet ist und ein Moderator eine E-Mail beieinem neuen Posting erhält. Auch hier können Sie die Werte zunächst so belassen.

AvatareAvatare 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 vorhandenenBildern. Hier können Sie Einstellungen zum Benutzer-Upload, der Größe der Bilderund der Dateigröße vornehmen.

Abbildung 5.3: Simpleboard-Konfiguration

Page 167: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

167

HochladenDiese Funktionalität ist sehr interessant. Jeder Benutzer kann zu jedem Beitrag eineDatei und/oder ein Bild hochladen. Beides wird dann gemeinsam mit seinem Beitragangezeigt. Unter diesem Reiter stellen Sie ein, ob und wenn ja, was genau Sie zulassenwollen.

Zeige RankingEin 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 einzelnenStufen heißen sollen und bei wie viel Beiträgen ein Wechsel stattfindet.

IntegrationHier 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 Inhaltselements eine Art Kommentarfunktion erlaubt.

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 dasIcon NEW. Sie erhalten eine Eingabemaske mit drei Reitern (Abbildung 5.4).

BasicsBevor Sie ein Forum anlegen können, müssen Sie erst eine Kategorie erstellen, bei-spielsweise mit dem Namen Cafeteria und einer kleinen Beschreibung.

AdvancedHier legen Sie die Zugriffsberechtigungen auf die Kategorie fest.

Abbildung 5.4: Foren und Kategorien anlegen

Page 168: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

168

ModerationDer 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 Forenbenutzt wird. Speichern Sie die Kategorie durch einen Klick auf das Icon SAVE ab undin Ihrer Übersicht taucht diese Kategorie als noch unveröffentlicht auf (Abbildung5.5).

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 Siedie eben erstellte Cafeteria aus.

Klicken Sie auf das Icon SAVE. In Ihrer Übersicht sind jetzt zwei Einträge (Abbildung5.6).

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

Einbinden des Forums in Ihre WebsiteJetzt müssen Sie das eben erstellte Forum noch in das Hauptmenü einbinden, damitman über einen Link auf Ihrer Website 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).

Geben Sie dem neuen Menüeintrag einen Namen (Forum) und wählen Sie in derKomponentenliste Simpleboard Forum aus. Lassen Sie den Zugriff auf Public und kli-cken Sie auf das Icon SAVE.

Abbildung 5.5: Neue Kategorie Cafeteria

Abbildung 5.6: Veröffentlichung eines neues Forums

Page 169: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

169

Wenn Sie nun auf Ihre Website wechseln und die Seite neu laden, so sollte in IhremHauptmenü ganz unten ein neuer Eintrag stehen (Forum). Wenn Sie ihn anklicken,startet Ihre neue Komponente (Abbildung 5.8).

Nutzer Administration

Hier können Sie die vorhandenen Benutzerprofile ändern. Momentan ist die Listenoch leer. Legen Sie sich einfach ein Profil an (siehe Kapitel 5.1.4) oder posten Sie ein-fach 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.7: Neuer Menüeintrag auf eine Komponente

Abbildung 5.8: Forum auf der Website

Abbildung 5.9: Simpleboard User Profile Manager

Page 170: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

170

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 denentsprechenden Beitrag im Forum springen (ÖFFNE NACHRICHT).

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 Joomla! enthält auch das Forum Templates. Die entsprechende CSS-Datei kön-nen Sie über die Joomla!-Administration ändern (Abbildung 5.11).

Weitere Templates finden Sie auf der Two Shoes M-Website.

Abbildung 5.10: Simpleboard Dateibrowser

Abbildung 5.11: Simpleboard Template CSS Editor

Page 171: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

171

Bereinige Foren

Foren leben von Diskussionen. Wenn es viele Themen, aber wenig Antworten gibt, soist das nicht besonders ergiebig. Die Funktion BEREINIGE FOREN bietet die Möglich-keit, Themen, zu denen keine Antworten vorhanden sind, zu löschen.

Sie müssen das Forum und die Anzahl der Tage, die Sie bearbeiten wollen, auswäh-len.

Bereinige Nutzer

Diese Funktion synchronisiert die Benutzer der Joomla!-Benutzerverwaltung mitdenen der Komponente Simpleboard. Wenn beispielsweise in Joomla! Benutzergelöscht werden, so werden sie nach Einsatz dieser Funktion auch in Simpleboardgelöscht.

Support Webseite

Hier ist ein Link zur Website der Two Shoes M-Factory. Auf der Site finden Siediverse Foren, Downloads und Neuigkeiten über die Forumskomponente.

Lade Beispiel Daten

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

Aktualisiere Datenbank auf Version: 1.1.0-Stable

Falls Sie eine ältere Version von Simpleboard installiert hatten, können Sie nacheinem Klick auf dieses Icon Ihre Datenbankstruktur aktualisieren. In unserem Fall istdie Datenbank aktuell.

5.1.4 Benutzer Frontend

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

Standardmäßig ist ein neu erstelltes Forum leer. Das wirkt für unerfahrene Benutzerverwirrend. Gewöhnen Sie es sich an, eine Begrüßungsnachricht zu posten. Der ersteBeitrag legt das Thema (Überschrift) fest. Klicken Sie also zuerst auf den Link Forumim Hauptmenü, dann auf Tipps & Tricks in der Forenliste und zuletzt auf den LinkErstelle neue Überschrift. In der angezeigten Maske können Sie einen Eintrag verfassen(Abbildung 5.12). Der integrierte Editor ist leider nicht der WYSIWYG-Editor vonJoomla!, sondern ein Editor, der auf den BB(Bulletin Board)-Codes beruht. DieseCodes sind in Forensoftware sehr verbreitet. Die Buttons mit den Buchstaben entspre-chen den gleichnamigen HTML-Tags:

Page 172: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

172

� 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 Bildund/oder eine Datei zu Ihrem Eintrag hinzuzufügen.

Abbildung 5.12: Einen Forumseintrag erstellen

Page 173: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

173

Darunter sehen Sie noch eine Checkbox (ABONNIERE). Die sollten Sie ankreuzen,wenn Sie über Antworten auf Ihren Beitrag per Mail informiert werden wollen.Klicken Sie auf den Button ERSTELLEN, nachdem Sie einen kleinen Text geschriebenhaben. Der Beitrag wird gespeichert und Sie erhalten die Möglichkeit, zu verschiede-nen Stellen des Forums per Link zu verzweigen. Nach ein paar Sekunden verzweigtdas Programm selbst auf Ihren Eintrag (Abbildung 5.13).

Sie können sich den Themenbaum als PDF-Datei durch einen Klick auf den PDF-Linkanzeigen (Abbildung 5.14).

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 denLink TIPPS & TRICKS klicken, landen Sie in der Themenübersicht (Überschriften) undIhr Willkommensgruß ist die erste Überschrift. Hier sehen Sie, dass bereits viermalauf diesen Beitrag zugegriffen wurde und es eine Antwort gibt. Die letzte Antwortwurde vom Benutzer admin geschrieben.

Exkurs

In den Abbildungen sehen Sie einen Fehler in der Sprachdatei. DieKonstanten _GEN_PDF und _GEN_EMAIL sind in der Sprachdatei scheinbarnicht enthalten. Fügen Sie die beiden Zeilen

DEFINE('_GEN_PDF','PDF');DEFINE('_GEN_EMAIL','E-Mail');

in die Datei [PfadzuJoomla!]/administrator/components/com_simpleboard/language/germanf.php ein.

Abbildung 5.13: Forumseintrag

Page 174: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

174

In der Linkleiste über dem Forum sehen Sie den Link KOMPAKTANSICHT oder DIREKT-ANSICHT. Hinter der Kompaktansicht verbirgt sich eine Liste der Überschriften. In derListe der Überschriften wird die Anzahl der Antworten angegeben. Jede Überschrift

Abbildung 5.14: PDF-Ansicht eines Forumseintrags

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

Abbildung 5.16: Überschriften des Forums Tipps & Tricks (Direktansicht)

Page 175: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.1 Forum

175

erzeugt nur eine Zeile (Abbildung 5.15). In der Direktansicht dagegen wird eineBaumstruktur angezeigt. Diese Übersicht verbraucht mehr Platz, hat aber den Vorteil,dass Sie die Antworten zur Überschrift besser verfolgen können (Abbildung 5.16).Klicken Sie auf einen dieser Links und beobachten Sie, wie sich die Anzeige ver-ändert.

Benutzerprofil anlegen

Rufen Sie das Forum auf Ihrer Website auf, klicken Sie auf den Link Mein Profil undstellen Sie das Profil wie gewünscht ein.

Bevorzugte Ansicht: Wählen Sie die Kompakt- oder die Direktansicht 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.

Avatar: Hier können Sie ein Bild von sich hochladen oder aus einer Liste vorhande-ner Avatare eins auswählen (Abbildung 5.17). Selbstverständlich finden Sie verschie-dene Avatarsammlungen zum Nachinstallieren auf der Website von Simpleboard.

5.1.5 Simpleboard-Module

Zu der Komponente Simpleboard gibt es natürlich auch Module. Als Beispiel möchteich Ihnen ein Modul zeigen, das die letzten fünf Forumseinträge auf der Websiteanzeigt.

Abbildung 5.17: Forums-Avatare

Page 176: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

176

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 einneues Modul namens mod_simpleboard5. Klicken Sie auf MODULES –> SITE MODULES,versehen Sie das neue Modul mit einem Namen und bestimmen Sie die Seiten, aufdenen es erscheinen soll. Ich nenne es Letzte Forumseinträge und veröffentliche es aufallen Seiten im rechten Template-Bereich.

Auf der Website werden nun die fünf letzten Forumseinträge angezeigt (Abbildung5.18).

5.2 Kalender

Ein Kalender ist praktisch für Websites, auf denen viele Termine verwaltet werdenmüssen. Für Joomla! gibt es eine beliebte Komponente mit dem unspektakulärenNamen Events.6

5.2.1 Installation

Laden Sie sich die Datei com_events-1.2.zip herunter und installieren Sie diese überden Menüpunkt INSTALLERS –> COMPONENTS. Nach der Installation erhalten Sie dieNachricht, dass die Komponente installiert wurde, und Hinweise zur weiteren Vor-gehensweise:

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 canadd any event.

Abbildung 5.18: Simpleboard-Modul

6 Eine Demoversion finden Sie unter http://mosevents.sourceforge.net/.

Page 177: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.2 Kalender

177

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

In der Kalenderkomponente ist die Administration in englischer, die Anzeige auf derWebsite 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 esum die Parameter für die Komponente (Abbildung 5.19).

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

Abbildung 5.19: Events Component Parameters

Page 178: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

178

Date Format: Hier können Sie das Format des Datums auf Deutsch umstellen. Eserscheint dann in dieser Form (Sonntag, 27. März 2005).

Use 12hr time Format: Hier können Sie zwischen einer 12h- und einer 24h-Anzeigewechseln.

Navigation Bar Color: Hier bestimmen Sie die Farbe des Navigationsbalkens.

Start Page: Hier können Sie auswählen, mit welcher Art der Anzeige der Kalenderstandardmäßig starten soll (Tag, Woche, Monat, Jahr, Monatsliste, Kategorien odereinem Suchfeld).

No. of Events to List per page for week, month, or year views: Hier wird die Anzahlder 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. Hiergibt 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 derMenüleiste COMPONENTS –> MANAGE EVENT CATEGORIES auf und klicken Sie auf dasIcon NEW.

Abbildung 5.20: Kalenderkomponente – neue Kategorie

Page 179: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.2 Kalender

179

Hier können Sie eine Kategorie anlegen. Jede Kategorie erhält eine Farbe, damit sie imKalender besser erkennbar ist. Außerdem können Sie ein Bild aus dem Media Managerzuordnen und positionieren. Durch einen Klick auf das Icon UPLOAD können Sie auchan Ort und Stelle ein Bild hochladen. Das Bild wird im Unterverzeichnis /images/stories/ gespeichert. Die Beschreibung der Komponente können Sie mit dem Komfortdes WYSIWYG-Editors erstellen. Klicken Sie nach der Bearbeitung auf das Icon SAVE

zum Speichern.

Danach müssen Sie die Kategorie noch im Event Categories 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.

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

EVENTS

Hier legen Sie die Kategorie, den Titel und die Beschreibung des Ereignisses fest. Fürdie 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

Unter dem Reiter IMAGES können Sie dem Ereignis, ähnlich wie bei den Inhalts-elementen, ein Bild aus dem Media Manager zuordnen (Abbildung 5.22).

Abbildung 5.21: Termineintrag

Page 180: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

180

PUBLISHING

Die Datumsangaben der Termine sind hier sehr komfortabel gelöst. Für die Eingabedes Datums gibt es nach einem Klick auf den Button mit den drei Punkten einenPopup-Kalender, in dem Sie per Mausklick den ersten und den letzten Tag des Ereig-nisses auswählen können (Abbildung 5.23). Außerdem können Sie im Kalenderdurch 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 im12h- oder 24h-Format HH:SS eingeben.

Ein 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 dasEreignis 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 auswählen.

Am Ende jeden Monats: Das Ereignis ist jeweils am letzten Tag eines Monats, falls derletzte 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.

Abbildung 5.22: Ereignis – Bilderzuordnung

Page 181: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.2 Kalender

181

HELP

Im Reiter HELP werden die Datumsangaben in Ereignissen ausführlich in deutscherSprache erklärt. Es gibt sogar den Fall des eintägigen Ereignisses, das über Mitter-nacht hinausgeht.

Einbinden des Kalenders auf Ihre Website

Um einen Link zum Kalender auf der Website anzuzeigen, müssen Sie die Kalender-komponente 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 derKomponentenliste Events aus. Lassen Sie den Zugriff auf Public und klicken Sie aufdas Icon SAVE.

Abbildung 5.23: Ereignis – Terminwahl

HinweisHinweis

Bitte beachten Sie den Spezialfall für ein eintägiges Ereignis über Mit-ternacht. D. h., für ein eintägiges Ereignis, das z.B. um 19:00 beginntund um 3:00 endet, müssen Start- und Endedatum gleichlauten undauf das Datum vor Mitternacht gesetzt werden.

Page 182: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

182

Wenn Sie nun auf Ihre Website wechseln und die Seite neu laden, so sollte in IhremHauptmenü ganz unten ein neuer Eintrag stehen (Kalender). Wenn Sie ihn anklicken,startet Ihre neue Komponente (Abbildung 5.24).

5.2.3 Benutzer Frontend

Wenn Sie sich auf der Website anmelden, dürfen Sie, abhängig von den Einstellungenin Event Config, Termine eintragen oder nicht.

Wenn Sie die Erlaubnis haben, so erscheinen unter dem Kalender zwei Links, TER-MINE EINTRAGEN und MEINE TERMINE.

Hinter dem Link TERMINE EINTRAGEN verbirgt sich die gleiche Oberfläche, inklusiveHilfetext, wie sie auch in der Joomla!-Administration zur Verfügung steht.

Hinter dem Link MEINE TERMINE sehen Sie alle Termine, die Sie unter diesem Benut-zernamen eingetragen haben, dahinter steht jeweils ein ÄNDERN- und ein LÖSCHEN-Link (Abbildung 5.25).

Abbildung 5.24: Ereignisanzeige auf der Website

Abbildung 5.25: Eigene Termine auf der Website

Page 183: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.2 Kalender

183

Wenn Sie auf den Namen des Ereignisses klicken (die Unterstreichung ist in diesemTemplate deaktiviert), erhalten Sie die detaillierte Darstellung. Auch hier können Siedurch einen Klick auf das Bleistift-Icon in die Änderungsmaske gelangen (Abbildung5.26).

5.2.4 Module

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

Installation

Laden Sie sich die Datei mod_events_cal-1.1-beta.zip herunter und installieren Siediese über den Menüpunkt INSTALLERS –> MODULES. Nach der Installation erscheintin 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, aufdenen es erscheinen soll. Ich nenne es Termine und veröffentliche es auf allen Seitenim rechten Template-Bereich.

Auf der Website wird nun der Monat mit verschiedenfarbig hinterlegten Tagen an-gezeigt und die Ereignisse werden verlinkt (Abbildung 5.27).

Abbildung 5.26: Detailansicht – Termin mit Editor-Icon

Page 184: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

184

5.2.5 Event Mambot

Um auch Termine über das Suchfeld (Search-Modul) durchsuchen zu können, gibt esden Event Mambot.

Laden Sie sich die Datei bot_events_search-1.1.zip herunter und rufen Sie diese überdie Menüleiste INSTALLERS –> MAMBOTS auf. Wählen Sie die Datei aus und klicken Sieauf den Button UPLOAD FILE & INSTALL. In der Liste der installierten Mambots tauchtSearch Events auf.

Klicken Sie in der Menüleiste auf MAMBOTS –> SITE MAMBOTS und veröffentlichen Sieden eben installierten Event Mambot.

Wenn Sie nun im Suchfeld Ihrer Website etwas eingeben, werden auch die Termineund Ereignisse durchsucht und bei einem Treffer in der Ergebnisliste angezeigt(Abbildung 5.28).

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 einerLadenpassage oder ein einfaches Fotoalbum sein. Grundsätzlich geht es bei einer

Abbildung 5.27: Event-Modul

Abbildung 5.28: Suchfunktion im Frontend mit installiertem Event Mambot

Page 185: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.3 Galerie

185

Galerie um visuelle Eindrücke. Das Internet wird zunehmend visueller und Bildersagen oft mehr als tausend Worte.

Für Galerien gibt es viele Einsatzbereiche: Wenn Sie beispielsweise eine Vereinsweb-site aufsetzen wollen, fotografieren Sie vermutlich Ihre Vereinsveranstaltungen undIhre Mitglieder. Stellen Sie die Bilder doch den Besuchern und/oder den registriertenBenutzern Ihrer Website zur Verfügung!

5.3.1 Zoom Media Gallery

Mike de Boer aus Rotterdam/Niederlande hat diese Komponente entwickelt. Auf sei-ner Website können Sie sich weiter umsehen, aktuelle Downloads laden, im Forummitdiskutieren und auch eine Demo der Komponente ansehen.7

5.3.2 Installation Zoom Media Gallery

Laden Sie sich die Datei com_zoom_25b3.zip herunter.8 Es ist zwar noch eine Beta-Ver-sion, aber sie läuft bereits recht stabil. Bis zur Veröffentlichung des Buches wird esbestimmt eine stabile Variante geben. Installieren Sie die Datei über den MenüpunktINSTALLERS –> COMPONENTS. Nach der Installation erscheinen neben der Nachricht,dass die Komponente installiert wurde, auch Hinweise zur weiteren Vorgehensweise(Abbildung 5.29).

Klicken Sie auf den Link CONTINUE. In der Komponentenliste sehen Sie eine neueKomponente mit dem Namen zOOm Media Gallery Admin.

7 http://www.zoomfactory.org/.8 Download siehe Anhang.

Abbildung 5.29: Installation Zoom Gallery

Page 186: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

186

5.3.3 Sprache auf Deutsch ändern

Standardmäßig wird diese Komponente (Version 2.5 Beta) bereits mit einer deutschenSprachdatei ausgeliefert. Nach der Installation sehen Sie bereits deutsche Menü-beschreibungen.

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 untereinanderaufgelistet sind. Wenn Sie mit der Maus über die Icons fahren, erscheint ein kleinesFenster mit der jeweiligen Bedeutung (Abbildung 5.30).

Album Manager

Wie überall bei Inhalten benötigen Sie eine gewisse Ordnung. Im Falle von Bildernwerden die Hierarchieebenen Alben genannt. Klicken Sie also auf das Icon ALBUM

MANAGER und anschließend auf NEUES ALBUM.

Neues AlbumDie Eingabemaske für ein neues Album ist in zwei Reiter geteilt. Unter dem ReiterEigenschaften legen Sie die Eigenschaften des Albums fest (Abbildung 5.31), unterdem Reiter Mitglieder die Zugriffsberechtigungen für dieses Album.

Abbildung 5.30: Zoom Media Gallery – Administration

Page 187: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.3 Galerie

187

Einfügen nach: Wie im System der Menüeinträge von Joomla! können Sie Alben be-liebig verschachteln. Dazu müssen Sie hier das übergeordnete Album auswählen.

Verberge »keine Bilder« Text: Wenn sich noch keine Bilder im Album befinden, wirdder 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 Website erscheinen wird.

Schlüsselwörter: Diese Schlüsselwörter werden bei der Suche berücksichtigt.

Beschreibung: Diese Beschreibung wird auf der Website zum Album angezeigt.

Veröffentlicht: Hier können Sie das Album bereits freigeben.

Reiter: Mitglieder

Allgemeiner Zugriff: Jeder Besucher der Website 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 zu-greifen.

Nach einem Klick auf das Icon SPEICHERN erhalten Sie noch eine Meldungsbox, dassdas 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 klickenauf das Icon BEARBEITEN.

Abbildung 5.31: Neues Album erstellen

Page 188: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

188

Dateien hochladen, ändern, verschieben, ändernund löschen

Der Media Manager, der sich hinter diesem Punkt verbirgt, bietet Ihnen die Möglich-keit, Ihre Bilder komfortabel zu verwalten. Abhängig von den zur Verfügung stehen-den Bildbearbeitungsbibliotheken können Sie die Bilder sogar drehen und spiegeln.

Hochladen

Sie können Dateien auf verschiedene Arten hochladen.

Einzelne Datei

Vermutlich werden Sie zunächst eine einzelne Datei hochladen wollen. Das Prinzipist immer gleich. Zur Beschreibung des Bildes werden Dateiort, Album, Name,Schlüsselwörter und erläuternder Text angegeben (Abbildung 5.33).

Mehrere Dateien

Hier wird Ihnen das Formular für die einfache Datei mehrfach angezeigt, so dass Siemehrere Bilder auf einmal hochladen können.

Drag&Drop

Falls Sie ein Java Plugin in Ihrem Browser und/oder eine Java-Laufzeitumgebung aufIhrem Rechner installiert haben9, können Sie ein Java Applet, mit dem Sie ebenfallsmehrere Dateien auf einmal übertragen können, durch Klick auf den Link DRAG &DROP starten (Abbildung 5.34).

Abbildung 5.32: Zoom Gallery – Media Manager

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

Page 189: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.3 Galerie

189

Abbildung 5.33: Hochladen einer Datei

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

Page 190: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

190

In dieses Applet können Sie auch Dateien über einen normalen Dateidialog oder perDrag&Drop aus Ihrem Dateimanager in die Eingabemaske ziehen! All den Bildernordnen Sie damit die gleiche Beschreibung zu.

Durchsuche Verzeichnis

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

Einstellungen

Der Einstellungsdialog ist ebenfalls in mehrere Reiter aufgeteilt.

Layout

Beim Arbeiten mit Bildern stellt sich immer das Problem der Größe und der Über-sicht. Es hat sich eingebürgert, so genannte Thumbnails (kleine Vorschaubilder) zuerzeugen, die dann auf einer Seite wie ein Inhaltsverzeichnis angezeigt werden. Dashat den Vorteil, dass man ohne große Ladezeiten einen groben Überblick über die Bil-der erhält. Wenn Sie auf ein Vorschaubild klicken, öffnet sich dann die große Variantedes Bildes.

Damit das funktioniert, müssen die Vorschaubilder automatisch erzeugt werden. Dasist nun nicht ganz so einfach und auf vielerlei Art möglich.

Die Zoom Media Gallery bietet vier Varianten an: zwei externe Programme, die aufdem Server installiert sein müssen (ImageMagick10 und NetPBM11), und zwei in dasPHP-Modul einkompilierte Bibliotheken (GD1 und GD2).

Da Sie auf einem gemieteten Server vermutlich keinen Einfluss auf die Auswahl derinstallierten Software haben und beide recht viel Systemressourcen benötigen, sinddie ersten beiden Optionen echte Glückssache. Bei einer lokalen Installation unterWindows oder Linux können Sie sich die Programme natürlich downloaden undinstallieren.

HinweisHinweis

Abhängig von Ihrer Serverkonfiguration und der von Ihnen verwen-deten Version der virtuellen Java-Maschine kann es sein, dass derMehrfach-Upload nicht funktioniert.

10 http://www.imagemagick.org/.11 http://netpbm.sourceforge.net/.

Page 191: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.3 Galerie

191

Ein drittes Programm, die Bibliothek GD12, hat den Vorteil, dass es in PHP bereitsenthalten ist. Nun gibt es aber verschiedene PHP- und verschiedene GD-Versionen.Glücklicherweise wird in den Einstellungen automatisch erkannt, ob, und wenn ja,welche GD vorhanden ist, und automatisch ausgewählt. GD hat weniger Funktionenals die ersten beiden Programme, kann aber auf jeden Fall 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 einemVideo-, Audio- oder Bildformat in ein anderes Format zu konvertieren. Es unterstütztauch das Aufnehmen und Enkodieren von einer TV-Karte in Echtzeit. Die ZoomGallery benutzt dieses Tool, um Vorschaubilder von Videodateien zu erstellen.

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 ein-stellen (Abbildung 5.36).

Abbildung 5.35: Einstellungen – Layout

12 http://www.boutell.com/gd/.

Page 192: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

192

Es geht dort um die Anzahl der Thumbnails auf einer Seite und das Ein- und Aus-blenden von verschiedenen Optionen wie beispielsweise Kommentaren, Postkarten,Schlüsselwörtern, Suchfeldern etc.

Außerdem kann hier die CSS-Datei der Zoom Media Gallery angepasst und eineThumbnail-Sortierungsmethode ausgewählt werden.

Safe Mode

Die Sprache PHP kennt einen so genannten Safe Mode, in dem bestimmte Aktionenwie beispielsweise schreibende Dateizugriffe unter Umständen verboten sind undandere Dinge eingeschränkt werden.13 Der Safe Mode wird beispielsweise beim Web-hoster Strato14 verwendet.

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 Siean dieser Stelle einfach Ihre FTP-Zugangsdaten eintragen, und PHP benutzt dann fürdas Hochladen der Bilder die eingebauten FTP-Funktionen.

Abbildung 5.36: Einstellungen – Zoom Settings

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

Page 193: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.3 Galerie

193

Zugriffsrechte

Hier legen Sie die Standardzugriffsrechte fest. Sie können hier den Benutzern erlauben:

� Bilder hochzuladen

� Bilder zu bearbeiten

� Bilder zu löschen

� ein Album zu erstellen

� ein Album zu bearbeiten

� ein Album zu löschen

� den HOCHLADEN-Link im Benutzermenü anzuzeigen

Compute your Zoom Thumb codes easily

Hier können Sie sich Thumb codes erstellen lassen. Es gibt verschiedene Erweiterun-gen zur Zoom Gallery, wie beispielsweise den Zoom Thumb Mambot. Er blendet, ähnlichwie der Image Mambot, Bilder aus der Zoom Gallery in Ihre Inhalte ein. Die entspre-chend benötigten Codes können Sie sich unter diesem Menüpunkt erzeugen lassen.

{moszoomthumb imgid=2}

Tabellen optimieren

Mit dieser Funktion werden die Datenbanktabellen der Galerie aufgeräumt. SolcheAufrä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 erstelltwerden, das passende Bild dazu aber nie ankommt.

Abbildung 5.37: Einstellungen – Zugriffsrechte

Page 194: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

194

Update Zoom Media Gallery

Hier können Sie sich über Updates der Galerie auf dem Laufenden halten. Der Linkführt zur Website von Mike de Boer.

Einbinden der Galerie in Ihre Website

Jetzt müssen Sie die Galerie noch in das Hauptmenü einbinden, damit sie auf IhrerWebsite angezeigt wird. Klicken Sie auf MENU – MAINMENU und das Icon NEW. Wäh-len Sie im darauf folgenden Dialog Component aus und klicken Sie auf NEXT (Ab-bildung 5.7).

Geben Sie dem neuen Menüeintrag einen Namen (Bildergalerie) und wählen Sie in derKomponentenliste Zoom Media Gallery Admin aus. Lassen Sie den Zugriff auf Publicund klicken Sie auf das Icon SAVE.

Wenn Sie nun auf Ihre Website wechseln und die Seite neu laden, so sollte in IhremHauptmenü ganz unten ein neuer Eintrag stehen (Bildergalerie). Wenn Sie ihn an-klicken, 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 demOriginalbild 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 Dateienhochladen. Dabei wird Ihnen eine ähnliche Oberfläche zur Verfügung gestellt wie inKapitel 5.3.4 beschrieben. Sie erreichen diese Oberfläche über den Link BENUTZER-SYSTEM.

Lightbox

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

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 aufIhre Karte. Das Verfallsdatum der E-Card können Sie in der Administration in denEinstellungen festlegen.

Page 195: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.4 Kommentare

195

Kommentare und Bewertungen

Jedes Bild ist kommentierbar und bewertbar. Sie können diese Funktionalität in denEinstellungen konfigurieren.

Die Auswertungen der Daten können in separaten Modulen angezeigt werden.

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 fünf, die ammeisten besuchten, die mit den meisten Kommentaren und sogar ein Scrolling-Modul, das Zufallsbilder auf Ihrer Website scrollen lässt.

Schauen Sie sich auf der Website von Mike de Boer um und probieren Sie ein paarModule aus.

5.4 Kommentare

Wenn Sie eine interaktive Website bevorzugen und an der Meinung Ihrer Besucherinteressiert sind, wäre es schön, wenn Ihre Besucher Inhaltselemente kommentierenkönnten. Mit der Komponente AkoComments von Arthur Konze ist genau das mög-lich.

Abbildung 5.38: Zoom Gallery – Kommentare und Bewertungen

Page 196: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

196

5.4.1 Installation

Laden Sie sich die Datei com_akocomment20.zip herunter und installieren Sie diese überden Components Installer (Abbildung 5.39). Laden Sie sich anschließend die Dateicb_akocommentbot.zip herunter und installieren Sie sie über den Mambots Installer(Abbildung 5.40).15 Aktivieren Sie den Mambot!

Da die Komponente zum jetzigen Zeitpunkt (September 2005) noch nicht perfekt mitPHP5 zusammenarbeitet, müssen Sie in der Datei

[Joomla!]/administrator/components/com_akocomment/toolbar.akocomment.php

die Zeile 37 auskommentieren:

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

15 Ein Download ist in diesem Fall nur über die Seite mamboportal.com nach einer Registrierung mög-lich. Daher liegt die Datei nicht auf CD bei.

Abbildung 5.39: Installation der AkoComment-Komponente

Abbildung 5.40: Installation von AkoComment Mambot

Page 197: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.4 Kommentare

197

5.4.2 Administration

Im Menü COMPONENTS -> AKOCOMMENT finden sich drei Menüeinträge.

View Comments

Hier können Sie die von Ihren Benutzern geposteten Kommentare bearbeiten. Damomentan 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 sollen oder nur, wenn im Inhalt das Mambot-Kommando {moscomment}vorkommt.

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?

Comment Window: Soll das Kommentarfenster im selben oder in einem eigenenFenster erscheinen?

Layout

Comments Sorting: Sollen die ältesten oder neuesten Kommentare zuerst gezeigtwerden?

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.

Page 198: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

198

5.4.3 Frontend

Wenn Sie nun auf Ihre Website gehen, werden Sie entsprechend Ihrer Einstellungenunter den Inhaltselementen ein Kommentarfenster sehen (Abbildung 5.41).

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

5.5 Dokumentenmanagement / Downloadbereich

Wenn Sie Dateien auf Ihre Website laden und in verschiedenen Benutzergruppen ver-walten und diese Dateien mit individuellen Beschreibungen und beliebigen Lizenzenzum Download anbieten wollen, dann gibt es nur eine Komponente für Sie: DOC-Man.16

Sie können verschiedene Arten von Dokumenten (Dateien) verwalten und zumDownload bereitstellen.

Durch die Möglichkeit, Kategorien und Benutzergruppen zu erstellen, können Siesich so einen sehr übersichtlichen Downloadbereich auf Ihrer Website erstellen.

DOCMan eignet sich auch hervorragend, um in geschlossenen Arbeitsgruppen rele-vante Dokumente an einer zentralen Stelle zu platzieren.

Abbildung 5.41: Kommentarfenster

16 http://www.mambodocman.com/.

Page 199: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.5 Dokumentenmanagement / Downloadbereich

199

5.5.1 Installation

Laden Sie sich die Datei docmanV13_RC_1.zip17 und installieren Sie sie über den Com-ponent Installer.

Im Komponentenmenü finden Sie jetzt den neuen Eintrag DOCMan mit vielen Unter-menüs. Wenn Sie direkt den Hauptmenüpunkt DOCMan auswählen, gelangen Sie indas DOCMan-spezifische Control Panel (Abbildung 5.43). Über neun Icons könnenSie direkt zu den Funktionen von DOCMan springen.

17 Downloadmöglichkeit siehe Anhang.

Abbildung 5.42: Installation von DOCMan

Abbildung 5.43: DOCMan Control Panel

Page 200: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

200

5.5.2 Deutsche Sprachdateien

Bevor wir uns intensiver mit der Administration beschäftigen, wollen wir zunächstdie deutsche Sprachdatei installieren. Auch hier leistet das Team von JoomlaGTTwieder ganze Arbeit. Laden Sie das Sprachpaket JOOMLA_com_docman_german_1.3_RC1_joomlaGTT.zip und entpacken Sie es in einem Verzeichnis Ihrer Wahl (Abbildung 5.44).

Diese Sprachdateien enthalten alle am Anfang das Wort german. Wenn Sie den Instal-lationen in diesem Buch gefolgt sind, müssen Sie alle fünf Dateinamen so ändern,dass am Anfang germanf steht (german formal). Kopieren Sie nach der Namensände-rung die Dateien in das Verzeichnis

[PfadzuJoomla!]/administrator/components/com_docman/language

Wenn Sie nun die Administrationsseite im Browserfenster aktualisieren, ist die deut-sche Übersetzung aktiv.

Für das Frontend benötigen Sie eine zusätzliche Übersetzung. Laden Sie sich dieDatei FRONTEND_com_docman_german_1.3_RC1.zip herunter und packen Sie sie aus. Die imPaket enthaltene Datei germanf.php kopieren Sie in das Unterverzeichnis Pfadzu-Joomla!]/components/com_docman/themes/default/language. Das Frontend von DOCManerscheint jetzt auch in deutscher Sprache.

5.5.3 Administration

Ich werde kurz die Administration anhand eines konkreten Beispiels durchgehen.Wir wollen Dateien auf der Website zum Download anbieten, die einer bestimmtenLizenz unterliegen. Bevor der Besucher die Datei herunterlädt, muss er die Lizenz perCheckbox bestätigen. Eine Gruppe von Benutzern soll für die Datei verantwortlichsein und ein Administrator soll diese Gruppe per E-Mail benachrichtigen können.

Configuration

Die vorgegebenen Parameter können Sie so belassen, wie sie standardmäßig einge-richtet sind. Sie können in dieser Einstellung Dateien mit dem Datentyp zip, rar, pdfund txt mit einer Größe bis zu einem Megabyte auf den Server laden. Alle registrier-ten Benutzer dürfen Dateien hochladen, Publisher dürfen die Dateien freigeben undBesucher der Seite dürfen sie herunterladen. Sie können diese und sehr viele andereEinstellungen in der DOCMan-Konfiguration verändern.

Abbildung 5.44: Deutsche Sprachdateien

Page 201: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.5 Dokumentenmanagement / Downloadbereich

201

Durch einen Klick auf das Toolbar-Icon SAVE können Sie Ihre Einstellungen spei-chern, ein Klick auf das Icon CPANEL bringt Sie zurück in das DOCMan Control Panel.

Lizenzen

Im Lizenz-Manager können Sie Ihre persönlichen Lizenzbedingungen formulieren.Sie können beliebig viele Lizenzen verwalten und später separat zu den Downloadszuordnen (Abbildung 5.45). Erstellen Sie hier eine Lizenz, die Sie später vom Be-sucher bestätigt haben wollen.

Gruppe

Eine Gruppe von Benutzern, die für diese Datei zuständig ist, wird hier festgelegt.Alle Gruppenmitglieder benötigen ein Benutzerkonto in Ihrem Joomla!-System.Legen Sie beispielsweise eine Gruppe Politiker an (Abbildung 5.46).

Wenn Sie auf den Reiter Mitglieder klicken, können Sie hier die Mitglieder derGruppe aus Ihren registrierten Benutzern auswählen (Abbildung 5.47).

Abbildung 5.45: Verwaltung der Lizenzen

Abbildung 5.46: Neue Gruppe Politiker

Abbildung 5.47: Mitgliederzuordnung der Gruppe Politiker

Page 202: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

202

Durch einen Klick auf das Icon SAVE speichern Sie die Gruppe. Die neu erstellteGruppe taucht jetzt in der Gruppenliste auf. Im rechten Bereich dieser Liste finden Sieein E-Mail-Symbol. Durch einen Klick auf dieses Symbol können Sie an die Mitgliederder Gruppe eine Nachricht senden.

Kategorien

Jetzt benötigen Sie eine Kategorie. Erstellen Sie sich eine mit dem Namen Verfassun-gen. Klicken Sie dazu auf das KATEGORIE-Icon im DOCMan Control Center undanschließend auf das Toolbar-Icon NEW.

Weisen Sie alle Parameter zu und speichern Sie die neue Kategorie durch einen Klickauf das Toolbar-Icon SAVE ab.

Dateien

Um nun ein Dokument oder einen Download unserer Gruppe zuordnen zu können,benötigen wir natürlich erst mal eine Datei. Klicken Sie auf das Icon DATEIEN imDOCMan Control Center und laden Sie den ersten Entwurf der neuen EU-Verfassung(euverfassung.pdf) auf Ihren Server. Als ersten Schritt müssen Sie entscheiden, auf wel-che Weise die Datei auf Ihren Server befördert werden soll. Sie können die Datei vomlokalen Rechner hochladen, von einem anderen Server aus hochladen oder durch einen Linkauf eine Datei auf einem anderen Server verweisen. Wir benötigen den ersten Fall (Ab-bildung 5.49).

Abbildung 5.48: Neue Kategorie Verfassungen

Page 203: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.5 Dokumentenmanagement / Downloadbereich

203

Nach einem Klick auf den Button NÄCHSTE >>> gelangen Sie in einen Upload-Dialog.Wählen Sie die gewünschte Datei aus. Falls Sie mehrere einzelne Dateien in einergezippten Datei hochladen wollen, können Sie die Checkbox STAPEL MODUS (Stapel-verarbeitung) ankreuzen. Das Zip-Archiv wird entpackt und jede Datei steht einzelnzur Verfügung (Abbildung 5.50).

Nach dem Hochladen erhalten Sie eine Erfolgsmeldung und einen Abfragebild-schirm, ob sie weitere Dateien hochladen, in die Dokumentverarbeitung gehen oderdie hochgeladenen Dateien anzeigen wollen. Wählen Sie die letzte Variante und las-sen Sie sich die hochgeladenen Dateien anzeigen (Abbildung 5.51).

Abbildung 5.49: Datei-Upload in DOCMan

Abbildung 5.50: Datei-Upload II in DOCMan

Abbildung 5.51: Liste der vorhandenen Dateien

HinweisHinweis

Auf einem Rechner, der – wie vermutlich bei Ihrem Provider – mitdem Betriebssystem Linux läuft, müssen Sie auf die Verzeichnis-berechtigungen achten. Das standardmäßig von DOCMan angelegteVerzeichnis [PfadzuJoomla!]/dmdocuments muss für den Webserverschreibbar sein, sonst funktioniert der Upload von Bildern nicht.Benutzen Sie das chmod-Kommando oder die entsprechende Funktionin Ihrem FTP-Programm und setzen Sie die Verzeichnisattribute auf0777. Auf der Kommandozeile sähe das so aus:

Page 204: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

204

Bei der zweiten Möglichkeit des Uploads müssen Sie den URL der gewünschtenDatei und den Namen, den diese Datei auf Ihrem Server erhalten soll, eingeben.DOCMan lädt die Datei dann ohne Umweg über Ihren Rechner auf den Server.

Die dritte Variante springt sofort in die Dokumentenverwaltung, wo der gewünschteLink dann mit den gewünschten Parametern zur Anzeige auf der Website versehenwerden kann.

Genau da wollen wir jetzt auch hin.

Dokumente

Nachdem wir nun eine Gruppe, eine Kategorie und eine Datei haben, können wir alledrei Objekte miteinander verbinden. Öffnen Sie dazu durch einen Klick auf das IconDOKUMENTE im DOCMan Control Center die Dokumentenverwaltung und klickenSie auf das Toolbar-Icon NEW.

Sie können hier einen ausführlichen Dateititel, ein im Media Manager vorhandenesBild, die gewünschte downloadbare Datei, eine Kategorie, einen Datum/Zeitstempelund eine ausführliche Beschreibung eintragen (Abbildung 5.52).

Im Ordner Rechte legen Sie fest, wer auf die Datei zugreifen darf (jeder) und wer dafürzuständig ist (Politiker) (Abbildung 5.53).

chmod 0777 [PfadzuJoomla!]/dmdocuments

Legen Sie dieses Verzeichnis wenn möglich außerhalb des öffentlichzugänglichen Bereiches Ihres Webservers an. Wenn dieses Verzeich-nis öffentlich zugänglich und sein Name außerdem bekannt ist, kön-nen die darin enthaltenen Dateien direkt heruntergeladen werden.

Abbildung 5.52: DOCMan Dokumente – Reiter Dokument

Page 205: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.5 Dokumentenmanagement / Downloadbereich

205

Jetzt müssen wir uns noch um die Lizenzfrage kümmern. Klicken Sie auf den ReiterLizenz, wählen Sie Ihre Lizenz aus und legen Sie fest, dass diese Lizenz explizit bestä-tigt werden muss (Abbildung 5.54).

Zu guter Letzt können Sie im Reiter Details noch eine Website angeben, die imZusammenhang mit dieser Datei wichtig ist (Abbildung 5.55).

Nachdem Sie den Download nun in allen Facetten beschrieben haben, klicken Sie aufdas Toolbar-Icon SAVE und speichern die Daten ab. Sie gelangen wieder in die Listeder Dokumente. Veröffentlichen Sie Ihr Dokument und geben Sie es frei durch jeweilseinen Klick auf die roten Kreuze (Abbildung 5.56).

Einbindung in die Website

Nach dieser Arbeit können Sie nun die DOCMan-Komponente in Ihre Website ein-binden. DOCMan hat bereits einen Menüpunkt Docs angelegt. Diesen können Sieändern, indem Sie den Menüpunkt übersetzen oder einen neuen anlegen. Für die

Abbildung 5.53: DOCMan Dokumente – Reiter Rechte

Abbildung 5.54: DOCMan Dokumente – Reiter Lizenz

Abbildung 5.55: DOCMan Dokumente – Reiter Details

Abbildung 5.56: Dokumentenliste

Page 206: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

206

Neuanlage fügen Sie im Menu Manager dem Hauptmenü einen weiteren Menüpunkthinzu, kreuzen Component an, klicken auf das Toolbar-Icon NEXT und geben imanschließenden Formular die entsprechenden Beschreibungen ein.

Nach einem Klick auf das Toolbar-Icon SAVE hat Ihr Hauptmenü einen neuen Link zuIhrem Dokumentenbereich. Sie sehen zunächst die verfügbaren Kategorien undgelangen durch einen Klick auf den Kategorienamen in die Auflistung der Doku-mente (Abbildung 5.58).

Abbildung 5.57: Neuer Menüpunkt Dokumente

Abbildung 5.58: DOCMan auf der Website

Page 207: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.5 Dokumentenmanagement / Downloadbereich

207

Bevor Sie eine Datei herunterladen können, müssen Sie die der Datei zugeordneteLizenz bestätigen.

Themen

Im Themes-Bereich können Sie wie bei den Site-Templates die HTML- und CSS-Dateider DOCMan Themes bearbeiten und neue Themes installieren (Abbildung 5.60).

Statistik

Hier sehen Sie die 50 am häufigsten heruntergeladenen Dateien.

Updates

Nach einem Klick auf dieses Icon wird nach evtl. vorhandenen Updates gesucht undeine entsprechende Meldung angezeigt.

5.5.4 Module

Es gibt verschiedene Module für DOCMan. Um die am meisten heruntergeladenenDateien auf der Website anzuzeigen, laden Sie sich die Datei mod_mostdownV10_RC_1.zip18 herunter und installieren sie über den Modul Installer. Schalten Sie das Modulfrei, ändern Sie die Bezeichnung in eine deutschsprachige Überschrift und ordnen Siees an einer Stelle Ihrer Wahl an.

Abbildung 5.59: Lizenzbestätigung vor dem Download

Abbildung 5.60: DOCMan Themes

18 Download siehe Anhang.

Page 208: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

208

5.5.5 Mambots

Um die Sache abzurunden, benötigen Sie noch einen Such-Mambot, damit dieBeschreibungen Ihrer Downloads auch durchsuchbar werden. Laden Sie die Dateibot_searchV10_RC_2.zip herunter und installieren Sie sie über den Mambot Installer. Ver-öffentlichen Sie den Search Docman-Mambot und probieren Sie die Suche aus (Ab-bildung 5.62).

5.6 Shopsystem

Shopsysteme werden immer benötigt und auch Joomla! hat hier einiges zu bieten. DieKomponente virtuemart19 bietet ein komplettes Shopsystem für Ihre Joomla!-Installa-tion. virtuemart ist nach der Trennung von Mambo und Joomla! aus dem Mambo-php-Shop hervorgegangen. Der Mambo-phpShop wiederum basiert auf dem phpShop inder Version 0.8.0.20

An dieser Stelle ein paar Features, um einen Eindruck von der Leistungsfähigkeit die-ses Shopsystems zu bekommen:

� beliebig viele Produkte und Kategorien mit beliebiger Schachtelungstiefe

� Verkauf von downloadbaren Gütern wie MP3s, Videos und Software möglich

Abbildung 5.61: DOCMan Modul – beliebteste Downloads

Abbildung 5.62: DOCMan Such-Mambot

19 http://virtuemart.net/.20 http://www.phpshop.org/.

Page 209: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

209

� zusätzliche Attribute wie Größe und Farbe der Produkte

� Möglichkeit von Aktionspreisen

� Importmöglichkeit aus CSV-Dateien

� eine »Willkommen-Maske« zeigt Ihnen aktuelle Statistiken, beispielsweise die An-zahl der Kunden und die Anzahl der Bestellungen

� Administration ist über das Frontend möglich

� Verwaltung unterschiedlicher Währungen und Länder

� verschiedene Lieferadressen für Kunden

� verschiedene Steuersätze

� SSL-Verschlüsselung

� Zahlung mit Kreditkarte und über viele Online-Paymentsysteme wie beispiels-weise PayPal möglich

Anhand dieser Features sehen Sie schon, dass es sich bei einer Shopeinrichtung umein größeres Projekt handelt. Sind die Artikel noch verhältnismäßig einfach zu orga-nisieren, so sind Sie spätestens bei Kreditkartenzahlungen auf Schnittstellen zu dengängigen Kartenfirmen angewiesen.

Ein Shop verlangt ständige Pflege des Sortiments, Aktionspreise und Sonderaktionenauf der einen Seite, Kundenpflege, schnelle Bearbeitung der Bestellungen und Auslie-ferung auf der anderen Seite. Auch hier bietet virtuemart beispielsweise die Möglich-keit, den Kunden zu benachrichtigen, wenn seine Ware versendet wurde, und Über-sichtsmasken für den Shopadministrator.

5.6.1 Installation

Die Installation gestaltet sich naturgemäß einfach. Laden Sie sich die Datei mambo-phpShop_1.2_stable-pl3_COMPLETE_PACKAGE.zip21 in ein Verzeichnis und entpacken Sie. Indiesem Paket sind alle Komponenten, Module und Mambots, die Sie für einen erfolg-reichen Shop benötigen. Installieren Sie zuerst die Datei com_phpshop_1.2_stable-pl3.tar.gz über den Component Installer. Nach dem Upload werden Sie gefragt, ob Sieeinen leeren Shop oder einen mit Beispieldaten haben wollen (Abbildung 5.63).

Entscheiden Sie sich beim ersten Mal für die Beispieldaten und klicken Sie auf denButton INSTALL SAMPLE DATA. Die Installation der Beispieldaten kann ein paarSekunden dauern, brechen Sie also die folgende Verarbeitung nicht ab. Wenn alleTabellen korrekt erstellt worden sind, wird Ihnen die Verwaltungsoberfläche desShops (Store Control Panel) angezeigt (Abbildung 5.64).

21 Downloadmöglichkeit siehe Anhang.

Page 210: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

210

Schauen Sie sich ein wenig in den Menüs um.22 Der Aufbau entspricht dem Joomla!-System. Sie haben im oberen Bereich ein Menüsystem mit zwölf Menüs, im Haupt-fenster neun Icons zum Sofortzugriff auf die gängigsten Menüpunkte und im rechtenBereich Reiter mit aktuellen Informationen über Bestellungen und Kunden. Für einekorrekte Funktion des Shops benötigen Sie mindestens ein Modul. Installieren Sie dieDatei mod_phpshop_1.2_stable-pl3.tar.gz über den Module Installer. Gehen Sie in dieModulliste, suchen Sie das neue Modul und veröffentlichen Sie es. Wenn Sie jetzt aufIhre Website gehen und die Anzeige aktualisieren, sollte das Modul mit den Beispiel-daten erscheinen (Abbildung 5.65).

Abbildung 5.63: Begrüßungsmaske nach der Installation

Abbildung 5.64: Shop – Verwaltungsoberfläche

22 Zur Installation der deutschen Sprachdatei siehe nächstes Kapitel.

Page 211: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

211

Sie haben jetzt die minimale Konfiguration des Shops und er ist bereits funktions-fähig. Wenn Sie auf die Kategorien klicken, sehen Sie die Beispielartikel (Abbildung5.66).

Sie sehen bereits bei der Säge (Nice Saw), dass Preisgegenüberstellungen möglich sind(You Save x $). Die Artikel sind auch von den Kunden bewertbar. Durch einen Klickauf den Artikelnamen gelangen Sie in den Detailbereich (Abbildung 5.67). Sie könnendiese Säge in drei Größen und drei Leistungsstufen kaufen. Außerdem wird Ihnendie Verfügbarkeit angezeigt (1–4 Weeks). Wenn Sie sich im Frontend anmelden, könn-ten Sie eine Bewertung zu diesem Artikel schreiben.

Abbildung 5.65: Shop-Modul auf der Website

Abbildung 5.66: Beispielartikel

Page 212: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

212

Wir haben nur noch ein Problem: Alles ist in englischer Sprache!

5.6.2 Deutsche Sprachdateien

Um den Shop in deutscher Sprache anzuzeigen, müssen Sie wieder ein Sprachpaketinstallieren. Laden Sie die Datei Language_Pack_for_mambo-phpShop_1.2_stable-pl3.tar.gzund entpacken Sie sie. In der Datei finden Sie zahlreiche Übersetzungen. BenennenSie die Datei german.php um in germanf.php und kopieren Sie sie in das Verzeichnis[PfadzuJoomla!]administrator/components/com_phpshop/languages. Wenn Sie nun IhrenShop ansehen, so sind alle Bezeichnungen in deutscher Sprache verfügbar.

5.6.3 Konfiguration

Die individuelle Konfiguration können Sie in folgender Reihenfolge durchführen.Starten Sie immer von der Shop-Startseite unter dem Menüpunkt COMPONENTS ->MAMBO-PHPSHOP.

Shopdaten bearbeiten

Gehen Sie zuerst in das Menü IHR SHOP -> SHOPDATEN BEARBEITEN. Hier können Sieunter drei Reitern alle notwendigen Informationen über Ihren Shop eintragen. Siekönnen hier sogar Ihr Logo hochladen! Denken Sie an die Auswahl der richtigenWährung und deren Darstellung und natürlich an Ihre korrekte E-Mail-Adresse.

Abbildung 5.67: Artikeldetails

Page 213: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

213

Steuersätze hinzufügen

Rufen Sie danach im Menu STEUERN -> STEUERSÄTZE AUFLISTEN die Steuersatzliste auf.Fügen Sie über STEUERN -> STEUERSATZ HINZUFÜGEN alle Steuersätze hinzu, die Sie fürIhren Shop benötigen. Sie können die Steuersätze jeweils einem Land zuordnen.

Konfiguration

Im Menü ADMINISTRATION -> KONFIGURATION können Sie unter zahlreichen Reiternund in diversen Untermenüs Details zu allen relevanten Bereichen Ihres Shops fest-legen. Die einzelnen Parameter sind selbsterklärend. Um beispielsweise das Featuredownloadbare Güter zu benutzen, müssen Sie es im Reiter Downloads aktivieren(Abbildung 5.70).

Abbildung 5.68: Shopdaten

Abbildung 5.69: Steuersatzliste

Abbildung 5.70: Shopkonfiguration

Page 214: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

214

Sie können auch verschiedene bereits eingebaute Schnittstellen zu Liefersystemenkonfigurieren.

Artikelkategorien

Im Menüpunkt PRODUKTE -> KATEGORIEN sehen Sie eine Übersicht der bereits vor-handenen Shopkategorien. Über PRODUKTE -> NEUE KATEGORIE können Sie Ihrebenötigten Kategorien hinzufügen. Sie können die Kategorien ähnlich wie im MenuManager baumartig strukturieren, sortieren und löschen. Denken Sie daran, neuerstellte Kategorien zu veröffentlichen (Abbildung 5.71).

Artikel

Hier kommen nun endlich die eigentlichen Artikel. UNTER PRODUKTE -> NEUES PRO-DUKT können Sie Ihre Artikel anlegen. Über fünf Reiter können Sie alle relevantenArtikeldaten festlegen. Sie können auch Artikelbilder hochladen, Maße undGewichte, die Verfügbarkeit des Artikels eintragen und verwandte Artikel definieren,die dann im Shop entsprechend angezeigt werden (Abbildung 5.72).

Die gesamte Artikelliste können Sie unter dem Menüpunkt PRODUKTE -> PRODUKTE

AUFLISTEN sehen. Hier können Sie die Artikel bearbeiten, veröffentlichen, kopierenund löschen.

Abbildung 5.71: Artikelkategorien

Abbildung 5.72: Artikel-Erfassungsmaske

Page 215: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

215

5.6.4 Joomla!-Konfiguration

Damit der Shop richtig funktioniert, müssen Sie in der globalen Konfiguration vonJoomla! ein paar Dinge beachten.

� Es muss möglich sein, sich als Benutzer zu registrieren (Allow User Registration).Der Shop nutzt die Registrierung für den Bestellvorgang.

� Die Aktivierung des Benutzerkontos über einen E-Mail-Link muss deaktiviert sein(New Account Activation).

� Der Shop benutzt die E-Mail-Konfiguration aus der globalen Konfiguration vonJoomla!.

� Search Engine Friendly Links (SEF) funktionieren prinzipiell gut, hin und wiederkann es aber zu Fehlern kommen. Wenn Sie auf Nummer sicher gehen wollen, be-nutzen Sie dieses Feature nicht.

Mehr über die Konfiguration erfahren Sie in einem englischen Tutorial unterhttp://mambo-phpshop.net/documentation/User_Manual/index.html.

5.6.5 Der Bestellvorgang

Der Kunde wählt die gewünschten Artikel aus und befördert sie durch einen Klickauf den Button BESTELLEN in den Warenkorb. Der Warenkorb wird im Standard-modul angezeigt. Durch einen Klick auf den Link WARENKORB ZEIGEN sieht derKunde die detaillierte Auflistung der Artikel mit Einzelpreisen. Hier kann er dieBestellmenge ändern und den Artikel wieder aus dem Warenkorb entfernen (Ab-bildung 5.73).

Nach einem Klick auf den Button ZUR BESTELLUNG beginnt der mehrstufige Bestell-vorgang. Die Anzahl und Gestaltung der Stufen hängen von der Konfiguration desShops ab (Abbildung 5.74).

Abbildung 5.73: Warenkorb mit zwei Artikeln

Page 216: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

216

Auf der nächsten Seite muss sich der Kunde registrieren. Wenn er bereits ein Benut-zerkonto hat, kann er sich hier mit seinem Benutzernamen authentifizieren. Wenn ernoch kein Benutzerkonto hat, kann er sich in dem Formular auf der gleichen Seite einBenutzerkonto einrichten.

Der Kunde kann in diesem Dialog einen Gutschein einlösen und die Rechnungs- undLieferadresse festlegen (Abbildung 5.75).

Abbildung 5.74: Bestellvorgang

Abbildung 5.75: Rechnungs- und Lieferadresse

Page 217: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

217

Nach einem Klick auf den Button WEITER muss der Kunde die gewünschte Versand-und Zahlungsart festlegen ( Abbildung 5.76, Abbildung 5.77).

Der Kunde erhält im nächsten Schritt eine Zusammenfassung seiner eingegebenenDaten zur Überprüfung und Bestätigung. Bei jedem Bearbeitungsschritt wird auchoptisch über das Einkaufswagensymbol der Fortschritt bei der Bearbeitung angezeigt.Hier kann der Kunde auch noch schriftliche Ergänzungen zur Bestellung in ein For-mularfeld eingeben (Abbildung 5.78).

Wenn alles korrekt ist, klickt der Kunde auf den Button BESTELLUNG BESTÄTIGEN undlöst dadurch seine Bestellung aus. Es erscheint ein Bestätigungsbildschirm mit einemLink zu einer Seite mit allen relevanten Bestelldaten (Abbildung 5.79).

Der Kunde erhält eine Bestätigungs-E-Mail und Ihre Bearbeitung der Bestellung kannbeginnen.

Abbildung 5.76: Versandart festlegen

Abbildung 5.77: Zahlungsart festlegen

Page 218: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

218

5.6.6 Die Bestellungsverwaltung im Backend

Nachdem der Kunde bestellt hat, taucht im Administrationsinterface des Shops imMenüpunkt BESTELLUNGEN –> BESTELLUNGEN AUFLISTEN die gerade getätigte Bestel-lung auf (Abbildung 5.80).

Abbildung 5.78: Letzte Überprüfung vor der Bestellung

Abbildung 5.79: Bestätigung der Bestellung

Page 219: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.6 Shopsystem

219

Sie können jetzt den Verlauf der Bestellung Ihrem Kunden gegenüber per E-Maildokumentieren. Wählen Sie den entsprechenden Status aus, kreuzen Sie die Check-box KUNDEN BENACHRICHTIGEN an und drücken Sie den UPDATE STATUS-Button. DerKunde erhält eine E-Mail-Benachrichtigung über die Statusänderung und in IhrerBestellverwaltung wandert die Bestellung in die entsprechende Liste.

Auf diese Art haben sowohl Sie als auch Ihre Kunden einen guten Überblick über denStatus der Bestellungen.

Sie als Shopadministrator benötigen natürlich detaillierte Informationen über dieBewegungen in Ihrem Shop. Im Reporte-Menü können Sie sich variable Listen übervariable Zeitpunkte erzeugen (Abbildung 5.81).

5.6.7 Module

Im Shoppaket sind diverse Module enthalten. Installieren Sie sie über den Modul-manager und probieren Sie die Wirkung aus.

Abbildung 5.80: Liste aller Bestellungen

Abbildung 5.81: Reporte

Page 220: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

220

5.6.8 Mambots

Auch ein Shop benötigt natürlich einen Search Mambot. Um diese Funktionalität fürden PHP-Shop zu nutzen, müssen Sie die ebenfalls im Shoppaket enthaltene Dateiphpshop.searchbot_1.2_stable-pl3.tar.gz über den Mambot Installer installieren.

5.7 Mehrsprachigkeit mit Mambelfish

Die Komponente Mambelfish ermöglicht die Erstellung einer mehrsprachigen Web-site. Das Thema ist recht komplex und so ist auch diese Komponente nicht ganz ein-fach zu bedienen.

Der Bedarf nach mehrsprachigen Websites wird gerade in Europa immer größer. Bis-her war eine echte Mehrsprachigkeit in Mambo, für das diese Komponente ursprüng-lich erstellt wurde, nicht möglich.

Sie konnten zwar aus vielen Frontend-Sprachdateien auswählen, die Website an sichhatte aber nur eine Sprache.

Durch diese wirklich geniale Komponente von Alex Kempkens (seines Zeichens Mit-glied des Entwicklerteams von Joomla! und Fachlektor dieses Buches) ist es möglich,echte Mehrsprachigkeit anzubieten.

Auch in der ersten Joomla!-Version ist Mehrsprachigkeit von Webseiten standard-mäßig nicht eingebaut. In der nächsten Version von Joomla!, die vermutlich schon aufdem Markt ist, wenn Sie dieses Buch in den Händen halten, ist der Administrations-bereich mehrsprachig, und es wird vermutlich eine internationale Joomla!-Versiongeben, in der die Mambelfish-Komponente integriert sein wird.

Trotz aller Möglichkeiten, die mehrsprachige Seiten bieten, ist das mit der Überset-zung immer so eine Sache. Schließlich besteht eine Website aus Standardsätzen, die inSprachdateien übersetzt werden. Diese Sprachdateien werden im Mambelfish auchbenutzt. Es gibt weiterhin eine Standardsprache, die in der Global Configuration fest-gelegt 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 Inhaltekönnen in einem Übersetzungsmanager in die entsprechenden Zielsprachen über-setzt werden. Dazu gehören natürlich auch die Menübezeichnungen und die ver-schiedenen Kategorien. Dabei wird keinesfalls automatisch übersetzt, sondern jedesInhaltselement müssen Sie selbst in die Zielsprache bringen.

Page 221: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.7 Mehrsprachigkeit mit Mambelfish

221

Die Vorteile liegen auf der Hand:

� Jeder Teil Ihrer Website ist in jeder Sprache verfügbar.

� Der Benutzer kann per Mausklick die gesamte Website in einer anderen Sprachesehen.

5.7.1 Installation von Mambelfish (Komponente und Modul)

Laden Sie sich die Datei MambelFish_1.5.zip herunter und installieren Sie diese überden Menüpunkt INSTALLERS –> COMPONENTS. Nach der Installation sehen Sie dieNachricht, dass die Komponente installiert wurde. Außerdem sehen Sie einenumfangreichen Begrüßungstext mit dem Hinweis, dass Sie verschiedene Dateiennoch separat »patchen« müssen.

Die Patch-Dateien finden Sie im Verzeichnis:

[PfadzuJoomla!]\administrator\components\com_mambelfish\patch\4.5.2

Kopieren Sie alle Dateien und Unterverzeichnisse inklusive der enthaltenen Dateienin Ihr Joomla!-Stammverzeichnis [PfadzuJoomla!] (Abbildung 5.82).

Die vorhandenen Joomla!-Dateien werden bei dieser Aktion überschrieben. Diegepatchten Dateien sind notwendig, um die Sprachfunktionalität wirklich an jederStelle in Joomla! zur Verfügung zu stellen.

Um gleich Ergebnisse zu sehen, installieren Sie bitte das passende Modul. Laden Siesich die Datei mbf_module.zip herunter und installieren Sie diese über den MenüpunktINSTALLERS –> MODULES. Nach der Installation sehen Sie die Nachricht, dass dasModul erfolgreich installiert wurde.

Abbildung 5.82: Mambelfish-Patches

Page 222: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

222

Klicken Sie auf MODULES –> SITE MODULES und aktivieren Sie das Modul.

Wenn Sie nun auf Ihre Website schauen, werden Sie unten links einen leeren Kastenmit der Überschrift Mambelfish sehen. Das kommt daher, dass Sie die Komponentenoch nicht konfiguriert haben.

5.7.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üssten 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 -> LANGUAGE CONFIGURATION die entsprechenden Einstellungen vorneh-men. Der Dialog hat zwei Karteireiter: SPRACHEN und FRONTEND.

Sprachen

Hier sehen Sie die installierten Sprachen. Sie können hier alle Sprachen auswählenund die vorgegebenen Bezeichnungen überschreiben. Außerdem müssen Sie dasrichtige Sprachkürzel (unter ISO) eingeben. Für die deutsche Sprache geben Sie deund für die englische Sprache en ein. Zusätzlich können Sie noch eine Bilddatei ange-ben, die anstelle des Namens beispielsweise eine Flagge anzeigt. Die Sortierung derAnzeige im Modul können Sie ebenfalls festlegen (Abbildung 5.83).

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

Abbildung 5.83: Mambelfish – Language Configuration – Sprachen

Abbildung 5.84: Sprachauswahl auf der Website

Page 223: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.7 Mehrsprachigkeit mit Mambelfish

223

Wenn Sie auf die Sprachlinks klicken, werden Ihnen Unterschiede auffallen. Der auf-fälligste dürfte der Hinweis sein:

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 Joomla!-Beispieldaten arbeiten, müssen diese zunächst übersetzt werden.

Doch bevor wir das tun, sehen wir uns noch den Inhalt des zweiten Karteireitersgenauer an.

Frontend

Hier werden die Einstellungen für die Website definiert (Abbildung 5.85).

Es geht hier um zwei Dinge: zum einen um das Verhalten bei der Darstellung vonInhaltselementen, wenn keine Übersetzung vorhanden ist, und zum anderen um dieDarstellung 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 vorhinauch schon präsentiert. Die zweite Variante ist das Anbieten des Originaltextes. Diedritte bietet ebenfalls den Originaltext, aber mit Zusatzinformationen, an.

Die Frontend-Darstellung erfolgt entweder horizontal oder vertikal, entweder als Textoder als Bild. Im Feld darunter kann ein Trennzeichen eingegeben werden. DiesesTrennzeichen wird bei der horizontalen Darstellung benutzt. Standardmäßig ist esdas Pipe-Zeichen ( | ).

Abbildung 5.85: Mambelfish – Language Configuration – Frontend

Page 224: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

224

5.7.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 leeresFenster. Wählen Sie als Sprache Ohne Übersetzung und als Inhaltselemente Categories.

Jetzt werden Ihnen alle Kategorien angezeigt, unter anderem auch die KategorieJoomla! Buch, die wir im früheren Teil des Buches angelegt haben.

Wählen Sie nun die Sprache Deutsch. Die Anzeige ohne Übersetzung wechselt zuDeutsch. Klicken Sie auf den Link JOOMLA! BUCH. Sie erhalten eine Änderungsmaske,in der auf der linken Seite der Originaltext steht. Da in unserem Fall der Originaltextebenfalls in Deutsch ist, brauchen Sie Ihn nur in die leeren Felder zu kopieren (Ab-bildung 5.86).

Falls Sie den WYSIWYG-Editor eingeschaltet haben, kann es sein, dass das Einfügenper Mausklick nicht klappt. Benutzen Sie dann die Tastenkombination (ª)+ (Einfg)oder (Strg)+(V).

Nach einem Klick auf das Icon SAVE haben Sie den ersten Teil Ihrer Website übersetzt.In der Liste der Kategorien erscheint das Übersetzungsdatum. Veröffentlichen Sienun 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 denVorgang.

Abbildung 5.86: Mambelfish – Translation – ohne Übersetzung

Page 225: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5.7 Mehrsprachigkeit mit Mambelfish

225

Wenn Sie nun in der Optionsliste Alle Sprachen auswählen, sollten beide Übersetzun-gen zu sehen sein (Abbildung 5.88).

Wiederholen Sie den Vorgang nun bei einem Inhaltselement. Ich nehme das Beispielaus Kapitel 4.6.1 (Abbildung 5.89).

Auf Ihrer Website erscheint nun abhängig von der vom Benutzer ausgewählten Spra-che 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.

Abbildung 5.87: Mambelfish – Translation – Übersetzung

Abbildung 5.88: Anzeige der übersetzten Kategorien

Abbildung 5.89: Anzeige der übersetzten Inhalte

Page 226: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

5 Nützliche Erweiterungen

226

5.7.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 die Datei mbf_searchbot.zip und rufen Sie diese über die Menüleiste INSTAL-LERS –> MAMBOTS auf. Wählen Sie die Datei aus und klicken Sie auf den ButtonUPLOAD FILE & INSTALL. In der Liste der installierten Mambots taucht multi lingualcontent searchbot auf.

Klicken Sie in der Menüleiste auf MAMBOTS –> SITE MAMBOTS und veröffentlichen Sieden eben installierten multi lingual content searchbot.

Wenn Sie nun im Suchfeld Ihrer Website etwas eingeben, werden die übersetzten Ele-mente durchsucht und bei einem Treffer in der Ergebnisliste angezeigt.

5.7.5 Eigene Komponenten in Mambelfish einbinden

Sie können auf sehr einfache Art alle Komponenten in das Mambelfish-System ein-binden, indem Sie eine Tabellenbeschreibung im XML-Format in das Verzeichnis

[PfadzuJoomla!]/administrator/components/com_mambelfish/contentelements/

kopieren. Für die Beispielkomponente, die wir im nächsten Kapitel erzeugen, findenSie den Inhalt der Datei in Listing 5.1.

Auf der Basis dieser Beschreibung integriert Mambelfish die zu übersetzenden Datenin die Administrationsoberfläche. Durch die Angabe des Attributs translate mit demWert 0 oder 1 kann Mambelfish sogar auf Feldebene gesteuert werden.

Listing 5.1: joomlabuch.xml

<?xml version="1.0" ?><mambelfish type="contentelement"> <name>joomlabuch</name> <author>Hagen Graf</author> <version>1.0</version> <description>Beispiel aus dem Joomla!buch</description> <reference type="joomlabuch"> <table name="joomlabuch"> <field type="referenceid" name="id" translate="0">ID</field> <field type="titletext" name="text" translate="1">Text</field> </table> </reference></mambelfish>

Page 227: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

Um das Erscheinungsbild Ihrer Seite an Ihre Firmenfarben anzupassen, müssen Sieein vorhandenes Template ändern oder ein neues erstellen. In diesem Kapitel lernenSie die Grundlagen der Template-Erstellung in Joomla! kennen.

6.1 Corporate Identity

Unter Corporate Identity (CI) versteht man das Selbstverständnis und das Erschei-nungsbild eines Unternehmens. Dieses Erscheinungsbild, die Identität, ergibt sichentweder 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 dasUnternehmen 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 nachauß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 Unternehmenbenutzt.

Die Besucher Ihrer Homepage sollten Ihr Unternehmen auf Anhieb wiedererkennen.

Page 228: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

228

6.2 HTML/XHTML, CSS, XML

Die Abkürzungen HTML1/XHTML2, CSS3 und XML4 stehen für Internettechnologien,mit denen Joomla! arbeitet. Diese Technologien werden vom World Wide Web-Kon-sortium5 standardisiert.

6.2.1 HTML/XHTML

Das World Wide Web basiert auf der Seitenbeschreibungssprache HTML. Bei HTMLhandelt es sich nicht um eine Programmiersprache, sondern um eine Textbeschrei-bungssprache.

Jeder Text besteht aus Strukturen wie beispielsweise Überschriften, Aufzählungen,fett und kursiv gedruckten Bereichen, Tabellen und vielem mehr. HTML arbeitet mitso 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 wirdder Text dargestellt.

HTML ist sehr einfach zu erlernen. Die wohl beste Anleitung gibt es online unddownloadbar unter http://de.selfhtml.org/.

HTML selbst wird nicht mehr weiterentwickelt. Der Nachfolger von HTML istXHTML in der Version 1.0.

6.2.2 CSS

Cascading Stylesheets (CSS) sind eine Ergänzung zu HTML. Auch CSS ist keine Pro-grammiersprache, sondern ein Vokabular zur Definition von Formateigenschafteneinzelner HTML-Elemente.

Mit Hilfe von CSS-Befehlen können Sie beispielsweise bestimmen, dass Überschriftender ersten Ordnung eine Schriftgröße von 18 Punkt haben, in der Schriftart Arial, abernicht fett erscheinen und mit einem Abstand von 1,9 Zentimeter zum darauf folgen-den Absatz versehen werden.

1 HyperText Markup Language.2 Extended HyperText Markup Language.3 Cascading Stylesheets.4 Extended Markup Language.5 http://www.w3.org/.

Page 229: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.2 HTML/XHTML, CSS, XML

229

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 Kommerzialisierungdes Internets werden weitergehende Formatierungsmöglichkeiten allerdings immerwichtiger.

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, dieCSS-Befehle in eine extra Datei auszulagern und den Pfad zu dieser Datei im HTML-Kopf anzugeben. Diese Variante wird von Joomla! benutzt.

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

Innerhalb eines HTML-Tags

Innerhalb eines HTML-Tags 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üralle Seiten gelten, im weiteren Quellcode einer HTML-Seite zu überschreiben. Dadiese Art der Benutzung jedoch schnell in unübersichtlichen Strukturen endet, solltenSie lieber die zentrale Datei anpassen.

Page 230: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

230

6.2.3 XML

Die Extended Markup Language (XML) ist ein Universum für sich. Sie stellt eine Meta-sprache dar, in der andere Sprachen formuliert werden. Die Mutter aller Sprachengewissermaßen. Für unsere Zwecke benötigen Sie XML als Beschreibungssprache fürdie Metadaten des Templates, das Sie erstellen wollen. Diese Metadaten sind in ersterLinie 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>Joomla_buch</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.3 Templates selbst erstellen

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

6.3.1 Konzept

Als Allererstes sollten Sie ein Konzept erstellen. Gerade im Bereich der Template-Erstellung fängt die Arbeit mit einer Skizze oder einer Grafik an. Ob Sie diese Skizzemit einem Bildbearbeitungsprogramm wie dem kommerziellen Adobe Photoshop6,dem in Windows enthaltenen Microsoft Paint, dem Open Source-Programm Gimp7

oder tatsächlich mit 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 Strukturder Größe des Browserfensters anpassen, und Templates, die eine feste vorgegebeneGröße haben. Ein Beispiel zum ersten flexiblen Layout: Wenn jemand 2048 Pixel Platzauf seinem Bildschirm hat und das Browserfenster maximiert, so wird Ihre Seite ent-sprechend auseinander gezogen. Wenn Sie grafische, nicht skalierbare Elemente wieLogos und Schriftzüge in Ihrem Template benutzen, kann das sehr eigenartig aus-sehen. Sie haben also keine echte Kontrolle über das Aussehen.

Die andere Variante ist, sich für eine bestimmte Auflösung zu entscheiden und alleElemente auf den Pixel genau im Template zu positionieren. Das hat den Vorteil, dassIhre Homepage immer so aussieht, wie Sie das wollen. Leider wissen Sie nicht, mitwelcher Bildschirmauflösung Ihre Seite betrachtet wird. Auf einem Bildschirm mit

6 http://www.adobe.de/products/photoshop/.7 http://www.gimp.org/.

Page 231: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.3 Templates selbst erstellen

231

der Auflösung von 800 * 600 Pixel ist Ihre Seite bildschirmfüllend. Auf einem großenBildschirm mit 1400 * 1050 Pixel belegt sie nur etwa ein Viertel der Fläche und siehtetwas verloren aus.

Es gibt für dieses Dilemma keine echte Lösung. Sie müssen die Vor- und Nachteileabwägen und sich für eine Variante entscheiden.

Wenn Sie die feste Größe bevorzugen, sollten Sie eine Größe wählen, die auf denmeisten Bildschirmen darstellbar ist, also 800 * 600 Pixel. Da der Browser noch eineScrollleiste auf der rechten Seite besitzt und das Browserfenster noch eingerahmt ist,ist die Ihnen zur Verfügung stehende Breite sogar noch etwas kleiner, so dass Sie inder Breite maximal 780 Pixel haben sollten.

Struktur

Sie haben es mit strukturierten Daten zu tun und müssen sich zunächst eine all-gemeine Aufteilung überlegen. Joomla! benutzt normalerweise eine Struktur wie inAbbildung 6.1.

Teil 1

� Bereich 1: Hier stehen 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.

Abbildung 6.1: Struktur

Page 232: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

232

Teile 3

� Bereich 7: Die Fußzeile

6.3.2 HTML-Umsetzung

Jetzt müssen Sie das Konzept in HTML umsetzen. Abhängig vom Bildbearbeitungs-programm, mit dem Sie es erstellt haben, gibt es vielleicht eine Möglichkeit, das Bildautomatisch in HTML-Code zu exportieren. Sie können die Umsetzung auch perHand in einem Texteditor oder in einem HTML-Editor wie Macromedia Dream-weaver8 oder einem der zahlreichen freien HTML-Editoren9 erstellen.

Im Folgenden sehen Sie den Quellcode der HTML-Umsetzung (Listing 6.1). Der Codeist bewusst einfach gehalten und entspricht im Kopfbereich noch nicht dem XHTML-Standard.

Listing 6.1: HTML-Grundgerüst

<html><head><title>Untitled Document</title><link href="<?php echo $mosConfig_live_site;?>/templates/joomla_buch/css/ � template_css.css" rel="stylesheet" type="text/css"/>

</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"> &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>

8 http://www.macromedia.com/software/dreamweaver/.9 http://www.drweb.de/editoren/.

Page 233: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.3 Templates selbst erstellen

233

</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, sehen Sie, dass die Strukturunserem Konzept schon ein wenig ähnelt (Abbildung 6.1). Diesen Quellcode müssenSie in einer Datei mit dem Namen index.php abspeichern.

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 inHinsicht auf Farben und Logos freien Lauf lassen.

6.3.3 Dateistruktur des Templates

Jetzt wird es Zeit, sich um gewisse Konventionen zu kümmern. Das Template muss ineiner besonderen Verzeichnisstruktur abgelegt sein. Wenn Sie wollen, können Siegleich in Ihrer lokalen Joomla!-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/

Abbildung 6.2: HTML-Grundgerüst im Browser

Page 234: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

234

Der Name des Templates sollte keine Umlaute, Leerzeichen und sonstige Sonderzei-chen enthalten. Aus diesem Namen muss der Template Installer später ein Verzeichnisanlegen. Abhängig vom Betriebssystem kann das bei exotischen Zeichenkombinatio-nen zu Problemen führen. Außerdem sollte der Name aussagekräftig sein. Wenn Siebeispielsweise das Modul Template Chooser auf Ihrer Homepage anbieten, wird dieserName in der Auswahlliste Ihren Besuchern als Auswahl angeboten. Ich nehme alsTemplate-Namen joomla_buch.

In den Template-Verzeichnissen müssen verschiedene Dateien mit bestimmtenNamen vorhanden sein. Außer den Bilddateien Ihres Templates müssen bei allenanderen die Dateinamen exakt mit den Vorgaben übereinstimmen!

� /templates/joomla_buch/index.php

Das ist die HTML-Datei, die wir schon rudimentär erstellt haben. Sie muss dieEndung .php haben, da die dynamischen Joomla!-Modulelemente, die wir noch ein-fügen werden, von PHP interpretiert werden müssen.

� /templates/joomla_buch/template_thumbnail.png

Ein Vorschaubild Ihres Templates für die Auswahl in der Joomla!-Administrationund im Modul Template Chooser. Vorschaubilder haben das Format 227 * ca. 162 Pixel.

� /templates/joomla_buch/templateDetails.xml

Diese Datei stellt die Bauanleitung für den Template Installer dar. Hier beschreiben Sie,welche Dateien wohin kopiert werden sollen. Beim Hochladen liest PHP diese Dateiaus und kopiert die Dateien an den richtigen Platz. Für das Beispiel-Template könnenSie die Datei in Listing 6.2 benutzen und mit eigenen Daten versehen. Sie müssen jedeDatei, die Sie im Template benutzen, mit einem öffnenden und einem schliessendenXML-Tag umgeben.

<files><filename> … Dateiname einer Datei im TemplateRoot-Verzeichnis eingeben ... �

</filename><filename> … für jede Datei einen filename-Container </filename></files><images> <filename> … Dateiname einer Grafik im images-Verzeichnis eingeben ... </filename> <filename> … für jede Datei einen filename-Container </filename> </images><css><filename>css/template_css.css (Name der CSS-Datei)</filename> </css>

Die anderen Container der XML-Datei dienen der Beschreibung des Templates. Hierdas komplette funktionsfähige Listing der XML-Datei:

Page 235: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.3 Templates selbst erstellen

235

Listing 6.2: templateDetails.xml

<?xml version="1.0" encoding="iso-8859-1"?><mosinstall type="template" version="1.0"><name>joomla_buch</name><creationDate>20.09.2005</creationDate><author>Hagen Graf</author><copyright>GNU/GPL</copyright><authorEmail>[email protected]</authorEmail><authorUrl>http://www.alternative-unternehmensberatung.de</authorUrl><version>0.1</version><description>... Beschreibung</description><files><filename>index.php</filename><filename>template_thumbnail.png</filename></files><images><filename>…</filename> </images><css><filename>css/template_css.css</filename> </css></mosinstall>

/templates/joomla_buch/css/template_css.css

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

/templates/joomla_buch/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.

6.3.4 Erster Probelauf

Wenn Sie alle Strukturen im Unterverzeichnis [PfadzuJoomla!]/templates/ nachvollzo-gen haben, können Sie bereits Ihr neues Template in der Joomla!-Administrationsehen und zuordnen (Abbildung 6.3).

Wenn Sie Ihre Homepage aufrufen, sehen Sie die Struktur wie in Abbildung 6.2.Leider werden noch keine Inhalte dargestellt. Da diese Inhalte dynamisch erzeugtwerden, müssen Sie sie jetzt Stück für Stück in Ihr neues Template integrieren.

Page 236: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

236

6.3.5 Integration der Joomla!-Module

Die Integration der Joomla!-Module erfolgt über in den HTML-Code eingebettetePHP-Befehle. Wenn Sie im Kopfbereich der Datei index.php anstelle des title-Tags diefolgende Zeile einfügen, so erscheinen bereits das Favicon und der Titel der Seite kor-rekt (Abbildung 6.4).

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

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

Listing 6.3: Joomla!-Metadaten

...<head><title>Joomla 1.0.0 - Home</title><meta name="description" content="Joomla - the dynamic portal engine and content � management system, fdghhgd" />

<meta name="keywords" content="Joomla, joomla, test, test" /><meta name="Generator" content="Joomla! - Copyright (C) 2005 Open Source Matters. � All rights reserved." />

<meta name="robots" content="index, follow" /> <link rel="alternate" type="application/rss+xml" title="Joomla 1.0.0�" href="http://localhost/Joomla100/cache/RSS2.0" />

<link rel="shortcut icon" � href="http://localhost/Joomla100/images/favicon.ico" />

Abbildung 6.3: Neues Template im Manager

Abbildung 6.4: Favicon und Seitentitel

Page 237: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.3 Templates selbst erstellen

237

<link href="http://localhost/Joomla100/templates/joomla_buch/css/template_css. � css" rel="stylesheet" type="text/css"/>

</head>...

Nachdem das so gut funktioniert hat, kommen wir gleich zu den anderen relevantenPHP-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 alleModule mit dem entsprechenden Parameter dar.

Den vollständigen Quellcode mit PHP-Einschüben in der Datei index.php sehen Sie inListing 6.4.

Listing 6.4: index.php mit Joomla!-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"> <?php mosLoadModules ( 'right' ); ?>

Page 238: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

238

</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 Serveraufrufen, sehen Sie bereits die dynamischen Inhalte. Ihr neues Template wurde mitallen Daten gefüllt. Sie arbeiten jetzt mit reinem HTML-Code und das Ergebnis siehtnatürlich optisch noch verbesserungswürdig aus (Abbildung 6.5).

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

Abbildung 6.5: Template mit dynamischen Daten

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

Page 239: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.3 Templates selbst erstellen

239

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 ineiner anderen Farbe dargestellt (Abbildung 6.6).

6.3.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 einZIP-Archiv.

Abbildung 6.6: Template mit CSS-Datei

Page 240: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

240

Markieren Sie dazu alle Dateien und Ordner im Ordner

[PfadzuJoomla!]/templates/joomla_buch/

und packen Sie den gesamten Inhalt in die Datei joomla_buch.zip. Sichern Sie den Ord-ner 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 (Tem-plate auswählen und auf Icon PUBLISH klicken). Dann wählen Sie das eben erstellteTemplate und löschen es über das Icon DELETE.

6.3.7 Installation mit dem Joomla!-Template Installer

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

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

Abbildung 6.7: Upload des neuen Templates

Abbildung 6.8: Neues Template im Template Manager

Page 241: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.4 Template mit der Dreamweaver-Extension erstellen

241

6.4 Template mit der Dreamweaver-Extension erstellen

Es gibt für den HTML-Editor Dreamweaver eine so genannte Extension, mit der Siedie Template-Erstellung komplett in Dreamweaver vornehmen können. Sie benöti-gen eine aktuelle Version von Dreamweaver (ab MX 2004) und können dort die Tem-plate Builder Extension installieren. Das Programm ist ursprünglich für Mambo 4.5.1erstellt worden, arbeitet aber auch gut mit Joomla! 1.0 zusammen.

6.4.1 Installation

Laden Sie sich die Datei mambosolutionsDW_107.zip.11 Starten Sie Dreamweaver, klickenSie auf BEFEHLE –> ERWEITERUNGEN VERWALTEN. Der Macromedia Extension Manageröffnet sich. Wählen Sie die Datei aus und klicken Sie auf INSTALLIEREN.

6.4.2 Neue Template-Datei erstellen

Um die Erweiterung zu aktivieren, müssen Sie Dreamweaver neu starten. Öffnen Sieein neues Dokument vom Typ dynamische Seite. Klicken Sie auf DATEI –> NEU –>DYNAMISCHE SEITE –> PHP (Abbildung 6.10).

11 Downloadmöglichkeit siehe Anhang.

Abbildung 6.9: Dreamweaver-Extension installieren

Page 242: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

242

Nach dem Erstellen der Datei sehen Sie im oberen Bereich eine MamboOS-Palette.Hier gibt es verschiedene Buttons, mit denen Sie die Template-Elemente einfügenkönnen (Abbildung 6.11).

Abbildung 6.10: Dreamweaver-Dokument neu anlegen

Abbildung 6.11: Template-Palette in Dreamweaver

Page 243: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.4 Template mit der Dreamweaver-Extension erstellen

243

Als Erstes müssen Sie im Quellcodefenster den von Dreamweaver erzeugten Kopf-bereich der Seite löschen (Abbildung 6.12) und durch den Joomla!-spezifischenBereich ersetzen.

Klicken Sie dazu nacheinander auf die Icons INSERT HEAD CODE, INSERT TITLE undINSERT CSS STYLESHEET einfügen (Abbildung 6.13, Abbildung 6.14, Abbildung 6.15).

Jetzt haben Sie genau den Quellcode in Ihrem Kopfbereich, den ein Joomla!-Templatebenötigt (Abbildung 6.16) und den wir vorhin manuell eintippen mussten.

Abbildung 6.12: Head-Bereich löschen

Abbildung 6.13: Joomla! Head Code einfügen

Abbildung 6.14: Joomla! Title einfügen

Abbildung 6.15: Joomla! CSS StyleSheet einfügen

Page 244: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

244

6.4.3 Template-Struktur

Außer dem speziellen Head-Bereich benötigen Sie jetzt eine Struktur Ihrer Website. Siekönnen diese Struktur mit Hilfe einer Tabelle erstellen oder mit HTML-Div-Tags. Ichwerde hier die Tabellenvariante beschreiben.

Falls in Ihrem Dreamweaver der Layout-Modus noch aktiviert ist, beenden Sie ihnbitte.

Erzeugen Sie eine Tabellenstruktur, wie es im vorherigen Beispiel beschrieben wurde.Durch einen Klick auf EINFÜGEN –> TABELLE können Sie Ihre gewünschte Strukturerzeugen. Mit Dreamweaver haben Sie sehr viele Möglichkeiten, komplexe Tabellen-strukturen zu erzeugen und Tabellen in sich zu schachteln. Ich zeige hier einebewusst einfache Variante (Abbildung 6.17). Färben Sie die Tabelle nach Ihren Wün-schen ein (Abbildung 6.18).

Speichern Sie jetzt die Datei ab. Legen Sie sich unter [PfadzuJoomla!]/templates einneues Unterverzeichnis mit dem Namen MeinTemplate an und speichern Sie die Dateidarin unter dem Namen index.php ab. Legen Sie außerdem ein Verzeichnis css undein Verzeichnis images an (Abbildung 6.19).

Abbildung 6.16: Benötigter Head-Code für Joomla!

Page 245: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.4 Template mit der Dreamweaver-Extension erstellen

245

Im images-Verzeichnis hinterlegen Sie bitte alle Bilder und Grafiken, die Sie in IhremTemplate benutzen werden. Die Grafiken können Sie mit einem handelsüblichen Gra-fikprogramm wie Photoshop12 oder einer Open Source-Lösung wie Gimp13 erstellenund mit den Mitteln von Dreamweaver in Ihrem Template platzieren.

Abbildung 6.17: Anlegen einer einfachen Tabelle

Abbildung 6.18: Tabellenstruktur

12 http://www.adobe.de/products/photoshop/.13 http://www.gimp.org/.

Page 246: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

246

Im css-Verzeichnis liegt, wie der Name schon sagt, die für das gesamte Template gül-tige CSS-Datei. Sie muss den Namen template_css.css haben. Sie können die Dateiüber Dreamweaver erstellen oder eine bereits vorhandene CSS-Datei aus einem ande-ren Joomla!-Template kopieren. Wenn Sie die Datei mit Dreamweaver erstellen,ändert Dreamweaver den Head-Bereich Ihres Templates, indem er dort einen Verweiszu der neu erstellten CSS-Datei einfügt.

<link href="css/template_css.css" rel="stylesheet" type="text/css" />

Sie benötigen in Ihrem späteren Template innerhalb von Joomla! den absoluten Pfadund damit die Variante, die wir vorhin bereits eingefügt haben. Dreamweaver wertetdie PHP-Tags in unserer Situation nicht aus. Die PHP-Variablen enthalten keinenWert und so führt der von der Extension eingesetzte CSS-Verweis zunächst ins Leere.

Benutzen Sie also zunächst den von Dreamweaver eingefügten Link und entfernenSie ihn später wieder.

Ich empfehle Ihnen, eine bereits vorhandene CSS-Datei zu nutzen, da dort die Joomla!-spezifischen Klassen bereits definiert sind. Kopieren Sie also die CSS-Datei oder derenInhalt aus dem rhuk_solarflare_ii-Template in Ihre frisch erstellte CSS-Datei.

Einfügen der Joomla!-Module

Jetzt haben Sie die Basis für das Einfügen der Joomla!-Module. Bewegen Sie den Cur-sor an die Stelle Ihrer Tabelle, an der Sie beispielsweise das Suchfeld haben wollen,und klicken Sie in der Optionsleiste auf das Icon INSERT SEARCH (Abbildung 6.20).

Abbildung 6.19: Verzeichnisstruktur Ihres Templates

Page 247: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.4 Template mit der Dreamweaver-Extension erstellen

247

Im Designfenster sehen Sie jetzt ein Suchfeld und im Quellcode wurde jede MengeHTML- und JavaScript-Code hinzugefügt.

Sie können nun nach und nach die dynamischen Elemente in die entsprechendenTabellenfelder per Mausklick auf das entsprechende Icon einfügen (Abbildung 6.22).

Abbildung 6.20: Suchfeld einfügen

Abbildung 6.21: Suchfeld im Template

Abbildung 6.22: Template mit Joomla!-Modulen

Page 248: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

248

6.4.4 Live-Seite

Um das Template in Ihrer Joomla!-Installation zu sehen, müssen Sie die XML-Dateimit dem Namen templateDetails.xml erstellen. Eine Minimalversion ohne Bilder siehtfolgendermaßen aus:

Listing 6.6: templateDetails.xml

<?xml version="1.0" encoding="iso-8859-1"?><mosinstall type="template" version="1.0.0"><name>MeinTemplate</name><creationDate>09/21/05</creationDate><author>Hagen Graf</author><copyright>GNU/GPL</copyright><authorEmail>[email protected]</authorEmail><authorUrl>http://www.alternative-unternehmensberatung.de</authorUrl><version>0.1</version><description>... Beschreibung</description><files><filename>index.php</filename><filename>template_thumbnail.png</filename></files><images><filename>...</filename></images><css><filename>css/template_css.css</filename></css></mosinstall>

Für die allgemeine Veröffentlichung und die autarke Installation über den Joomla!-Template Installer gelten auch hier die Beschreibungen aus Kapitel 6.3.6.

Nachdem die XML-Datei existiert, können Sie in der Joomla!-Administration Ihrneues Template auswählen (Abbildung 6.23), als Standard festlegen und auf IhrerJoomla!-Seite live ansehen (Abbildung 6.24).

Abbildung 6.23: Template Manager mit eigenem Template

Page 249: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.4 Template mit der Dreamweaver-Extension erstellen

249

Mit diesem Konstrukt können Sie jetzt in Dreamweaver arbeiten, den Designmodusund die vielen Features von Dreamweaver verwenden und nach dem Speichernsofort live das Ergebnis auf Ihrer Website überprüfen.

Mit einem Grafikprogramm können Sie sich ein Logo und grafische Elemente er-stellen und per Dreamweaver in den HTML-Code einfügen.

Sie können Dreamweaver sogar so konfigurieren, dass Ihre gerade bearbeitete Tem-plate-Datei auf dem entfernten FTP- oder WebDAV-Server Ihres Providers automa-tisch aktualisiert wird.

Richten Sie sich dazu eine Dreamweaver Site ein mit dem Root-Pfad zu Ihren Joomla!-Dateien und den entsprechenden Zugangsdaten zu Ihrer Live-Seite (Abbildung 6.25).

Abbildung 6.24: Ihre Website mit Ihrem Template

Abbildung 6.25: Dreamweaver mit Site-Nutzung

Page 250: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

250

6.4.5 Templates und DIV-Tags

Momentan arbeitet Joomla! in Contentbereich mit HTML-Tabellendarstellungen. Inden nächsten Versionen von Joomla! wird diese Vorgehensweise verändert werden,um den barrierefreien Anforderungen Genüge zu tun.

In HTML gibt es als Ersatz und als Ergänzung für das <table>-Tag das <div>-Tag.

Sie können damit mehrere HTML-Elemente wie Text und Grafiken in einen gemein-samen Bereich einschließen. Dieser allgemeine Bereich bewirkt zunächst nichts wei-ter, als dass er in einer neuen Zeile des Fließtextes beginnt. Das <div>-Tag hat keineweiteren Eigenschaften. Der große Vorteil ergibt sich allerdings aus der Kombinationvon <div>-Tags mit CSS-Anweisungen. Sie sind für genau diesen Zweck erfundenworden, nämlich um mit Hilfe von CSS-Anweisungen formatiert zu werden.

Diese Eigenschaften des <div>-Tags machen es interessant für die Erstellung von Tem-plates, die über eine CSS-Datei gesteuert werden.

Das mitgelieferte Template von Marc Hinse benutzt diese Technik. Es enthält keineTabellen-Tags mehr, sondern bildet die gesamte »tabellarische« Struktur mittels des<div>-Tags ab. Schauen Sie sich den Originalquellcode dieses Templates an, um mitdieser Technik vertraut zu werden. Informationen über das <div>-Tag finden Sie aufselfhtml.14 Dreamweaver unterstützt diese Technik ebenfalls.

Ich habe hier exemplarisch alle <div>-Tags aus dem Template extrahiert, um Ihneneinen Überblick über die Struktur zu geben (Listing 6.7). Die id-Attribute beziehensich jeweils auf eine Klasse in der korrespondierenden CSS-Datei.

Listing 6.7: Extrakt aus der Datei /templates/madeyourweb/index.php

<div id="accessibility"></div><div id="pagewidth-800" > <div id="header" > <div id="top-top"> <div id="search"></div> <div id="topmenu"></div> </div> <div class="clr"></div> <div id="top-bottom"></div> <div id="banner"></div> </div> <div id="outer-800" > <div id="pathway"></div> <div id="leftcol"></div> <div id="maincol-broad-800" > <div id="maincol-wide-800" > <div id="<?php echo $usera; ?>"></div>

14 http://de.selfhtml.org/html/text/bereiche.htm.

Page 251: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.5 Barrierefreies Joomla!

251

<div id="<?php echo $userb; ?>"> </div> <div class="clr"></div> <div class="content"></div> </div> <div id="rightcol-broad"> </div> <div class="clr"></div> </div> <div id="footer-800" ></div></div>

Die entsprechenden Klassen in der CSS finden Sie in Listing 6.8

Listing 6.8: Ausschnitt aus der Datei /templates/madeyourweb/css/template_css.css

…#header {height: 116px; width: 100%; }#top-top {height: 30px;width: 100%;background: transparent;}...

Mit den Attributen height und width werden die Höhe und die Breite des zu formatie-renden Bereichs angegeben. Das Attribut background bestimmt die Farbe des Hinter-grundes. Durch die pixelgenaue Formatierung von Bereichen kann so die Tabellen-struktur überwunden und sogar um viele Funktionen (einblenden, ausblenden,verschieben, ...) erweitert werden.

6.5 Barrierefreies Joomla!

Barrierefreiheit beginnt im Kopf! In Deutschland ist es ein besonderes Thema, dasinzwischen sogar gesetzlich geregelt ist.

Im Gesetz zur Gleichstellung behinderter Menschen15 findet sich folgender Paragraph:

§ 11 Barrierefreie Informationstechnik

(1) Träger öffentlicher Gewalt im Sinne des § 7 Abs. 1 Satz 1 gestalten ihre Internet-auftritte und -angebote sowie die von ihnen zur Verfügung gestellten grafischenProgrammoberflächen, die mit Mitteln der Informationstechnik dargestellt wer-den, [...] schrittweise technisch so, dass sie von behinderten Menschen grundsätz-lich uneingeschränkt genutzt werden können. [...]

15 http://www.behindertenbeauftragter.de/gesetzgebung/behindertengleichstellungsgesetz/gesetzestext.

Page 252: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

252

2) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter vonInternetseiten sowie von grafischen Programmoberflächen, die mit Mitteln derInformationstechnik dargestellt werden, [...] ihre Produkte entsprechend den tech-nischen Standards nach Absatz 1 gestalten.

Eine völlige Barrierefreiheit und grundsätzliche Zugriffsmöglichkeit ist im MediumInternet schwer herzustellen, aber natürlich grundsätzlich nicht unmöglich. In die-sem Zusammenhang fällt oft der Begriff der Zugänglichkeit. Wenn Behörden ihreDienstleistungen im Internet feilbieten, müssen sie für eine möglichst große AnzahlEinwohner zugänglich sein.

Was eine Rampe für Rollstuhlfahrer an einem Bus oder eine Ampel, die bei Grün vorsich hin knattert, um von Blinden wahrgenommen zu werden, ist in Bezug auf dieWebsite der möglichst barrierefreie Zugang.

Zugänglichkeit ist für eine Firma bzw. einen öffentlichen Dienstleistungsanbietergrundsätzlich von Vorteil. Jeder Websitebesucher ist auch ein potentieller Kunde. DasThema geht heute weit über behinderte oder ältere Menschen hinaus und wird welt-weit an Bedeutung gewinnen.

6.5.1 Kriterien für zugängliche Websites

Um Ihnen eine Vorstellung über die notwendigen Änderungen an Ihrer Website zugeben, hier ein paar Kriterien.

Übersichtlichkeit

Jede Website sollte übersichtlich und schnell zu erfassen sein. Informationen solltenbevorzugt an den Stellen erscheinen, an denen sie vom Benutzer erwartet werden.

Browser-Kompatibilität

Es gibt verschiedene Arten von Internetbrowsern. Vom textbasierten Lynx auf derLinux-Konsole über Browser auf Handys, PDAs und anderen mobilen Endgeräten bishin zu verschiedenen Browsern auf verschiedenen Betriebssystemen (OSX, Linux,Unix, Windows, OS2). Alle diese Endgeräte haben verschiedene Auflösungen undsind in der Lage, Grafiken anzuzeigen oder nicht, JavaScript-Code auszuführen odernicht, Flashfilme abzuspielen oder nicht etc.

Denken Sie daran, dass es auch Vorleseprogramme und beispielsweise Brailletastatu-ren für Blinde gibt. Diese Programme sind auch Browser!

Valider Quellcode und logisch strukturierter Seitenaufbau

Navigation, Layout und Inhalt sind die wichtigen Bereiche einer Website. Sie müssensowohl inhaltlich logisch als auch semantisch korrekt aufgebaut werden. XHTML istein Standard. Der von Ihnen benutzte Quellcode sollte valide sein!

Page 253: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.5 Barrierefreies Joomla!

253

Kontraste

Eine kontrastreiche Darstellung der Inhalte der Website muss im Hinblick auf seh-behinderte Nutzer gewährleistet sein.

Grafiken und Bilder

Viele Ausgabegeräte für behinderte Menschen können Grafiken nicht darstellen. Einealternative Inhaltsangabe ist zwingend notwendig.

Schriftgrößen

Die Schrift muss auch auf älteren und alternativen Systemen gut lesbar sein.

Weitere Kriterien und Informationen

Um ein Gefühl für die echten Anforderungen zu bekommen, werfen Sie einen kurzenBlick in die Kriterien des BIENE Awards.16 BIENE steht für Barrierefreies Internet eröff-net neue Einsichten und ist ein Projekt, gefördert von der Aktion Mensch, das seit dreiJahren barrierefreie Internetauftritte prämiert. Eine gute Anlaufstelle für Informa-tionen zum Thema ist die Website der Deutschen Behindertenhilfe – Aktion Mensche.V. 17

6.5.2 Die Realität

Die Realität ist zunächst mal ein wenig erschreckend. Kaum eine Website hält sich andiese doch eigentlich einfachen und einleuchtenden Regeln. »Eye Candy«, Animatio-nen und komplizierte Navigationen beherrschen die meisten Websites. Durch diezunehmende Verbreitung von Contentmanagementsystemen und nicht zuletzt durchdie gesetzlichen Regelungen findet allerdings ein Umdenkungsprozess statt.

Firmen, die ihre Waren im Internet anbieten, stellen langsam fest, dass zugänglicheWebsites auch gut für den Umsatz sind. Die Kunden finden sich einfach besserzurecht! Die Website der Postbank ist übrigens auch barrierefrei und bei den Kundenim Vergleich zu anderen Onlinebanking-Websites äußerst beliebt!18

Im realen Leben haben Sie es immer mit unterschiedlichen Benutzergruppen, mitunterschiedlichen Endgeräten und unterschiedlichen Anforderungen zu tun. IhreWebsite wird daher auch immer ein Kompromiss sein! Hängen Sie Ihre Anforderun-gen nicht zu hoch und fangen Sie einfach an.

16 http://www.biene-award.de/award/kriterien/.17 http://www.einfach-fuer-alle.de/.18 http://banking.postbank.de/.

Page 254: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

254

6.5.3 Ist Joomla! 1.0 standardmäßig barrierefrei?

Um es kurz zu machen: nein. Gemäß der Joomla!-Roadmap soll in den nächsten Ver-sionen von Joomla! sehr viel Wert auf dieses Thema gelegt und eine Zugänglichkeitder Website im oben genannten Sinne ermöglicht werden.

6.5.4 Gibt es Möglichkeiten, Joomla! barierrefrei zu gestalten?

Um es ebenso kurz zu sagen: ja!

Die Technik

Standardmäßig verwendet Joomla! ein XHTML-Tabellenlayout. Tabellen-Tags sindfür die barrierefreie Gestaltung unüberwindbar und dürfen nicht verwendet werden.Im Joomla!-System muss also der Teil, der für die Ausgabe zuständig ist, im Pro-grammcode geändert werden. Angie Radtke stellt zu diesem Zweck einen Hackbereit, der als Komponente installierbar ist.19 Außer diesem Hack benötigen Sie nocheinen read more-Mambot, der den READ MORE-Link in den Joomla!-Inhalten so ändert,dass er vorlesbar ist.20

Wenn Sie nun in Ihrem Template

� eine übersichtliche, tabellenfreie Struktur,

� valides XHTML,

� skalierbare Schriften,

� eine angemessene Farbwahl

� und ausreichende Kontraste

einbauen, dann sieht es mit der Zugänglichkeit schon ganz gut aus. Rein technischsind Sie gut gerüstet für die Zukunft.

Testen können Sie die Funktionalität mit verschiedenen Tools. Eine Übersicht überdie gängigen Tools finden Sie unter anderem auf der Website von Jan Eric Hell-busch.21

Die Menschen

Jetzt kommen die Menschen, die die Inhalte in die Website einstellen, die Redaktion.Hier müssen Sie Verantwortungsbewusstsein wecken.

Dies ist beispielsweise eine valide und auch semantisch korrekte Eingabe für einenText:

19 http://www.run-digital.com/download/cat_view_23.html.20 http://www.run-digital.com/download/cat_view_2.html.21 http://www.barrierefreies-webdesign.de/verweise/tools.html.

Page 255: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6.5 Barrierefreies Joomla!

255

<h1>Überschrift erster Ordnung</h1><p>Erster Absatz</p><p>Zweiter Absatz</p>

Was hier so einfach aussieht, ist schwer in die Hirne der Menschen zu bringen, die dieTexte dann letztlich schreiben. Man könnte die Überschrift auch durch die Änderungder Schriftattribute wie eine Überschrift aussehen lassen. Die Anweisung

<span class="ueberschrift">Überschrift erster Ordnung</span>

erreicht eine ähnliche Wirkung, ist dann allerdings von der Bedeutung her keineÜberschrift mehr! Die Anweisung

<h1 class="ueberschrift">Überschrift erster Ordnung</h1>

wäre die korrekte Variante. Wie soll das ein Redakteur lernen?

In der Textverarbeitungswelt gibt es mit OpenOffice.org und Microsoft Word zweiProgramme, die mittlerweile den Standard in der Bearbeitung von Texten darstellen.Es ist absolut notwendig, dass ein ähnliches Tool mit ähnlichen Fähigkeiten die Ein-gabe von Texten auf Webseiten ermöglicht. Der von Joomla! verwendete WYSIWYG-Editor ist da erst ein kleiner Anfang.

Hier ein anderes Beispiel für die korrekte Formulierung einer Grafik mit dem title-und dem longdesc-Attribut.

<img src="firmenlogo.png" width="100" height="130" border="0" alt="Firmenlogo" � title="Dies ist unser Firmenlogo" />

<img src="firmenlogo.png" width="100" height="130" border="0" alt="Firmenlogo"� longdesc="firmenlogo.txt" />

Im longtext-Attribut wird auf eine gesonderte Beschreibung verwiesen.

Viele solcher »Kleinigkeiten« müssen beachtet werden. Der in Joomla! eingebauteWYSIWYG-Editor ist nicht wirklich für diese Aufgaben zu gebrauchen. Um trotzdemeine komfortable Bearbeitung zu ermöglichen, können Sie Funktionen des Editors imQuellcode deaktivieren. Hierfür ist allerdings Detailwissen der Sprache JavaScriptnotwendig.

Wichtig bei den Menschen, die Text schreiben, ist auch die korrekte Formulierung! Inden Aufmachertexten muss eine kleine Zusammenfassung stehen, worum es im Arti-kel überhaupt geht. Die Sprache muss leicht verständlich und zielgruppengerechtsein. All das, was Sie einmal im Deutschunterricht oder der Journalistenschule gelernthaben, kommt plötzlich wieder ins Bewusstsein.

Page 256: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

6 Joomla!-Templates selbst schreiben

256

Barrierefreie Seiten mit Joomla!

Angie Radtke hat bereits mehrere barrierefreie Projekte mit Joomla! bzw. Mambo rea-lisiert.22 Hier exemplarisch ein Bespiel einer barrierefreien Website für die StiftungWelthungerhilfe (Abbildung 6.26).

Weitere Beispiele für barrierefreie Seiten finden Sie auf der Website des BIENE-Projekts.23

22 http://www.der-auftritt.de/.

Abbildung 6.26: Barrierefreie Website stiftung-deutsche-welthungerhilfe.de

23 http://www.biene-award.de/award/preistraeger/.

Page 257: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

Sie wollen mit Joomla! ein Problem lösen, für das es noch keine fertige Komponentegibt? Sie sind beispielsweise Autohändler und benötigen eine über die Joomla!-Admi-nistration pflegbare Auflistung Ihrer Gebrauchtwagen auf Ihrer Website? Oder eineListe Ihrer Niederlassungen? Erweitern Sie einfach den Funktionsumfang um neueKomponenten, Module und Mambots. Was auf den ersten Blick sehr kompliziert aus-sieht, ist auch mit PHP-Anfängerwissen machbar.

Nach den Erfahrungen im Template-Bau können Sie sich bestimmt schon vorstellen,was auf Sie zukommt.

Sie benötigen:

� eine neue Komponente bestehend aus einer Anzeige auf der Website, der Joomla!-Administration und einer speziellen Tabelle in der Datenbank

� ein zusätzliches Modul zur Anzeige der Einträge auf der Website

� einen Such-Mambot, um Ihre neuen Inhalte durchsuchen zu können

Damit Sie eine Vorstellung bekommen, worauf ich hinauswill und wie die Liste aufder Website aussehen soll, hier das fertige Beispiel (Abbildung 7.1). Im Hauptmenüsoll ein zusätzlicher Link eingefügt werden. Nach einem Klick auf diesen Linkerscheint eine einfache Fahrzeugliste.

Abbildung 7.1: Eigene Komponente auf der Website

Page 258: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

258

Diese Liste enthält in unserem Fall Autotypen. Sie können das Beispiel auch mit anderenDaten füllen (Niederlassungen, Angebote etc). Für den Besucher der Website reicht esmeistens aus, eine solche Liste zu sehen. Er muss die Einträge nicht bearbeiten können.

Der Administrator dagegen muss die Liste verwalten.

Verwalten bedeutet in diesem Zusammenhang:

� neue Einträge aufnehmen

� vorhandene Einträge ändern

� vorhandene Einträge löschen

Um das Beispiel nicht zu verkomplizieren, zeigen und bearbeiteten wir ein einzigesFeld. Das Prinzip der Programmierung einer Komponente in Joomla! wird so deutlichund Sie können das Beispiel leicht um mehrere Felder erweitern. Die Verwaltungs-oberfläche im Administrationsbereich soll aussehen wie in Abbildung 7.2. Es sollmöglich sein, die oben genannten Funktionen auszuführen. Außerdem benötigen Sienatürlich eine spezielle Toolbar für die Listenanzeige und eine für den Editiermodus.Sie benötigen eine Möglichkeit, die Einträge zu veröffentlichen und zu sperren, undSie wollen die Funktionen Veröffentlichen und Löschen natürlich auch in einer Mehr-fachverarbeitung haben, so dass Sie die Checkboxen vor den Einträgen ankreuzenund dann beispielsweise mehrere Einträge auf einmal veröffentlichen können.

7.1 Beispielkomponente joomlabuch

Beginnen wir mit der Komponente. Ich nenne sie joomlabuch. Um die Ausführungenhier nachvollziehen zu können, können Sie sich das fertige Beispiel herunterladen1

Abbildung 7.2: Eigene Komponente in der Joomla!-Administration

1 Download siehe Anhang.

Page 259: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

259

und wie jede Komponente installieren. Sie können es allerdings auch per Hand nach-bauen. Der Nachbau hat den Vorteil, dass Sie nach und nach die Strukturen durch-schauen und vielleicht Lust auf mehr bekommen.

7.1.1 Die MySQL-Tabelle

Da Sie ganz am Anfang beginnen, benötigen Sie für Ihre Einträge eine neue Tabelle inMySQL. 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

� MySQL über ein Tool wie phpMyAdmin steuern2

Bei Ihrer lokalen XAMPLITE-Installation und den meisten Webspace-Providernerhalten Sie zur Datenbankverwaltung das Tool phpMyAdmin. Mit diesem Pro-gramm, das ebenso wie Joomla! in PHP geschrieben ist, können Sie sehr einfach IhreMySQL-Tabellen direkt bearbeiten.

In XAMPLITE rufen Sie phpMyAdmin durch die Eingabe des folgenden URL inIhrem Browser auf (Abbildung 7.3):

http://localhost/phpmyadmin

Wählen Sie im linken Bereich Ihre Datenbank aus, die die Joomla!-Tabellen enthält. Inmeinem Fall ist das die Datenbank joomla100. Bei manchen Providern landen Sie beimAufruf von phpMyAdmin direkt in Ihrer zugewiesenen Datenbank, wenn Sie nur

2 http://www.phpmyadmin.net/.

Abbildung 7.3: phpMyAdmin

Page 260: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

260

eine Datenbank in Ihrem Hostingpaket haben. Bei XAMPLITE können Sie beliebigviele Datenbanken einrichten und müssen daher die richtige Datenbank auswählen.

Datenbanken wie MySQL werden mit SQL-Befehlen gesteuert. Die Structured QueryLanguage3 ist eine Datenmanipulationssprache, die Ähnlichkeiten mit der in den 70erJahren aufgekommenen Mengenlehre hat. In SQL gibt es wenige, aber sehr mächtigeBefehle wie ändern, löschen, einfügen, erstellen. Sie arbeiten immer mit Datenmengenund versuchen, den entsprechenden Befehl auf eine Teilmenge von Daten anzuwen-den. Im SQL-Vokabular heißen diese Befehle UPDATE, DELETE, INSERT und CREATE.

Mit dem CREATE TABLE-Befehl legen Sie eine neue Tabelle an. Sie müssen die einzelnenFelder beschreiben (Name, Größe, Typ) und einen Index festlegen. Über diesen Indexerhält jeder Datensatz eine eindeutige Nummer und kann später bei einer späterenSuche durch diese Nummer eindeutig adressiert werden. Mit der FunktionAUTO_INCREMENT stellen Sie sicher, dass die Nummer (der Schlüssel) automatisch beimEinfügen eines neuen Datensatzes um den Wert 1 hochgezählt wird.

Mit dem INSERT-Befehl fügen Sie Datensätze ein. Sie ordnen hier Daten den einzelnenFeldern der Tabelle zu.

Für das Komponentenbeispiel benötigen Sie die folgenden SQL-Befehle zur Erstel-lung 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_joomla_buch`CREATE TABLE `mos_joomla_buch` ( `id` INT NOT NULL AUTO_INCREMENT, `text` TEXT NOT NULL, `published` TINYINT(1) NOT NULL, PRIMARY KEY (`id`) );-- Daten für Tabelle `mos_joomla_buch`INSERT INTO `mos_joomla_buch` VALUES ('BMW 1', 1);INSERT INTO `mos_joomla_buch` VALUES ('Renault Kangoo', 1);INSERT INTO `mos_joomla_buch` VALUES ('Audi A6', 1);INSERT INTO `mos_joomla_buch` VALUES ('VW Golf', 1);INSERT INTO `mos_joomla_buch` VALUES ('Mercedes G', 1);

Um diese SQL-Befehle an die Datenbank zu übermitteln, wählen Sie in phpMyAdminIhre Datenbank aus und klicken auf den Link SQL. Sie erhalten ein HTML-Formular,in dem Sie die SQL-Befehle einfügen und direkt an die Datenbank schicken können.Fügen Sie die Befehle in das Formular ein und klicken Sie auf OK (Abbildung 7.1).

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

Page 261: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

261

phpMyAdmin legt die neue Tabelle jos_joomla_buch an und fügt fünf Datensätze ein.Durch einen Klick auf die neue Tabelle jos_joomla_buch und den Link ANZEIGEN sehenSie das Ergebnis in übersichtlicher Form (Abbildung 7.5). Die Beschreibung steht imFeld text, das Feld published wird dazu benutzt, einen Veröffentlichungsstatus zu ver-walten. Der Wert 1 bedeutet, dass der entsprechende Eintrag auf der Website ver-öffentlicht ist. Der Wert 0 verhindert eine Veröffentlichung.

Jetzt haben wir die Tabelle angelegt und können phpMyAdmin bis auf weiteres ver-lassen.

Das Erzeugen der Tabelle und das Einfügen der Werte in die Datenbank haben wirper Hand erledigt, weil unsere Komponente noch nicht fertig und dadurch nicht überden Component Installer installierbar ist. Diese Arbeit übernimmt bei der automati-

Abbildung 7.4: Einlesen der Tabellenstruktur

Abbildung 7.5: Angelegte Tabelle mos_joomla_buch

Page 262: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

262

schen Installation in Joomla! später der Component Installer. Die notwendigen SQL-Befehle zur korrekten Initialisierung Ihrer Komponenten müssen Sie in einer separa-ten XML-Konfigurationsdatei festlegen.

7.1.2 Das Frontend

Mit dem Frontend ist Ihre Website gemeint. Um die Vorfreude auf die fertige Kompo-nente ein wenig zu steigern, wollen wir mit der Anzeige der Liste im Frontend begin-nen.

Wenn Sie mal einen Blick in Ihr Verzeichnis [PfadzuJoomla!]/components werfen, so stel-len Sie fest, dass dort alle Verzeichnisse mit com_ beginnen. Danach folgt eine mehroder weniger aussagekräftige Beschreibung (com_contact, com_content etc).

In diesen Verzeichnissen befinden sich Ihre installierten Komponenten. Um eineKomponente auf Ihrer Website im Browser aufzurufen, geben Sie den Namen diesesUnterverzeichnisses als Wert für den Parameter option im URL an:

http://localhost/joomla100/index.php?option=com_contact

Für Ihre eigenen Komponenten legen Sie jetzt bitte ein neues Unterverzeichnis mitdem Namen [PfadzuJoomla!]/components/com_joomlabuch an.

In diesem Unterverzeichnis erstellen Sie bitte zwei Dateien.

1. joomlabuch.php – In dieser Datei befindet sich die Logik der Komponente in reinemPHP-Code. Hier wird beispielsweise die Datenbank abgefragt und das Ergebnisan ein Array übertragen.

2. joomlabuch.html.php – In dieser Datei geht es um die Präsentation der Daten in demArray. Auch hier wird PHP verwendet. Der Schwerpunkt der Befehle dieser Dateiliegt allerdings auf HTML- und CSS-Code.

joomlabuch.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 Eingabedes Dateinamens direkt aufzurufen.

defined('_VALID_MOS') or die('Ein direkter Zugriff auf diese Datei ist verboten. );

Es soll lediglich die Möglichkeit bestehen, die Datei von einer anderen Datei aus auf-zurufen. Diese Maßnahme dient der Sicherheit, denn die Komponente ist allein ohnedas Joomla!-System nicht lauffähig. Außerdem wird hier der Quellcode der zweitenDatei (joomlabuch.html.php) eingebunden. Da dieses Einbinden der HTML-Oberflächein jeder Komponente benötigt wird, gibt es dafür eine vordefinierte Methode mit demNamen getPath(). Sie sucht im gleichen Verzeichnis nach der korrespondierendenDatenpräsentationsdatei und bindet sie ein. Der Name wird dabei dynamisch ausdem Namen des Verzeichnisses und der Endung .html.php erzeugt.

Page 263: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

263

require_once($mainframe->getPath('front_html'));

Im zweiten Bereich werden Parameter übergeben, hier der HTML-Titel der Seite. Ererscheint im blauen Titelbalken des Browserfensters.

$mainframe->setPageTitle("Beispielkomponente Joomla! Buch");

Auch für diesen Zweck gibt es eine Methode – setPageTitle.

Im dritten Bereich findet eine Fallunterscheidung statt. Sie könnten die Komponentemit verschiedenen Parametern aufrufen, die Sie dann hier auswerten. Beispielsweisekönnte hier zwischen einer Tabellensicht und einer Einzelsicht auf die Datensätzeunterschieden werden. Auf die Gebrauchtwagenliste bezogen könnte der Name desEintrags als Link konstruiert und nach einem Klick auf diesen eine detailliertereBeschreibung des Fahrzeugs angezeigt werden.

switch( $task ) { case 'frei': // mehr Anzeigemöglichkeiten break; default: listJoomlabuch(); break;}

Im vierten Bereich befindet sich die eigentliche Logik. Hier wird die Datenbank abge-fragt, ein Ergebnis-Array erzeugt und die Methode showtable() in der KlasseHTML_joomlabuch aufgerufen. Diese Klasse befindet sich in der eingebundenen joomla-buch.html.php-Datei.

Den kompletten Quelltext sehen Sie hier:

Listing 7.2: Joomla!buch.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 Klasserequire_once( $mainframe->getPath( 'front_html' ) );// Bereich 2$mainframe->setPageTitle( "Beispielkomponente Joomla! Buch" );// Bereich 3switch( $task ) { case 'frei': // mehr Anzeigemöglichkeiten break; default:

Page 264: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

264

listJoomlabuch(); break;}

// Bereich 4function listJoomlabuch( ) { global $database; /* SQL Abfrage für alle veröffentlichten Einträge */ $query = "SELECT * FROM #__joomla_buch WHERE published='1'"; $database->setQuery( $query ); $rows = $database->loadObjectList(); HTML_Joomlabuch::showtable( $rows );}?>

joomlabuch.html.php

Die Datei joomlabuch.html.php (Listing 7.3) enthält die Klasse HTML_Joomlabuch. EineKlasse können Sie sich als eine Art Bauplan mit vielen Methoden und Eigenschaftenvorstellen. Wir hatten vorhin bereits zwei Methoden einer Klasse kennen gelernt (get-Path(), setPageTitle()). Waren diese Methoden bereits in Joomla! vordefiniert, so müs-sen wir jetzt Klasse und Methode selbst schreiben. Unsere kleine Klasse enthält »nur«die Methode showTable().

Der Methode showTable() wird ein Array als Parameter übergeben ($rows). Das Arrayist das Ergebnis der Datenbankabfrage und enthält die Liste aller eingetragenenDatensätze. Diese Liste soll in einer Tabelle dargestellt werden. Um diesen Effekt zuerreichen, läuft eine foreach-Schleife so lange durch das Array, bis keine Elementemehr vorhanden sind.

... foreach ($rows as $row) {...

Bei jedem Durchlauf wird ein unterschiedlicher Wert für die Variable $k erzeugt. Die-ser Wert in $k steuert die Auswahl der CSS-Klasse zur Formatierung einer Tabellen-zeile (class="sectiontableentry<?php echo ($k+1);). Das hat zur Folge, dass die Zeilen inzwei verschiedenen Farben wiedergegeben werden (Abbildung 7.1).

Prinzipiell könnten in der Klasse beliebig viele Methoden implementiert werden. Wiebereits angedeutet, könnte das außer der Tabellensicht noch eine zusätzliche Einzel-ansicht sein.

HTML_Joomlabuch:: showtable($rows);

Hier handelt es sich um eine statische Klasse (HTML_Joomlabuch), deren Methode(showtable($rows)) direkt aufgerufen werden kann. Klassenname und Methodennamewerden durch zwei Doppelpunkte getrennt.

Page 265: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

265

Listing 7.3: joomlabuch.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.' );// Beginn der Klassendefinitionclass HTML_Joomlabuch { // Beginn der Methodendefinition 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 $k = 0; // Auslesen der Datensätze im Array foreach ($rows as $row) { ?> <tr> <td height="20" class="sectiontableentry<?php echo ($k+1); ?>"> <?php echo $row->text; ?> </td> <?php $k = 1 - $k; } ?> </table> <?php }}?>

7.1.3 Integration in das Hauptmenü

Da wir an dieser Stelle die Komponente noch nicht »vernünftig« installiert haben,weiß Joomla! auch nicht, dass sie überhaupt vorhanden ist. Sie können sie aber bereitsaufrufen, und zwar über den URL:

http://localhost/joomla100/index.php?option=com_joomlabuch

Sie können die Komponenten in diesem Entwicklungsstadium nur über die OptionLink-Url in das Hauptmenü einbinden. Klicken Sie in der Joomla!-Administration aufden Menüeintrag MENU –> MAINMENU und dann auf das Icon NEW. Wählen Sie untenrechts LINK-URL und klicken Sie in der Toolbar auf das Icon NEXT. Hier können Sieeine Bezeichnung und den oben angegebenen Link eintragen (Abbildung 7.6).

Page 266: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

266

Wenn Sie nun Ihre Website aufrufen, sollten Sie den Menülink GEBRAUCHTWAGEN

und nach Klick auf diesen die Gebrauchtwagentabelle sehen (Abbildung 7.1).

Sie sehen, dass sich die Tabelle automatisch an das Template anpasst und die ganzeSache doch gar nicht so schwer war, oder? Durchaus ein Argument, sich einmal ernst-haft mit objektorientierter Programmierung und der Syntax von PHP, HTML undCSS zu befassen.

7.1.4 Die Joomla!-Administration

War das reine Anzeigen der Daten auf der Website noch verhältnismäßig einfach, soist das Verwalten der Daten naturgemäß ein wenig aufwendiger. Hier müssen Sie dieDaten als Administrator anzeigen, ändern, neu einfügen, löschen und veröffentlichenkönnen. Also erheblich mehr Funktionalität als in der einfachen Liste auf der Website.

Die Komponenten-Tabelle

Joomla! verwaltet die Menüeinträge aller Komponenten in der Tabelle jos_components.Da Sie keinen Component Installer benutzt haben und alles per Hand bauen, benötigenSie in dieser Tabelle zwei neue Menüeinträge. Der eine Menüeintrag sorgt dafür, dassIhre neue Komponente im Komponentenmenü angezeigt wird, und der zweite Ein-trag definiert den Unterpunkt (EINTRAEGE BEARBEITEN).

Rufen Sie wieder phpMyAdmin auf, wählen Sie die Tabelle jos_components aus, kli-cken Sie auf den Link SQL, fügen Sie die beiden SQL-Befehle ein (Listing 7.4) undbestätigen Sie dann mit OK. Ich habe die ID-Nr. 80 vorgegeben. Der zweite Eintragbezieht sich auf den ersten Eintrag. Deswegen ist es wichtig, dass die ID-Nummernübereinstimmen. Momentan dürften höchstens 32 Einträge in der Tabelle sein, sodass dieser Weg funktionieren sollte.

Abbildung 7.6: Menüeintrag per URL

Page 267: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

267

Listing 7.4: SQL-Befehle für Menüeinträge

INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`, � `admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`,� `iscore`, `params`) VALUES (80, 'Joomla! Buch', 'option=com_joomlabuch', 0, 0, � 'option=com_joomlabuch', 'Joomla! Buch', 'com_joomlabuch', 0, � 'js/ThemeOffice/component.png', 0, '');

INSERT INTO `jos_components` (`id`, `name`, `link`, `menuid`, `parent`, � `admin_menu_link`, `admin_menu_alt`, `option`, `ordering`, `admin_menu_img`, � `iscore`, `params`) VALUES (50, 'Eintraege bearbeiten', '', 0, 80, � 'option=com_joomlabuch&act=all', 'Eintraege bearbeiten', 'com_joomlabuch', 0, � 'js/ThemeOffice/component.png', 0, '');

Durch den Eintrag dieser beiden Datensätze erweitern Sie das Menü COMPONENTS

um einen Haupteintrag (joomlabuch) und einen Untermenüeintrag (Einträge bearbeiten)(Abbildung 7.7). Außerdem legen Sie fest, was der jeweilige Menüeintrag aufrufensoll (option=com_joomlabuch&act=all'), und geben noch eine Grafik an, die links nebendem Menü erscheinen soll ('js/ThemeOffice/component.png'). Die Grafiken finden Sieim Ordner [PfadzuJoomla!]/includes/js/ThemeOffice.

Um die Administrationskomponente zu erstellen, benötigen Sie nicht nur zwei, son-dern fünf Dateien. Im Verzeichnis [PfadzuJoomla!]/administraton/components/ müssenSie zunächst ein Unterverzeichnis mit dem Namen com_joomlabuch anlegen. In diesemUnterverzeichnis erstellen Sie sich bitte die folgenden fünf Dateien:

1. admin.joomlabuch.php

2. joomlabuch.class.php

3. admin.joomlabuch.html.php

Abbildung 7.7: Neue Komponente im Menü Components

Page 268: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

268

4. toolbar.joomlabuch.html.php

5. toolbar.joomlabuch.php

admin.joomlabuch.php

Diese Datei enthält wieder die Logik Ihrer Komponente. Hier gehen wir noch einenSchritt weiter als im Frontend und lagern die Datenbankabfragen teilweise in dieDatei joomlabuch.class.php aus. Grundsätzlich ist der Aufbau wie bereits in der Front-end-Logik beschrieben. Die Datei ist umfangreicher, da nun mehrere Fälle möglichsind, die mit jeweils einer Funktion implementiert werden müssen.

Außerdem werden am Beginn noch die Zugriffsberechtigungen geprüft, da wir uns jain der Joomla!-Administration befinden.

Listing 7.5: admin.Joomla!buch.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.' );

// Hier wird übrprüft, ob der eingeloggte// Benutzer berechtigt istif (!($acl->acl_check( 'administration', 'edit', 'users', $my->usertype, � 'components', 'all' ) | $acl->acl_check( 'administration', 'edit', 'users', �$my->usertype, 'components', 'com_joomlabuch' ))) {

mosRedirect( 'index2.php', _NOT_AUTH );}// Laden der Datenbank Klasse und der HTML Klasserequire_once( $mainframe->getPath( 'admin_html' ) );require_once( $mainframe->getPath( 'class' ) );$task = mosGetParam( $_REQUEST, 'task', array(0) );// Fallunterscheidungswitch ($task) { case "publish": publishJoomlabuch( $id, 1, $option ); break; case "unpublish": publishJoomlabuch( $id, 0, $option ); break; case "new": editJoomlabuch( 0, $option ); break; case "edit": editJoomlabuch( $id[0], $option ); break; case "remove": removeJoomlabuch( $id, $option ); break; case "save":

Page 269: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

269

saveJoomlabuch( $option ); break; case "cancel": cancelJoomlabuch( $option ); break; default: showJoomlabuch( $option ); break;}// Veröffentlichung der Eintraegefunction publishJoomlabuch( $cid, $publish, $option ) { global $database; if (count( $cid ) < 1) { $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 #__joomla_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 mosJoomlabuch( $database ); $row->checkin( $cid[0] ); } mosRedirect( "index2.php?option=$option" );}// Neuen Eintrag erstellen (id = 0)// oder Eintrag mit id = n ändernfunction editJoomlabuch( $cid, $option ) { global $database; $row = new mosJoomlabuch( $database ); $row->load( $cid ); HTML_Joomlabuch::editJoomlabuch( $row, $option );}// Löschen von Eintraegenfunction removeJoomlabuch( $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 );

Page 270: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

270

$database->setQuery( "DELETE FROM #__joomla_buch WHERE id IN ($cids)" ); if (!$database->query()) { echo "<script> alert('".$database->getErrorMsg()."'); window.history.go(-1); �

</script>\n"; } mosRedirect( "index2.php?option=$option" );}// Eintrag speichernfunction saveJoomlabuch( $option ) { global $database; $row = new mosJoomlabuch( $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 Aktionfunction cancelJoomlabuch( $option ) { global $database; $row = new mosJoomlabuch( $database ); $row->bind( $_POST ); $row->checkin(); mosRedirect( "index2.php?option=$option" );}// Auflistung der Eintraegefunction showJoomlabuch($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 #__joomla_buch" ); $total = $database->loadResult(); echo $database->getErrorMsg(); require_once("includes/pageNavigation.php"); $pageNav = new mosPageNav( $total, $limitstart, $limit ); # Abfrage der Datenbank $database->setQuery( "SELECT * FROM #__joomla_buch ORDER BY id LIMIT �

$pageNav->limitstart,$pageNav->limit" ); $rows = $database->loadObjectList(); if ($database->getErrorNum()) { echo $database->stderr();

Page 271: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

271

return false; } HTML_Joomlabuch::showJoomlabuch($rows, $pageNav, $option );}?>

joomlabuch.class.php

Hier ist die Auslagerung der Datensatzstruktur in eine eigene Klasse, die von derKlasse 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: Joomla!buch.class.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.' );

// Die Klasse mosJoomlabuch wird abgeleitet von der // existierenden Klasse mosDBTableclass mosJoomlabuch 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 mosJoomlabuch( &$db ) { //Aufruf des Konstruktors der mosDBTable Klasse $this->mosDBTable( '#__joomla_buch', 'id', $db ); }}?>

admin.joomlabuch.html.php

Hier befindet sich, wie bereits in der Frontend-Komponente beschrieben, die KlasseHTML_joomlabuch, die sich auf die Präsentation der Daten bezieht. Hier werden dieHTML- und CSS-Strukturen auf der Basis der durch das Array $row übergebenenDaten aus admin.joomlabuch.php erzeugt.

Page 272: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

272

Listing 7.7: admin.joomlabuch.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_joomlabuch { // Methode showJoomlabuch // baut die Anzeigetabelle auf function showJoomlabuch( &$rows, $pageNav, $option ) { // Ab hier beginnt HTML, kombiniert mit kurzen // PHP-Anweisungen zum Tabellenaufbau ?> <form action="index2.php" method="post" name="adminForm"> <table cellpadding="4" cellspacing="0" border="0" width="100%"> <tr> <td width="100%" class="sectionname"><img src="/joomla100/images/ �

joomla_logo_black.png" align="middle" />Joomlabuch Manager</span></td> <td nowrap>Display #</td> <td> <?php echo $pageNav->writeLimitBox(); ?> </td> </tr> </table> <table cellpadding="4" cellspacing="0" 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;

Page 273: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

273

} ?> <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> <?php } // Diese Methode stellt die Editiermaske dar function editJoomlabuch( &$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>

Page 274: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

274

<?php }}?>

toolbar.joomlabuch.php

Diese Datei ruft abhängig von der ausgewählten Funktion die verschiedenen Tool-bar-Symbole auf und stellt damit die Logik der Toolbar dar. Die Datei toolbar.joomla-buch.html.php mit den Präsentationsinformationen wird eingebunden.

Listing 7.8: toolbar.joomlabuch.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.' );require_once( $mainframe->getPath( 'toolbar_html' ) );switch($task) { case "new": case "edit": menuJoomlabuch::MENU_Edit(); break; default: menuJoomlabuch::MENU_Default(); break; }?>

toolbar.joomlabuch.html.php

Hier werden die verschiedenen Werkzeugleisten vordefiniert (Listing 7.9). Aufgeru-fen werden Methoden der statischen Klasse mosMenu, einmal für die Listenansicht undeinmal für die Editieransicht (Abbildung 7.8 und Abbildung 7.9).

Abbildung 7.8: Werkzeugleiste im Listmodus

Abbildung 7.9: Werkzeugleiste im Editiermodus

Page 275: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

275

Listing 7.9: toolbar.joomlabuch.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 menuJoomlabuch { function MENU_Default() { mosMenuBar::startTable(); mosMenuBar::publishList(); mosMenuBar::unpublishList(); mosMenuBar::divider(); mosMenuBar::addNew(); mosMenuBar::editList(); mosMenuBar::deleteList(); mosMenuBar::spacer(); mosMenuBar::endTable(); } function MENU_Edit() { mosMenuBar::startTable(); mosMenuBar::save(); mosMenuBar::cancel(); mosMenuBar::spacer(); mosMenuBar::endTable(); }}?>

Test

Nachdem Sie alle Dateien erstellt haben, können Sie die Komponente testen und dieDatensätze komplett über die Joomla!-Administration verwalten. Sie können neueTexte anlegen, vorhandene löschen, ändern und veröffentlichen. Durch ein vorheri-ges Ankreuzen der Einträge können Sie beim Veröffentlichen und beim Löschenmehrere Einträge auf einmal bearbeiten.

7.1.5 Installationspaket erstellen

Um ein Installationspaket für Ihre neue Komponente zu schnüren, benötigen Sieaußer diesen Programmdateien noch zwei Dateien mit dem Installations- (Listing7.10) und mit dem Deinstallationstext (Listing 7.11) sowie die Anweisungsdatei fürden Component Installer als XML-Datei (Listing 7.12).

Page 276: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

276

install.joomlabuch.php

Listing 7.10: install.Joomla!buch.php

<?phpfunction com_install() { echo "Vielen Dank für die Installation. Bei Problemen wenden Sie sich einfach �

an [email protected].";}?>

uninstall.joomlabuch.php

Listing 7.11: uninstall.joomlabuch.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 [email protected].";}?>

joomlabuch.xml

Hier beschreiben Sie Ihre neue Komponente gegenüber dem Component Installer. Siemüssen alle Informationen wie Metadaten, alle Dateinamen und die benötigten SQL-Befehle (Query) in XML-Tags einschließen. Der Component Installer liest diese Dateiaus, erzeugt je nach Typ (Komponente, Modul, Template oder Mambot) neue Unter-verzeichnisse, kopiert die Dateien, die in der XML-Datei beschrieben werden, an denrichtigen Platz und legt die benötigten Datenbanktabellen an. Also alles das, was Sievorhin mühselig von Hand eingetragen haben.

Listing 7.12: joomlabuch.xml

<?xml version="1.0" ?><mosinstall type="component"><name>joomlabuch</name><creationDate>22.09.2005</creationDate><author>Hagen Graf</author><copyright>GNU/GPL</copyright><authorEmail>[email protected]</authorEmail><authorUrl>www.alternative.unternehmensberatung.de</authorUrl><version>1.0</version><files> <filename>joomlabuch.php</filename> <filename>joomlabuch.html.php</filename></files><install> <queries> <query>DROP TABLE IF EXISTS `jos_joomla_buch`;</query>

Page 277: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.1 Beispielkomponente joomlabuch

277

<query>CREATE TABLE `jos_joomla_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 `jos_joomla_buch`;</query> </queries> </uninstall> <installfile> <filename>install.joomlabuch.php</filename> </installfile> <uninstallfile> <filename>uninstall.joomlabuch.php</filename> </uninstallfile> <administration> <menu>Joomla! Buch</menu> <submenu> <menu act="all">Eintraege bearbeiten</menu> </submenu> <files> <filename>admin.joomlabuch.php</filename> <filename>admin.joomlabuch.html.php</filename> <filename>joomlabuch.class.php</filename> <filename>toolbar.joomlabuch.php</filename> <filename>toolbar.joomlabuch.html.php</filename> </files> </administration></mosinstall>

Um das Installationspaket zu erzeugen, müssen Sie alle erstellten Dateien in ein Ver-zeichnis kopieren und dieses Verzeichnis zu einem ZIP-Paket mit dem Namen derKomponente, in unserem Fall com_joomlabuch.zip, verpacken (Abbildung 7.10).

Abbildung 7.10: Dateien der Komponente Joomla!buch

Page 278: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

278

Die ZIP-Datei können Sie jetzt mit dem Component Installer wie gewohnt installierenund, wenn Sie wollen, zum Download für andere Anwender bereitstellen. Bevor Siedas tun, sollten Sie die per Hand erstellte Variante über den Component Installerdeinstallieren.

7.2 Module

Ein Modul ist von der Idee her sehr viel einfacher. Module haben keine echte Admi-nistrationsoberfläche. Es geht immer um die Darstellung auf Ihrer Website und dieEinbindung in Ihr Template. Module setzen meist auf vorhandenen Komponentenauf. Sie können also davon ausgehen, dass bestimmte Tabellen und Ihre Inhaltebereits vorhanden sind und gepflegt werden können. Sie benötigen zwei Dateien:eine Datei für die Logik und die Darstellung und die XML-Datei für den ModuleInstaller. Beide Dateien beginnen mit der Kennzeichnung mod_.

7.2.1 Quellcode

mod_joomlabuch.php

Im Vergleich zur Komponente ist diese Datei sehr einfach aufgebaut. Es findet eineDatenbankabfrage und die Darstellung der Ergebnisse in einer foreach-Schleife statt.

Listing 7.13: mod_joomlabuch.php

<?phpdefined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );// output hereglobal $mosConfig_offset;$database->setQuery("SELECT * FROM #__joomla_buch LIMIT 5");$rows = $database->loadObjectList();echo "<ul>\n";if ($rows) { foreach ($rows as $row) { echo " <li>" . $row->text . "</li>\n"; } echo "</ul>\n";}?>

mod_joomlabuch.xml

Auch hier müssen Sie wie bei der Komponente alle für den Module Installer relevantenDaten in XML-Tags verpacken.

Page 279: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.2 Module

279

Listing 7.14: mod_joomlabuch.xml

<?xml version="1.0" encoding="iso-8859-1"?><mosinstall type="module" version="4.5.2"><name>Joomlabuch</name><author>Hagen Graf</author><creationDate>22.09.2005</creationDate><license>GNU/GPL</license><authorEmail>[email protected]</authorEmail><authorUrl>www.alternative-unternehmensberatung.de</authorUrl><version>1.0</version><description><![CDATA[<p>Mit diesem Modul werden 5 Eintraege aus der Testkomponente Joomlabuch �

angezeigt.</p><p>Erstellt von <a href="mailto:[email protected]">[email protected]</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>22.09.2005</p>]]></description><files><filename module="mod_joomlabuch">mod_joomlabuch.php</filename></files></mosinstall>

7.2.2 Installation

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

Aktivieren Sie das Modul im Site Module Manager.

Abbildung 7.11: Installationsmeldung des Moduls joomlabuch

Page 280: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

280

7.2.3 Ansicht auf der Website

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

7.3 Mambots

Um die Liste durchsuchbar zu machen, benötigen Sie einen Mambot. Auch hiererstellen Sie, wie bei dem Modul, die PHP-Datei mit der Logik (Listing 7.15) und dieXML-Datei mit der Beschreibung (Listing 7.16). Verpacken Sie beide Dateien in einemZIP-Paket bot_joomlabuch.zip und installieren Sie das Paket per Mambot Installer(Abbildung 7.13).

Listing 7.15: joomlabuch.searchbot,php

<?phpdefined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );$_MAMBOTS->registerFunction('onSearch', 'botSearchSections');/*** Sections Search method* The sql must return the following fields that are used in a common display* routine: href, title, section, created, text, browsernav* @param string Target search string* @param string mathcing option, exact|any|all* @param string ordering option, newest|oldest|popular|alpha|category*/function botSearchSections($text, $phrase='', $ordering=''){ global $database, $my; $text = trim( $text ); if ($text == '') { return array(); } switch ( $ordering ) { case 'alpha': $order = 'a.name ASC'; break; case 'category': case 'popular': case 'newest': case 'oldest':

Abbildung 7.12: Modul Joomlabuch auf der Website

Page 281: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7.3 Mambots

281

default: $order = 'a.name DESC'; } $query = "SELECT * FROM #__joomla_buch" . "\n WHERE ( text LIKE '%$text%' )" . "\n AND published = '1'" . "\n ORDER BY $text"; $database->setQuery( $query ); $rows = $database->loadObjectList(); $count = count( $rows ); for ($i = 0; $i < $count; $i++){ $rows[$i]->href = 'index.php?option=com_joomlabuch&task=frei&id='. �

$rows[$i]->secid .'&Itemid='. $rows[$i]->menuid; $rows[$i]->section = 'Joomlabuch Liste'; } return $rows;}?>

Listing 7.16: joomlabuch.searchbot.xml

<?xml version="1.0" encoding="iso-8859-1"?><mosinstall version="1.0" type="Mambot" group="search"><name>Joomlabuch searchbot</name><author>Hagen Graf</author><creationDate>22.09.2005</creationDate><license>GNU/GPL</license><authorEmail>[email protected]</authorEmail><authorUrl>www.alternative-unternehmensberatung.de</authorUrl><version>1.0.0</version><description>Dieser Mambot durchsucht die Eintraege der Joomlabuch �

Komponente</description><files><filename Mambot="joomlabuch.searchbot" > joomlabuch.searchbot.php </filename></files><params/></mosinstall>

Abbildung 7.13: Installationsmeldung des joomlabuch-Mambots

Page 282: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

7 Eigene Komponenten, Module und Mambots

282

Wenn Sie nun den Mambot im Menü MAMBOTS –> SITE MAMBOTS noch aktivieren, istIhre Liste über das Suchfeld auf der Website durchsuchbar. Nach Eingabe eines Such-begriffs wird das Feld text in der Datenbank durchsucht und die Ergebnisse werdenin der allgemeinen Suchmaske angezeigt (Abbildung 7.14).

Der Searchbot ist bewusst einfach gehalten. An der Fundstelle in den Suchergebnis-sen sollte natürlich ein Link zur Einzelansicht des Listenelements platziert werden,damit der Suchende jetzt dorthin weitergehen kann. Da wir aber in unserer Kompo-nente keine Einzelansicht vorgesehen haben, können wir hier natürlich keinen Linkangeben.

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 Komponentenableiten. Beispielsweise hat unsere Komponente Joomlabuch nur eine Tabellenan-sicht. Suchen Sie sich eine Komponente mit Einzelansicht wie beispielsweisecom_contact und erweitern Sie Joomlabuch um diese Funktionalität.

Ebenso verhält es sich mit den Parameterangaben bei Modulen. Suchen Sie sich eineVorlage und erstellen Sie Ihr eigenes Modul.

Was auf den ersten Blick kompliziert aussieht, entpuppt sich bei näherem Hinsehenals durchaus durchschaubar.

Ich wünsche Ihnen viel Spaß beim Ausprobieren!

Abbildung 7.14: Der Searchbot joomlabuch im Einsatz

Page 283: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

A.1 Online-Ressourcen

Joomla! ist ein Open Source-Projekt, das die Ideen und Erfahrungen hunderttausen-der Menschen sammelt, bündelt, weiterentwickelt und online zur Verfügung stellt.

Online finden Sie immer die neuesten Informationen.

Im deutschsprachigen Internet haben sich bis jetzt (Oktober 2005) zwei Anlaufstellengebildet:

http://www.joomla.de/

http://www.joomlamagazin.de/

In der Englisch sprechenden Welt gibt es momentan als Anlaufadresse in erster Liniedie Joomla.org-Website.

http://www.joomla.org/

Sie ist weiter aufgeteilt in die Bereiche:

http://help.joomla.org

http://forum.joomla.org

http://developer.joomla.org

Hier finden Sie wirklich alles, was Sie zu einem erfolgreichen Einsatz von Joomla!benötigen.

A.2 Downloads

Sie können die benötigten Softwarepakete von der beiliegenden Buch-CD, von denjeweiligen Projektseiten oder aus einer Zusammenfassung auf unserer Websitehttp://www.alternative-unternehmensberatung.de/ downloaden. Für eine lokale Installa-tion sind die hier angebotenen Dateipakete gut geeignet, da sich dann die Erklärun-gen im Buch gut nachvollziehen lassen.

Um Ihnen das Laden der Software-Pakete von der Buch-CD zu erleichtern, habe ichdie Dateien in einer dem Buch entsprechenden Kapitelstruktur abgelegt (sieheTabelle A.1). Denken Sie aber daran, dass es mit Sicherheit aktuellere Versionen aufden jeweiligen Seiten im Internet gibt.

Page 284: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

284

A.2.1 Betriebssystemunabhängig

Das Programm Filzip können Sie unter www.filzip.com herunterladen.

Kapitel Datei Beschreibung

2 Joomla_Stable_1.0.0.tar.gz Joomla-Quellcode Version 1.0.0

Joomla_1.8.3-Stable-Full_Package.zip Joomla-Quellcode Version 1.0.3

xampplite-win32-1.4.15.zip Entwicklungsumgebung XAMPPLITE

Dreamweaver MX 2004 installieren.exe Dreamweaver MX 2004-Trial (30 Tage)

4 jos100germani.zipjos100germanf.zip

Deutsche Sprachdateien (Sie- und Du-Anrede)

5 Simpleboard-1.1.0-Stable.zip Forumskomponente

SB1.1_stable_deutsch.zip Deutsche Sprachdatei für die Forums-komponente

Mod_simpleboard5.zip Forumsmodul

Com_events-1.2.zip Kalenderkomponente

Mod_events_cal-1.1-beta.zip Kalendermodul

bot_events_search-1.1.zip Kalender-Mambot

Com_zoom_25b3.zip Bildergaleriekomponente

Com_akocomment20.zip Kommentarkomponente

cb_akocommentbot.zip Mambot für Kommentarkomponente

docmanV13_RC_1.zip Dokumentenmanagement-Komponente

JOOMLA_com_docman_german_ 1.3_RC1_joomlaGTT.zip

Deutsche Sprachdatei für DOCMan

Mod_mostdownV10_RC_1.zip Modul für DOCMan

bot_searchV10_RC_2.zip Mambot für DOCMan

mambo-phpShop_1.2_stable-pl3_COMPLETE_PACKAGE.zip

Shopkomponente – Komplettpaket mit Modulen

MambelFish_1.5.zip Mambelfish-Komponente

Mbf_module.zip Mambelfish-Modul

Mbf_searchbot.zip Mambelfish-Such-Mambot

6 mambosolutionsDW_107.mxp Dreamweaver-Extension zur Template-Erstellung

Joomlabuch.zip Eigenes Template

7 Com_joomlabuch.zip Eigene Komponente

Mod_joomlabuch.zip Eigenes Modul

bot_joomlabuch.zip Eigener Mambot

Tabelle A.1: Downloads

Page 285: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.3 Template-Strukturen

285

A.3 Template-Strukturen

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

A.3.1 CSS

Es haben sich in den Joomla!-Templates bestimmte Bezeichnungen für bestimmteBereiche eingebürgert. Diese Bereiche werden in CSS auch Klassen genannt. Ichmöchte Ihnen exemplarisch vier Beispiele zeigen. Wenn eine Klasse aufgerufen wird,die nicht in der CSS-Datei existiert, ändert sich an der Anzeige nichts. Durch die Viel-zahl von Versionen und Erweiterungen ist es immer gut, wenn Sie in den HTML-Codeschauen und versuchen, einen Überblick über die benutzten Klassen zu erhalten.

Kopfbereich

Nachfolgend sehen Sie die CSS-Befehle (Listing A.1) im Kopfbereich und die ent-sprechenden Stellen auf der Website (Abbildung A.1). Der CSS-Code soll als Beispieldienen. Es sind nicht alle Stellen mit CSS-Beispielen versehen. Schauen Sie sichCSS-Dateien der vordefinierten Templates an, um weitere Beispiele zu finden.

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

Page 286: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

286

Menübereich

Hier sehen Sie die CSS-Befehle im Menübereich (Listing A.2) und die entsprechendenStellen auf der Website (Abbildung A.2).

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

table.moduletable td { 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; 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;

Page 287: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.3 Template-Strukturen

287

}a:link, a:visited { color: #ff6600;text-decoration: none;}a:hover { color: #ff3300; text-decoration: underline;}

Inhaltselemente

Hier sehen Sie die CSS-Befehle (Listing A.3) im Inhaltsbereich und die entsprechen-den Stellen auf der Website (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;

Abbildung A.2: Menübereich

Page 288: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

288

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;}tr, td, p, div { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 11px; color : #333333;}

News-Übersicht

Hier sehen Sie die CSS-Befehle in der NEWS-Übersicht und die entsprechenden Stellenauf der Website (Abbildung A.4).

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

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

Abbildung A.3: Inhaltselemente

Page 289: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.3 Template-Strukturen

289

}.sectiontableentry1 { background-color : #F0F0F0;}

A.3.2 PHP und andere Einschübe in der index.php Ihres Templates

Abbildung A.4: News-Übersicht

PHP-Code Wirkung

<?php

defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

$iso = explode( '=', _ISO );

echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

Erste Zeile

Hier wird ein direkter Zugriff auf die Datei unterdrückt und der korrekte XHTML-Header gesetzt.

HEAD

<?php mosShowHead(); ?> Erzeugung der Metatags, wie in der Global Configuration festgelegt

if ( $my->id ) { initEditor();}

Initialisierung des WYSIWYG-Editors

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />

Angabe des korrekten Inhaltstyps

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

Page 290: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

290

A.3.3 Wie tausche ich ein Bild (Logo) im Template aus?

Um ein Logo auszutauschen, müssen Sie sich zunächst den Quellcode des entspre-chenden Templates ansehen. Grafiken und Bilder können in der HTML- und in derCSS-Struktur definiert werden. Grafiken haben meist eine auf das Template abge-stimmte Größe.

Wenn Sie nun Bilder tauschen wollen, so können Sie das über mehrere Methodenrealisieren.

Variante 1

1. Erstellen Sie sich von der Auflösung und der Dateigröße her passende Grafiken.

2. Laden Sie die Grafiken in den Media Manager von Joomla!.

3. Klicken Sie auf die Grafik, um den Link zur Grafik zu erhalten.4. Ändern Sie im Quellcode Ihres Templates den entsprechenden <img src= >-Tag auf

das neue Bild.

<link href = "<?php echo $mosConfig_live_site; ?>/templa-tes/rhuk_solarflare_ii/css/template_css.css" rel="stylesheet" type="text/css"/>

Setzen der CSS-Datei

BODY

<?php mosPathWay(); ?> Der Pfad der Seite

mosLoadModules ( '[ort]', [, $style]) Laden des Moduls an der Position [ort].$style ist:0: Modul wird in einer Tabel-lenspalte dargestellt (<td> ... </td>)1: Modul wird horizontal in einer Zelle dargestellt–1: Modul wird ohne umge-bende Tabelle dargestellt–2: Modul wird im barriere-freien xJoomla!-Format dar-gestellt (<div> ... </div>)

mosCountModules( '[ort]' ) Zählen der Module an der Position [ort]

<?php mosMainBody(); ?> Inhaltsbereich

<?php include_once( $GLOBALS[ 'mosConfig_absolute_path' ] . '/includes/footer.php' ); ?>

Fußzeile

PHP-Code Wirkung

Tabelle A.2: PHP-Einschübe in der index.php eines Templates (Forts.)

Page 291: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.4 Joomla! API

291

Variante 2

1. Erstellen Sie die neuen Grafiken unter demselben Namen wie die Grafiken inIhrem Template.

2. Überschreiben Sie einfach die alten Grafiken mit den neuen.

A.4 Joomla! API

Die API (Application Program Interface) beschreibt, an welcher Stelle welche Funk-tionen/Methoden im Quellcode vorhanden sind und was sie tun. Sie besteht ausBeschreibungen, die mit Hilfe eines Dokumentationsprogramms, automatisch ausden Quellcodes extrahiert werden. Zusätzlich zu diesen Beschreibungen wird jeweilsein Anwendungsbeispiel beschrieben. Das Joomla!-Team stellt diese Informationen inenglischer Sprache auf dem Help-Server unter

http://help.joomla.org/content/section/12/125/

zur Verfügung. Hier ein Beispiel für die Methode mosHTML::integerSelectList (Ab-bildung A.5):

Abbildung A.5: Joomla!-Beschreibung für mosHTML::integerSelectList

Page 292: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

292

A.5 Admin-Passwort vergessen

Wenn Sie Ihr Admin-Passwort vergessen haben, können Sie es in der Datenbankdirekt ändern. Dazu benötigen Sie ein Tool wie phpMyAdmin. In der XAMPPLITE-Umgebung rufen Sie es über den URL http://localhost/phpmyadmin in Ihrem Browserauf.

Wählen Sie dort die von Ihnen benutzte Datenbank aus. In dieser Datenbank befindetsich eine Tabelle mos_users. Suchen Sie in dieser Tabelle den Benutzer admin.

Das Passwort ist mit dem MD5-Verfahren verschlüsselt.1 Sie können es ändern,indem Sie in der Optionsliste links neben dem Feld den Eintrag MD5 auswählen unddas Passwort im Klartext eingeben (Abbildung A.6).

Viele Provider bieten Ihnen ebenfalls phpMyAdmin zur Pflege Ihrer Datenbank an.

A.6 Migration von Mambo zu Joomla!

Viele von Ihnen haben vielleicht schon eine Mambo-Website und wollen jetzt aufJoomla! umsteigen.Grundsätzlich haben Sie es nun mit mehreren Problemen zu tun:

1. Die gesamte Website muss gesichert werden.

2. Die allgemeinen Quellcode-Dateien müssen aktualisiert werden.

3. Zusätzliche Komponenten, Module und Mambots müssen aktualisiert werden.

4. Eventuelle eigene Programmänderungen müssen aktualisiert werden.

5. Ihre Inhalte müssen das Update ohne Schaden überdauern.

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

Abbildung A.6: Admin-Passwort ändern

Page 293: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.6 Migration von Mambo zu Joomla!

293

Sie sehen anhand der Auflistung, dass ein Update umso einfacher ist, je mehr Sie mitden Standardkomponenten arbeiten, und umso schwieriger, je individualisierter IhreWebsite ist. Es gibt momentan keine allgemeingültigen Regeln für die Updates, sodass Sie zunächst Informationen sammeln und einen individuellen Update-Plan fürIhre Seite erstellen müssen.

A.6.1 Daten sichern

Benutzen Sie das entsprechende Tool Ihres Providers, um einen MySQL-Dump zuerzeugen. In den meisten Fällen wird dies das Programm phpMyAdmin sein, dasauch in der XAMPPLITE-Umgebung genutzt wird. Klicken Sie auf den Reiter Expor-tieren, markieren Sie alle Tabellen und kreuzen Sie in der Checkbox STRUKTUR alleFelder an. Wählen Sie bei der Checkbox DATEN vollständige Inserts aus. Im unterenBereich müssen Sie die Checkbox SENDEN und das gewünschte Format ankreuzen.Wenn es der Provider ermöglicht, sollten Sie hier die gezippte Variante vorziehen.Komprimierte Dateien im Datenbankbereich können durchaus 95 % kleiner als dienormale Datenbank sein! Bestätigen Sie Ihre Auswahl durch einen Klick auf denButton OK (Abbildung A.7).

Abbildung A.7: Datenbank sichern mit phpMyAdmin

Page 294: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

294

Die Inhalte der Datenbank werden nun extrahiert und Ihnen zum Download angebo-ten. Die Datei enthält alle SQL-Befehle, um die Tabellen in einer anderen Datenbankmit Ihren Inhalten zu erzeugen. Sie stellt also eine optimale Art der Sicherung derDateien dar (Abbildung A.8).

Über phpMyAdmin können Sie die Daten wieder einlesen. Klicken Sie auf den LinkSQL, wählen Sie die Datei mit den gesicherten Daten aus und klicken Sie auf den But-ton OK. Alle SQL-Befehle, die in der Datei stehen, werden nun ausgeführt und IhreDaten werden wieder rekonstruiert (Abbildung A.9).

Abbildung A.8: Download der DB-Sicherung

Abbildung A.9: Einlesen der gesicherten Daten

Page 295: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.6 Migration von Mambo zu Joomla!

295

A.6.2 Dateien sichern

Außer den Daten in der Datenbank sollten Sie natürlich auch die Quellcode-Dateiensichern. Benutzen Sie ein FTP-Programm Ihrer Wahl und kopieren Sie den gesamtenJoomla!-Ordner.

A.6.3 Die Quellcode-Dateien müssen aktualisiert werden

Hier findet das eigentliche Update statt. Die wohl beste Erklärung dazu finden Sie aufder joomla.org-Seite.2

Erstellen Sie sich einen neuen Ordner und kopieren Sie alle neuen Joomla!-Dateien indiesen Ordner.

Versuchen Sie NICHT bei einem Update, Joomla! per Webinstaller zu installieren!Der Installer würde neue, leere Tabellen anlegen und im schlimmsten Fall Ihre Daten-banktabellen überschreiben.

Um das Update zu organisieren, darf es kein Installationsverzeichnis geben. Sie soll-ten es langfristig löschen. Momentan benennen Sie es einfach um (install_alt), da wirnoch eine Datei aus diesem Verzeichnis benötigen.

Kopieren Sie Ihre Mambo-Datei configuration.php in das neue Joomla!-Verzeichnis.Ändern Sie im Code der Datei die Variablen $mosConfig_absolute_path and$mosConfig_live_site auf den neuen Joomla!-Ordner.

Kopieren Sie alle ZUSÄTZLICHEN Templates, Komponenten, Module, Mambotsund Sprachdateien von Ihrem alten Mambo-Verzeichnis in Ihr neues Joomla!-Ver-zeichnis.

Hier ist eine Liste der standardmäßigen Ordner, die Sie NICHT KOPIEREN dürfen.Diese Ordner stellen den Kern von Joomla! dar. Kopieren Sie KEINE Ordner, die sichaußerhalb dieser angegebenen Ordner befinden. Kopieren Sie nur zusätzliche vonIhnen über die Installer installierte Ordner, die Sie in den angegebenen Ordnern fin-den und die nicht auf der folgenden Liste stehen!

Templates:

� /administrator/templates/mambo_admin

� /administrator/templates/mambo_admin_blue

� /templates/rhuk_solarflare_ii

Components:

� /administrator/components/com_admin

� /administrator/components/com_categories

� /administrator/components/com_checkin

2 http://help.joomla.org/content/view/818/132/.

Page 296: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

296

� /administrator/components/com_config

� /administrator/components/com_installer

� /administrator/components/com_languages

� /administrator/components/com_mambots

� /administrator/components/com_massmail

� /administrator/components/com_media

� /administrator/components/com_menumanager

� /administrator/components/com_menus

� /administrator/components/com_modules

� /administrator/components/com_sections

� /administrator/components/com_statistics

� /administrator/components/com_syndicate

� /administrator/components/com_templates

� /administrator/components/com_trash

� /administrator/components/com_typedcontent

� /administrator/components/com_users

� /components/com_banners

� /components/com_contact

� /components/com_content

� /components/com_frontpage

� /components/com_login

� /components/com_messages

� /components/com_newsfeeds

� /components/com_poll

� /components/com_registration

� /components/com_rss

� /components/com_search

� /components/com_user

� /components/com_weblinks

� /components/com_wrapper

Module:

� /administrator/modules/mod_components

� /administrator/modules/mod_fullmenu

� /administrator/modules/mod_latest

� /administrator/modules/mod_logged

� /administrator/modules/mod_mosmsg

Page 297: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.6 Migration von Mambo zu Joomla!

297

� /administrator/modules/mod_popular

� /administrator/modules/mod_quickicon

� /administrator/modules/mod_toolbar

� /administrator/modules/mod_unread

� /modules/mod_archive

� /modules/mod_banners

� /modules/mod_latestnews

� /modules/mod_login

� /modules/mod_mainmenu

� /modules/mod_mostread

� /modules/mod_newsflash

� /modules/mod_online

� /modules/mod_pathway

� /modules/mod_poll

� /modules/mod_random_image

� /modules/mod_related_items

� /modules/mod_rssfeed

� /modules/mod_search

� /modules/mod_sections

� /modules/mod_stats

� /modules/mod_templatechooser

� /modules/mod_whosonline

� /modules/mod_wrapper

Mambots:

� /mambots/content/geshi

� /mambots/content/legacybots

� /mambots/content/moscode

� /mambots/content/mosemailcloak

� /mambots/content/mosimage

� /mambots/content/mosloadposition

� /mambots/content/mospaging

� /mambots/content/mossef

� /mambots/content/mosvote

� /mambots/editors/none

� /mambots/editors/tinymce

� /mambots/editors-xtd/mosimage.btn

Page 298: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A Anhang

298

� /mambots/editors-xtd/mospage.btn

� /mambots/search/categories.searchbot

� /mambots/search/contacts.searchbot

� /mambots/search/content.searchbot

� /mambots/search/newsfeeds.searchbot

� /mambots/search/sections.searchbot

� /mambots/search/weblinks.searchbot

Sprachen

� /language/english

Wenn Sie nun die Website im neuen Verzeichnis aufrufen, sollte sie grundsätzlichfunktionieren.

A.6.4 Datenbank-Update

In der Joomla!-Distribution finden Sie im Ordner

/installation/sql/migrate_Mambo4523_to_Joomla_100.sql

eine Datei mit SQL-Anweisungen für das Datenbank-Update. Laden Sie diese Datei,wie oben beschrieben, mit phpMyAdmin in Ihre alte Mambo-Datenbank. Die Ände-rungen, die das Update vornimmt, können Sie nachvollziehen, indem Sie sich einfachden Inhalt der Datei ansehen. In unserem Fall werden Änderungen am Administra-tor-Template und bei den Modulen vorgenommen.

Nach dieser Aktion können Sie das Installationsverzeichnis löschen!

Für weitere Versionen von Joomla! (1.0.x) werden entsprechende SQL-Dateien bei-gelegt werden.

A.6.5 Zusätzliche Komponenten, Module und Mambots müssen aktualisiert werden

Wenn Sie nach dem oben angegebenen Prinzip vorgegangen sind, müssten alle vonIhnen installierten zusätzlichen Komponenten, Module und Mambots aktualisiertsein!

A.6.6 Eventuelle eigene Programmänderungen müssen aktualisiert werden

Nur Sie wissen, was Sie verändert haben! Versuchen Sie die Änderungen nachzuvoll-ziehen.

Page 299: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

A.6 Migration von Mambo zu Joomla!

299

A.6.7 Ihre Inhalte müssen das Update ohne Schaden überdauern

Wenn bis hierher alles funktioniert hat, sollten auch Ihre Inhalte unter Joomla! zusehen sein.

A.6.8 Sicherheit ohne globale Variablen

Mambo und Joomla! verlangen standardmäßig eine PHP-Einstellung mit demNamen register_globals = on. Bei diesem Schalter geht es um die Sichtbarkeit globalerVariablen, die unter anderem von außen per Formular oder Get-String in die Pro-gramme gelangen können.

Diese Einstellung birgt grundsätzliche Sicherheitsprobleme und es ist besser, wennman die Einstellung register_globals = off verwendet.

Obwohl dieser Schalter Sie natürlich nicht vor allen Problemen beschützt, hilft erdoch schon ungemein, die Sicherheit zu erhöhen.

Um Joomla! entsprechend vorzubereiten, benennen Sie die Datei

[PfadzuJoomla!]/globals.php um in

[PfadzuJoomla!]/globals.php-on und die Datei

[PfadzuJoomla!]/globals.php-off um in

[PfadzuJoomla!]/globals.php.

Der Kern von Joomla! wird sicher funktionieren. Probieren Sie aus, ob alle Ihre Kom-ponenten ebenfalls noch funktionieren. Sollten Sie Probleme haben, ändern Sie dieEinstellungen zunächst zurück auf globals off und achten auf Aktualisierungen derentsprechenden Komponente.

Page 300: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 301: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

DankeIn der Einleitung habe ich Ihnen erzählt, dass ich oft unterwegs bin.

Eben sitze ich in einem Bus auf der Autobahn und möchte mich bei Ihnen bedanken,dass Sie bis hierhin vorgestoßen sind. Ich hoffe, Sie hatten Erfolg und Spass beimDurcharbeiten des Buches. Melden Sie sich mal und schreiben Sie mir, ob und – wennja – wie es Ihnen gefallen hat.

Weder Mambo noch Joomla! sind aus dem Nichts entstanden, sondern wurden undwerden von vielen Menschen zu dem gemacht, was sie heute sind – die beiden wohlam weitesten verbreiteten Content Management-Systeme der Welt. Ich möchte michbei all den Menschen bedanken, die diese Entwicklung möglich gemacht haben unddie mit diesem Buch für die weitere Verbreitung sorgen.

Meiner Traumfrau Christine und der Verlagskorrektorin Marita Boehm danke ichfür ihre Mithilfe beim Korrekturlesen.

Bei Alex Kempkens1, Core Development Team Member von Joomla!, Autor der Mam-belfish-Komponente und Fachlektor bei diesem Buchprojekt, bedanke ich mich fürviele Tipps und das geduldige Lesen des Manuskripts.

Vielen Dank an Angie Radtke2 für ihre Tipps zum Thema Barrierefreiheit und einenbesonderen Dank an Boris Karnikowski, der als Lektor des Buchprojekts für den sehrgut funktionierenden organisatorischen Background sorgte und immer mit Ideen, Ratund Tat zur Seite stand.

Oktober 2005

Hagen Graf – [email protected]

1 http://www.thinknetwork.com/.2 http://www.der-auftritt.de/.

Page 302: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS
Page 303: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Stichwortverzeichnis

Symbole.htaccess 87

AAdmin Passwort 47, 83, 292Administrator 96Administrator-Module 153Administrator-Templates 93Affiliate 126AkoComments 195Album Manager 186Apache 19API 291apt 39Arbeitsbereich 71Archive Manager 121Auflösung 230Aufmacher 103ausgecheckt 159Author 95Avatar 175

BBackend 22Banner 56, 123, 143Barrierefreiheit 251

Kriterien 252Benutzerprofil 175Bilder-Browser 170Bildergalerie 161Blogs 103

CCache 85Category Manager 109, 120CI 227Code Support 155Components 122Contacts 126Content 103, 107Content Management System 17

Control Panel 71Corporate Behaviour 227Corporate Communication 227Corporate Design 227Corporate Identity 227Corporate Image 227CRM 17CSS 228, 285Customizing 63

DDateien-Browser 170Debian 39Debug-Modus 76DMS 17Dokumentenverwaltung 161Dokumentenverzeichnis 37

EE-Cards 194ECMS 17Editor 95eingecheckt 159Email Cloaking 156ERP 17Event-Mambot 184Events 176Extended Markup Language siehe XML

FFavicon 78Firefox 139Forum 161Freedom Law Center 21Frontend 22, 51Frontpage 55, 113, 120Frontpage Manager 120

Page 304: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Stichwortverzeichnis

304

GGeschichte 18GeSHi 156Global Check-in 159Global Configuration 75GNU/GPL 19

HHRM 17HTML 228

IInbox 158Infobar 71Install 122Installation 33Installationspaket 275Installers 157

JJava Applet 188Java Script 70Joomla! Versionen 25Joomla!-Administration 70Joomla!-Webinstaller 44

KKalender 161, 176Kategorie 103Kommentare 195

Komponente 161Komponenten 23, 122, 257

LLAMP 19Language Editor 65Language Manager 65, 87Latest News 150Legacy Joomla!t 155Lightbox 194Linkliste 139Links 103Linux 37Live Bookmarks 138Live Site 83Load Module 156Login 57

Form 145Logo 290lokale Installation 41

MMambelfish 220Mambo CMS 21Mambo Foundation 21Mambo Open Source 21Mambots 116, 154, 280Manager 96Mass Mail 131Media Manager 88Mehrsprachigkeit 161, 220Menu 97Menü Help 73Menü Site 74Messages 158Metadaten 84Migration 292Miro 20Modul kopieren 152Module 140MOS Image 155MOS Pagebreak 157MOS Pagination 157MOS Rating 156MosDBTable 271MySQL 19

Dump 293

NNewsfeeds 132Newsflash 150Nummerierungssystem 25

OOnline-Ressourcen 283Online-Shop 161openSUSE 38

PPDF 80PHP 19phpBB 20phpMyAdmin 20Polls 134, 148Popular 151Position 142Preview 89Publish 101Publisher 95

Page 305: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

Stichwortverzeichnis

305

RRandom Image 149Registered 95Roadmap 26

SSchlagwörter 84Search Engine Optimization 86Search Mambots 157Section 103Section Manager 120SEF 156SEO 86Separator 104Serverumgebung 34Simpleboard 162Site Modules 141Site Templates 91Sprachdatei 64Static Content Manager 113Statistikdaten 90Statistikfunktionen 86suchmaschinenfreundliche URLs 86Super Administrator 96SUSE 10.x 38Syndicate 135, 146System 158

TTables 103Templates 23, 230

Chooser 143Dateistruktur 233Dreamweaver Extension 241live bearbeiten 248Manager 91Modulintegration 236Paket 239selber schreiben 227, 230und DIV Tags 250

Third-Party-Entwickler 22

TinyMCE 77Toolbar 71Trash Manager 93

UUbuntu 39Umfragen 57, 134Uninstall 122Unpublish 101Update 293User Manager 94

Vvirtuemart 208

WWCMS 17Weblinks 139Werkzeugleiste 71Who's Online 149Wiki 54Workflow 23Workspace 71World Wide Web Konsortium 228Wrapper 104, 147WYSIWYG-Editor 77

XXAMPP 34XHTML 228XML 136, 228, 230

YYaST 38

ZZeitleiste 26Zoom Media Gallery 185Zugriffsrechte 23

Page 307: Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS

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: [email protected]

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