143 62 13MB
German Pages 307 Year 2005
Sandini Bib
Joomla!
Sandini Bib
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 Betriebssysteme, Netzwerke und Sicherheit als auch Programmierung. Eine Auswahl aus unserem Programm: phpMyAdmin ist das am weitesten verbreitete Tool zur Verwaltung von MySQL-Datenbanken. Dieses Buch gibt Ihnen einen profunden Einstieg in die effiziente Verwaltung 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 Benutzer anlegen und verwalten. Sie lernen, wie Sie Abfragen optimieren und automatisieren und was Sie beim Arbeiten mit verschiedenen Zeichensätzen und MIMETypen beachten müssen u.v.a.m. Ein TroubleshootingKapitel hilft bei Problemen. phpMyAdmin Marc Delisle 260 S. Euro 19,95 (D), 20,60 (A) ISBN 3-8273-2250-2 Sind Sie Webentwickler und suchen Sie PHP- und MySQLGrundlagen sowie Programmiertechniken in einem Buch? Dann sind Sie hier richtig. Dieses praxisorientierte Buch liefert nach einem kurzen Grundlagenteil eine ganze Sammlung von PHP- und MySQL-Rezepten: objektorientierte Programmierung mit PHP 5, XML-Funktionen, prepared statements, stored procedures, SQL-Grundlagen und -Rezepte, GIS-Funktionen, mysqli-Schnittstelle, etc. Anschließend demonstrieren mehrere umfangreiche Beispielprojekte das Zusammenspiel von PHP und MySQL. Ein Kapitel über TYPO3 zeigt exemplarisch, wie im Internet kostenlos verfügbare PHP/MySQL-Projekte installiert und für eigene Zwecke adaptiert werden. PHP 5 & MySQL 5 Michael Kofler, Bernd Öggl 696 S., 1 CD Euro 49,95 (D), 51,40 (A) ISBN 3-8273-2190-5
Sandini Bib
Hagen Graf
Websites organisieren und gestalten mit dem Open Source-CMS
An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
Sandini Bib
Die Deutsche Bibliothek – CIP-Einheitsaufnahme Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar. Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Texten und Abbildungen wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig.
Fast alle Hardware- und Softwarebezeichnungen 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/Germany Alle Rechte vorbehalten Einbandgestaltung: Marco Lindenbeck, webwo GmbH ([email protected]) Lektorat: Boris Karnikowski, [email protected] Fachlektorat: Alexander Kempkens, München Korrektorat: Marita Böhm, München Herstellung: Monika Weiher, [email protected] Satz: reemers publishing services gmbh, Krefeld Druck: Bercker Graph. Betrieb, Kevelaer Printed in Germany
Sandini Bib
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
Sandini Bib
Sandini Bib
Inhaltsverzeichnis Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
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
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
2
13
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
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Lokale Serverumgebung einrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33 34
2.1.1
Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
2.1.2
Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Sandini Bib Inhaltsverzeichnis
2.2 Auf einem virtuellen Server im Netz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.3 Joomla! installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.3.1
In welches Verzeichnis installieren? . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
2.3.2
Lokale Installation von Joomla! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
Ein Rundgang durch Ihre neue Website . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
40
51 51
3.1.1
Menüs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
Joomla! anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
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
8
4.5.1
Vorhandenes Menü anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
4.5.2
Neues Menü erzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Sandini Bib Inhaltsverzeichnis
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7.5
Newsfeeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.7.6
Polls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
4.7.7
Syndicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
4.7.8
Weblinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
131
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
5
Global Check-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
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
9
Sandini Bib Inhaltsverzeichnis
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
10
5.7.1
Installation von Mambelfish (Komponente und Modul) . . . . . . . . . . . . 221
5.7.2
Konfiguration von Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Sandini Bib Inhaltsverzeichnis
6
5.7.3
Übersetzung mit Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5.7.4
Mambot für Mambelfish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
5.7.5
Eigene Komponenten in Mambelfish einbinden . . . . . . . . . . . . . . . . . . 226
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
7
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
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
11
Sandini Bib Inhaltsverzeichnis
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
12
Sandini Bib
Einleitung Dieses Buch entsteht unter anderem auf einem kleinen Dorf in Sachsen-Anhalt in Deutschland. 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 bin verheiratet mit einer Traumfrau, habe vier Töchter und führe seit August 2004 ein Blog.1 Meine Arbeit besteht aus Tätigkeiten wie unterrichten, beraten, zuhören, ausprobieren, programmieren, Strukturen verstehen, neue Anwendungen entwickeln, hinterfragen und immer wieder ausprobieren. Viele dieser Tätigkeiten lassen sich online erledigen. Oftmals bin ich aber auch wochenlang unterwegs. Das heißt auch Kunden in verschiedenen Ländern, mit verschiedenen Sprachen und Kulturen. Lange Auto-, Bus- oder Bahnfahrten. Kurze bis sehr 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 PC abzuspeichern, so bieten verschiedene Dienstleister inzwischen beinahe unerschöpflichen Festplattenplatz im Internet für diese Zwecke an. Firmen setzen Terminalserver ein und die Bandbreite der Internetverbindungen steigt, vielleicht auch bald in meinem 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 Informationen zugreifen, wird immer unwichtiger. Was Sie wirklich brauchen, ist eine stabile, finanzierbare Internetverbindung über WLAN, UMTS, Telefon oder Satellit, einen Browser, einen Bildschirm, auf dem Sie bequem lesen können, eine möglichst komfortable Tastatur und natürlich Elektrizität.
1
http://hagen.take-part.org/.
Sandini Bib Einleitung
Sie können von überall auf der Welt auf Ihren Fundus von E-Mails, Bildern und Dokumenten 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 denen ich zu tun habe, arbeiten so ähnlich, wie ich das oben beschrieben habe. Auch die Erfahrungen mit Computern ähneln sich. Meistens fängt man mit einem älteren PC und einem Windows-System in der Schule an und lernt dann aus Erfahrung die harte Realität aus Office-Anwendungen, Datenverlusten, fehlendem Hauptspeicherplatz, Festplatten, Drucker- und Konfigurationsabenteuern kennen. Wenn Sie nicht gerade eine Liebe zu diesen Dingen entwickeln und mit Leidenschaft nachts an Ihrem Betriebssystem herumbasteln, dann sind Sie vermutlich genau wie ich einfach nur glücklich, wenn Ihr Gerät und Ihre Anwendung funktionieren, Sie auf das Internet und 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 Software entwickelt, die genau diese Arbeitsweise unterstützt. Browserbasierte Anwendungen wie E-Mail-Services, Online-Banking, Gruppenkalender, Dokumentenmanagementsysteme, Communitys, Dating-Services und natürlich Online-Auktionen etc. werden immer komfortabler, ausgefeilter und benutzerfreundlicher. Selbst mit Mobiltelefonen können Sie heute per Browser Internetseiten aufrufen, Formulare ausfüllen und abschicken, E-Mails senden und empfangen, Fotos aufnehmen und verschicken und vieles andere mehr. Der stationäre PC wird immer kleiner und Laptops werden immer selbstverständlicher. Weiterentwicklungen finden in erster Linie bei drahtlosen Verbindungstechniken, 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 Organisation einen Internetauftritt, der ebenfalls benutzerfreundlich und flexibel ist. Der »mit der Zeit geht«, der »einfach über einen Browser zu verändern ist«, der »Ihren Aktenschrank und Ihr Adressbuch ersetzt«, der mit unterschiedlichen Endgeräten kommunizieren und der einfach erweitert werden kann. Ihre Website ist der Platz, an dem Sie anderen erklären können, was Sie tun, bzw. was Ihre Firma tut. Es ist der Platz, der 24 Stunden am Tag, sieben Tage in der Woche bereitsteht, um Kundenbeziehungen zu pflegen. Bis vor kurzem war die Erstellung einer solchen Website eine schwierige Sache. Sie mussten zwar kein ausgewiesener
14
Sandini Bib Worum geht es in diesem Buch?
Spezialist sein, aber eine gewisse Form von Durchhaltevermögen kombiniert mit Spaß am Thema waren notwendig, um ein ansprechendes Ergebnis zu erzeugen. Sie mussten statische HTML-Seiten in einem HTML-Editor erstellen und anschließend per File Transfer Protocol auf einen Server laden. Um auch nur simpelste Interaktivitäten wie beispielsweise ein Gästebuch oder ein Forum zu erstellen, mussten Sie eine Programmiersprache erlernen. Viele Menschen haben aus nachvollziehbaren Gründen diese Mühsal nicht auf sich genommen und die Erstellung ihrer Homepage entweder an eine Webagentur übergeben oder das Projekt gar nicht erst angefangen. Doch Rettung naht, denn jetzt haben Sie mit diesem Buch schon mal Ihren Reiseführer 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 von Joomla! sowie das Entwickeln eigener Elemente für Joomla! und Verbindungen zu anderen Systemen beschreiben.
Was ist Joomla!? Joomla! ist ein von Jumla abgeleitetes Wort aus der afrikanischen Sprache Swahili
und 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 damaligen Entwicklerteam. Joomla!2 ist die Weiterentwicklung des erfolgreichen Systems Mambo3 und wie
Mambo ein Stück Software, mit dem sich eine Website per Webbrowser einfach verwalten lässt. Joomla! ist nach eigenen Angaben ein »Cutting Edge Content Management Sys-
tem« und eines der leistungsfähigsten Open Source-Contentmanagementsysteme auf der Welt. Es wird weltweit für einfache Homepages bis hin zu aufwendigen Unternehmenswebsites genutzt. Es ist einfach zu installieren, einfach zu verwalten und sehr verlässlich.
2 3
http://www.joomla.org/. http://www.mamboserver.com/.
15
Sandini Bib Einleitung
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 Browser 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 schon erste 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 die Joomla!-Foren viel besser geeignet. Wenn Sie aber wirklich nicht weiterkommen, Anmerkungen oder Fragen zum Buch haben – schreiben Sie mir einfach eine E-Mail an [email protected]!
16
Sandini Bib
1
Begriffe und Konzepte
Bevor 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 dem Inhalte verwaltet werden können. Ein solches System kann eine Tafel und ein Stück Kreide sein (Speisekarte, Schultafel), es kann aber auch so etwas wie die freie Enzyklopädie Wikipedia oder ein Auktionshaus wie eBay sein. In allen drei Fällen werden Inhalte verwaltet. In den letzten beiden Beispielen sogar von sehr vielen Teilnehmern. Diese Teilnehmer spielen bei Inhaltsverwaltungssystemen eine große Rolle, einerseits in der Funktion des Verwalters (Administrator) und andererseits in der Rolle des Benutzers (User). Aber es kommt noch besser. Außer CM-Systemen gibt es natürlich auch noch Bezeichnungen wie Enterprise Resource Planning Systems (ERP, Verwaltung von Firmendaten), Customer Relationship Management Systems (CRM, Pflege von Kundenkontakten), Document Management Systems (DMS, Verwaltung von Dokumenten), Human Resource Management Systems (HRM, Personalverwaltung) und viele weitere. Ein Computerbetriebssystem wie Windows oder Linux verwaltet ebenfalls Inhalte. Durch diese inflationäre Begriffs- und Funktionsvielfalt fällt es schwer, den Begriff CMS zu definieren. In der letzten Zeit hat sich der Begriff ECMS für Enterprise Content Management System etabliert. Alle anderen oben aufgeführten Abkürzungen sind dann Untermengen eines ECMS. Joomla! fällt in die Gattung der Web-Contentmanagementsysteme (WCMS), da es ausschließlich Inhalte auf einem Webserver verwaltet. Da all diese Systeme noch relativ neu in der Unternehmenswelt sind, werden sich die Bedeutungen sicher noch weiterentwickeln. Grundsätzlich wird es aber immer ein Integrationssystem geben, das versucht, alle Systeme miteinander zu verbinden.
Sandini Bib 1 Begriffe und Konzepte
Im allgemeinen Sprachgebrauch wird der Begriff Content Management meist im Zusammenhang mit Webseiten verwendet, die sich über einen Browser pflegen lassen. 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 mit Windows steht. Der Rechner, um den es Microsoft ging, war immer eine Mixtur aus Datendateien und Binärdateien. Die Dateien mit den binären Inhalten nennt man Programme. Sie wurden von den Kunden gekauft und installiert, um damit die Daten bearbeiten zu können. 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 einem Zugang ins Internet. Die Programme und die Daten sollten sich nicht auf diesem Rechner befinden, sondern irgendwo im Netz. Die Philosophie von Microsoft tendierte also mehr in die Richtung meins, die Philosophie von Sun mehr in die Richtung unser. Die Triebfedern dieser Philosophien sind nicht reine Menschenfreundlichkeit, sondern wirtschaftliches Interesse. Microsoft verkaufte in erster Linie im Konsumentenbereich Software für PCs, Sun dagegen im Unternehmensumfeld Serverhardware und die passenden Programme dazu. Mitte der 90er Jahre erfolgte die explosionsartige Verbreitung des eigentlich schon in den 60er Jahren erfundenen Internets unter anderem durch HTML (HyperText Markup Language, die Sprache, in der Webseiten geschrieben werden) und die Entwicklung von Webservern und Webclients (Browsern). Das Internet selbst ist nur ein Satz von Spielregeln, der von verschiedenen Geräten verstanden und so geschickt kombiniert wurde, dass dieses Netz in kürzester Zeit den gesamten Planeten überzog. Ohne eine E-Mail-Adresse war der einzelne Mensch nicht erreichbar und ohne eine Homepage war eine Firma nicht nur altmodisch, sondern in den Augen vieler Kunden nicht mehr existent. Die ganze Welt drängelte also in kurzer Zeit in dieses Netz, um ein Teil davon zu werden. Filme wie Matrix1 wurden Klassenschlager und 19842 von George Orwell wurde erfolgreich verdrängt. Die neuen Netzbürger kamen zum einen aus der meins-Welt und zum anderen aus der unser-Welt. 1 2
18
http://whatisthematrix.warnerbros.com/. http://de.wikipedia.org/wiki/1984.
Sandini Bib 1.2 Ein kurzer Blick in die Geschichte
Diejenigen, die es gewohnt waren, Programme zu kaufen, kauften HTML-Editoren und erstellten damit Internetseiten. Die anderen schrieben den HTML-Code meist lieber gleich selbst in einem ohnehin vorhandenen Texteditor. Die Webagentur war geboren, bei der man Homepages in Auftrag geben konnte. Beide Gruppen hatten allerdings das Problem, dass HTML-Seiten statisch sind. Um den Inhalt der Seite zu ändern, muss man sie am heimischen PC bearbeiten und danach wieder auf den Server kopieren. Das war nicht nur unbequem und teuer, damit waren auch Webauftritte wie solche von 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 HTMLSeiten erzeugen konnte, und diese wurden dann per automatisiertes Verfahren auf den Server geladen. In die Seiten wurden interaktive Elemente wie Besucherzähler u.Ä. eingebaut. Die unser-Fraktion entdeckte Java Applets und damit die Möglichkeit, ein Programm zu schreiben, das zentral auf einem Server liegt und über einen Browser bedienbar ist. Auf dieser Lösung beruhten ganze Geschäftsideen wie Online-Broking und Flugbuchungskonzepte. Beide Gruppen versuchten auf verschiedene Arten, ihre Marktanteile auszubauen. Das Ergebnis war ein recht stabiler Markt für beide, in dem Religionskämpfe über das richtige Betriebssystem (Windows, Linux, Mac OS X) ständig die Versionsnummern der Programme hochtrieben und sich die Kunden daran gewöhnten, dass alles nicht so einfach ist. In solchen Situationen gibt es immer einen dritten Weg. In unserem Fall ist das unter anderem die Entstehung von Open Source-Scriptsprachen wie PHP3. Rasmus Lerdorf hatte das Ziel, seine Homepage mit interaktiven Elementen zu versehen, und heraus kam eine neue Programmiersprache. PHP wurde von Anfang an optimiert auf die perfekte Zusammenarbeit mit der Datenbank MySQL, die ebenfalls unter der GNU/GPL4 stand. Glücklicherweise gab es das Betriebssystem Linux und einen Webserver namens Apache, die die benötigte Infrastruktur auf dem Server boten. Das Anzeigemedium beim Kunden war der Browser, der mit Sicherheit vorhanden war. LAMP (Linux, Apache, MySQL, PHP) wurde bald das Synonym für datenbankgestützte, interaktive Auftritte im Internet. Wie in einem kreativen Rausch entstanden verschiedenste Systeme, die es ermöglichten, Inhalte nur mit Hilfe eines Browsers zu organisieren, wie Forenseiten, Communitys, Online-Shops, Voting-Seiten und Ähnliches. Nach den »harten« Sachen wie Linux und Apache entstanden nun die »weichen« Produkte. 3 4
http://www.php.net/. http://www.gnu.de/gpl-ger.html.
19
Sandini Bib 1 Begriffe und Konzepte
Die 90er Jahre neigten sich dem Ende, die Internet-Aktienblase platzte und plötzlich kam es darauf an, ganz klassische Geschäftsmodelle mit ganz klassischen Methoden zu etablieren. Immer wenn es der Wirtschaft nicht gut geht, schaut sie auf die Kosten und überlegt, ob es Möglichkeiten gibt, diese zu senken. Es gab und gibt zahlreiche Möglichkeiten! Die PHP-Anwendungen, die es damals gab, hatten Verbreitungszahlen, die in die Millionen gingen. Als Beispiele seien hier nur die Projekte phpBB5 und phpMyAdmin6 genannt. Das eine hat sich zum Quasistandard für Forensoftware entwickelt, das andere zum Standardtool für das Bearbeiten von MySQL-Datenbanken per Webinterface. Der Quellcode der Sprache PHP selbst wie auch der Quellcode der Anwendungen wurden dank der enormen Anzahl von Nutzern und Entwicklern immer schneller immer 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, MySQL und PHP sind in der Industrie akzeptiert. Die Suche nach professionell verwertbaren PHP-Anwendungen begann. Bei dieser Suche schaut man auf: eine einfache Installation eine gute Wartbarkeit des Quellcodes Sicherheit des Quellcodes Benutzerfreundlichkeit einfache Erweiterbarkeit Kosten Abhängigkeit vom Lieferanten
Der besondere Vorteil von PHP-Anwendungen ist die Unabhängigkeit von Hardware und Betriebssystem. LAMP existiert auch als WAMP für Windows, MAMP für den Apple und auf zahlreichen anderen Plattformen Und jetzt kommt endlich unser Joomla! ins Spiel.
1.2.1
Joomla! – wie kam es dazu?
Die australische Firma Miro7 entwickelte im Jahre 2001 ein Contentmanagementsystem mit dem Namen Mambo. Sie stellte dieses System als Open Source-Software zur Verfügung, um es auszutesten und für eine weitere Verbreitung zu sorgen. Im Jahre 5 6 7
20
http://www.phpbb.com/. http://www.phpmyadmin.net/. http://www.miro.com.au/.
Sandini Bib 1.2 Ein kurzer Blick in die Geschichte
2002 spaltete die Firma ihr Produkt Mambo in eine kommerzielle und eine Open Source-Version auf. Die kommerzielle Variante nannte man Mambo CMS, die Open Source-Version Mambo Open Source oder kurz MOS. Ende 2004 einigten sich alle Beteiligten darauf, dass MOS ganz offiziell Mambo genannt werden dürfe und dass man gemeinsam eine erfolgreiche Zukunft für das sich momentan am schnellsten entwickelnde CMS gestalten wolle.8 HinweisHinweis Die Vorteile der kommerziellen Variante liegen für Firmen in erster Linie in der erhöhten Sicherheit und in der Tatsache, dass sie die Firma Miro als Ansprechpartner haben, die auch die weitere Entwicklung unterstützt. Die Vorteile der Open Source-Version sind, dass sie »frei« ist und eine riesige Gemeinde von Benutzern und Entwicklern für eine zügige Weiterentwicklung sorgt. Außerdem ist es für Unternehmen natürlich möglich, Mambo als Basis zu nehmen und darauf aufbauend eigene Lösungen zu entwickeln. Um die Existenz und Weiterentwicklung von Mambo zu sichern, gab es im Laufe des Jahres 2005 auf allen Seiten Überlegungen, eine Stiftung für die Open Source-Variante von Mambo einzurichten. Am 10.8.2005 war es dann soweit: Auf der Mambo-Projektseite wurde die MamboFoundation angekündigt. Nach positiven Reaktionen in den ersten Stunden danach stellte sich ziemlich schnell heraus, dass die Stiftung von Miro in Australien gegründet und dass das Entwicklerteam nicht in die Gründungsmodalitäten einbezogen worden war. Daraufhin entbrannten heiße Diskussionen in den Foren der Community 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 opensourcematters.org und kündigte an, dass es sich vom neutralen Software Freedom Law Center9 beraten lassen würde und eine Weiterentwicklung von Mambo plane. Wie in einer zerrütteten Ehe entwickelte sich schnell ein Rosenkrieg zwischen der von Miro dominierten Mambo Foundation, der plötzlich das Entwicklungsteam abhanden gekommen war, dem Entwicklungsteam selbst, das natürlich einen neuen Namen für den Fork benötigte, und einer erhitzten internationalen Community von hunderttausenden 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 Foundation stellte am 26.8.2005 die Beta-Version von Mambo 4.5.3 vor, die in den einschlägigen Foren nicht sehr gut aufgenommen wurde. 8 9
http://mamboserver.com/The_News/News/Mambo_and_Miro_Reunite/. http://softwarefreedom.org/.
21
Sandini Bib 1 Begriffe und Konzepte
Am 1.9.2005 wurde der Name für den Fork bekannt gegeben – Joomla!. Diesmal sicherte sich das Entwicklerteam die Namensrechte und gab der Community auch die Möglichkeit, ihre vorhandenen Mambo-Domains auf den neuen Namen umzustellen, bevor er öffentlich verkündet wurde. Im neuen Forum hatten sich in kürzester Zeit etwa 8.000 Benutzer registriert. Das neue Projekt benötigte ein Logo und so wurde am 7.9.2005 ein Wettbewerb in der Community ausgerufen. Am 14.9.2005 wurden verschiedene Logovorschläge veröffentlicht und die neue (alte) Community darum gebeten, über das neue Joomla!-Logo abzustimmen. 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 ebenfalls von Mambo zu Joomla!. (Ein Third-Party-Entwickler ist jemand, der auf einer Basis wie Joomla! aufbaut, um eigene Erweiterungen zu erstellen, beispielweise ein Forum oder eine Bildergalerie.) Die Firma VA Software11, die unter anderem die Entwicklerseite sourceforge.net betreibt, entschied, die Serverinfrastruktur des Joomla!-Projekts zu sponsern. Als vorläufigen Höhepunkt gewann Joomla! im Oktober auf der Linuxworld in London zwei Preise: Zum einen für das beste Linux- bzw. Open Source-Projekt im Jahre 2005 und zum anderen erhielt Core Member Brian Teeman einen Preis für seine Unterstü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 kompetente deutschsprachige Ressource zum Thema Joomla!.12 Eine ausführliche Zusammenfassung der Ereignisse in englischer Sprache finden Sie im 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 die Homepage, wie sie der Besucher und der angemeldete Benutzer sehen. Das Backend dagegen beinhaltet die Verwaltungsoberfläche der Homepage für den Administrator. Im Backend wird konfiguriert, gepflegt, aufgeräumt, werden Statistiken erstellt und neue Inhalte erzeugt. Das Backend findet man unter einem anderen URL als die Homepage.
10 http://forum.joomla.org/index.php/topic,5953.0.html. 11 http://www.vasoftware.com/. 12 http://www.joomlamagazin.de/.
22
Sandini Bib 1.3 Struktur eines CMS
1.3.2
Zugriffsrechte
Immer wenn es um Management geht, geht es um das clevere Verwalten von vorhandenen Ressourcen. In einem CMS werden den beteiligten Personen Usernamen zugeordnet und diese mit unterschiedlichen Zugriffsrechten versehen. Das geht von einem einfachen registrierten Benutzer über einen Autor und Editor bis hin zum Superadministrator, der alles darf. Abhängig von den Rechten erscheint die Homepage dann mit anderen Inhalten oder der Benutzer arbeitet in der von der Homepage getrennten Verwaltungsoberfläche.
1.3.3
Inhalte
Inhalte können verschiedener Art sein. Im einfachsten Fall ist es ein Text. Inhalt kann aber auch ein Bild, ein Link, ein Musikstück oder die Kombination aus allem sein. Um einen Überblick über die Inhalte zu behalten, bettet man sie in Strukturen ein, beispielsweise Texte in verschiedene Kategorien. Auch die Kategorien sind natürlich Inhalte, die verwaltet werden müssen.
1.3.4
Templates
Ein Template ist eine Art visuelle Schablone, die über die Inhalte gelegt wird. Ein Template definiert die Farben, Schriftarten, Schriftgrößen, Hintergrundbilder, Abstände und Aufteilung der Seite und somit alles, was mit dem Erscheinungsbild der Seite zu tun hat.
1.3.5
Erweiterungen (Komponenten)
Jedes System muss erweiterbar sein und mit den Anforderungen wachsen. Unter den Begriff Komponenten fallen Funktionalitäten, die in einen Sinnzusammenhang gehören. Typische Komponenten sind beispielsweise ein Online-Shop, ein User-Manager, ein Newsletter-Verwaltungssystem oder ein Forensystem. Komponenten enthalten die Geschäftslogik Ihrer Seite. Module innerhalb der Komponenten werden genutzt, um die Inhalte in der gewünschten Form im Template zu integrieren. Ein Letzte Neuigkeiten-Modul liefert beispielsweise die Überschriften der neuesten fünf Nachrichten an das Template. Ein anderes Modul ermittelt die Anzahl der User, die gerade online sind, oder die Wetterdaten Ihres aktuellen Wohnortes.
1.3.6
Workflow
Unter Workflow versteht man einen Arbeitsablauf. Der deutsche Dreisatz (stempeln, lochen, abheften) ist ein Beispiel für einen Workflow. Auch ein Rezept zum Backen eines Kuchens ist ein Workflow. Da bei einem CMS meist mehrere Menschen die Inhalte bearbeiten, ist ein gut organisierter Workflow eine echte Hilfe.
23
Sandini Bib 1 Begriffe und Konzepte
Manchmal spricht man in diesem Zusammenhang auch von Arbeitsvorräten, die ein bestimmter User hat. Beispielsweise sieht der Editor eine Liste von geposteten Neuigkeiten, die er auf Richtigkeit zu untersuchen hat. Nach der Prüfung schaltet er die Neuigkeiten 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. Dazu gehören beispielsweise der Titeltext im Browserfenster, Schlüsselwörter für Suchmaschinen, 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 installiert ist, Ihre Homepage erstellen und pflegen können. Joomla! ist wie ein Haus, das Sie sich auf einem Grundstück Ihrer Wahl bauen und nach und nach einrichten. Also gewissermaßen eine Immobilie. Halt! Ich rede die ganze Zeit von Mobilität und nun sollen Sie eine Immobilie bauen? Keine Angst, die Immobilie, die Sie bauen werden, befindet sich zwar physikalisch an einem Ort (Ihrem Server), ist aber von jedem anderen Ort aus zugänglich. Um eine Immobilie bewohnbar zu machen, brauchen Sie lebensnotwendige Versorgungsleistungen wie Heizung, Strom und Wasserversorgung. Das ist der Grund, warum Ihr Joomla! in einem möglichst sicheren Server deponiert wird, bei dem hoffentlich nie der Strom ausfällt. Wie bei einem Haus haben Sie auch in Joomla! eine bestimmte Raumaufteilung. Sie haben einen Raum zum Repräsentieren, einen zum Kochen und Reden, einen zum Arbeiten und einen ganz privaten, den Sie nur guten Freunden zeigen. Vielleicht haben Sie auch einen großen Raum, der alle Bereiche integriert. Egal für welche Raumaufteilung Sie sich entscheiden – Sie müssen Ihr Haus möblieren, mit einem schönen Fußboden versehen, die Wände tapezieren, ein paar Bilder an die Wand hängen und natürlich auch regelmäßig sauber machen. Die vielen Gäste hinterlassen ja Spuren, die nicht immer erwünscht sind. Damit Besucher Ihr Haus auch finden, braucht es eine Adresse, unter der es gefunden werden kann. Diese Adresse muss möglichst vielen Menschen bekannt sein. Da es im Internet kein Einwohnermeldeamt gibt, müssen Sie sich selbst um das Thema »Wie werde ich gefunden« kümmern. Vielleicht haben Sie um Ihr Haus herum auch einen Garten mit verschiedenen Eingangstoren – einem offiziellen Eingangsportal, einem Hintereingang und vielleicht noch einer kleinen verwitterten Gartenpforte für die guten Freunde.
24
Sandini Bib 1.4 Joomla! als Immobilie?
Vielleicht mögen Sie ja solche Häuser gar nicht und benutzen eher Bauwagen, Zelte, Wohnmobile, Hotels oder bevorzugen Wohngemeinschaften. Vielleicht wohnen Sie auch gern zur Miete und wollen sich über diese Dinge keine Gedanken machen. Wenn Sie die letzten Sätze auf Ihre Homepage beziehen, so merken Sie schon, dass es wichtig ist zu wissen, was Sie wollen, wer Sie sind und wie Sie Ihrer Umwelt erscheinen wollen. Man kann nicht nicht kommunizieren! Man kann aber sehr schnell falsch verstanden werden. Also planen Sie Ihr virtuelles Haus im Internet genau. Denken Sie über die Texte und über die Farbgestaltungen nach, über mögliche interaktive Elemente wie einen Kalender oder ein Forum und natürlich einen Bereich, den nur registrierte Benutzer sehen dürfen. Denken Sie an Benutzerführungen, die Benutzer führen und nicht bevormunden, und schauen Sie sich mal um, wie andere es machen. Reden Sie mit den Menschen, die Sie mit Ihrer Homepage ansprechen wollen, und investieren Sie viel Herzblut in diese Dinge, die ganz entscheidend für den Erfolg Ihres Auftritts sind.
1.4.1
Joomla!-Versionen
Bei Joomla! gibt es wie bei jeder Software verschiedene Entwicklungsstufen. Das Joomla!-Team veröffentlichte am 1.9.2005 eine Roadmap13 und startete mit der Version Joomla! 1.0, mit der sich auch dieses Buch befasst. Die erste Joomla!-Version erhält konsequenterweise die Nummer 1.0, um nicht mit bestehenden Mambo-Versionen verwechselt zu werden. Die Version 1.0 ist eine überarbeitete Version der letzten Mambo-Version 4.5.2.3. Die Überarbeitung bezieht sich auf 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 der hö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 Versionsnummer ist meistens kompatibel (mit kleineren Anpassungsarbeiten) mit früheren Versionen. 13 http://www.joomla.org/content/view/14/28/.
25
Sandini Bib 1 Begriffe und Konzepte
Z = die Maintenance Release-Nummer – sie wird immer dann hochgezählt, wenn
Fehler behoben und Sicherheitslücken gestopft werden. Eine Erhöhung dieser Nummer bedeutet nur kleinere Änderungen und sehr kleine neue Features. Diese Versionen sind voll kompatibel mit den Versionen der gleichen X- und Y-Nummer. Ein Full Release ist eine Änderung in der X- und Y-Systematik. Hier wird es Alphaund Beta-Testperioden geben. Die Länge der Testperioden ist nicht festgelegt und liegt im Ermessen des Entwicklerteams. Beta-Versionen sollten mindestens drei Wochen zum Testen bereitstehen, um Komponentenentwicklern die Chance zu geben, 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 guten Orientierungsrahmen dar. 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
Joomla 1.1
Q4 2005 / Q1 2006
Fehlerbeseitigungen und Sicherheitspatches 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 Berechtigungserweiterungen – Teil 1: Hier soll die Möglichkeit eingebaut werden, Benutzergruppen hinzuzufügen und zu verändern. Der Administrator soll in der Lage sein, jeder Gruppe einzelne Berechtigungen zuweisen zu können. Also beispielsweise darf die Gruppe A das Template einer Seite verändern, Gruppe B aber nicht.
26
Sandini Bib 1.4 Joomla! als Immobilie?
Berechtigungserweiterungen – Teil 2: Hier sollen Zugriffsberechtigungen auf Objektebene möglich sein. Also beispielsweise darf eine Kategorie von Gruppe A nur angesehen, von Gruppe B aber geändert werden. WCAG Priorität 1-Kompatibilität: Barrierefreiheit ist ein wichtiges Thema, dessen Umsetzung 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 sollen14 (siehe auch Kapitel 6). Erreicht werden sollen diese Standards durch die komplette Trennung des erzeugten HTML-Codes von der Geschäftslogik in den Programmen dahinter. Google Summer of Code Projects: Im Jahre 2005 hat die Firma Google15 talentierte Studenten und ihre Ideen zu bestimmten Open Source-Projekten mit jeweils 4.500 $ unterstützt. Die Ergebnisse dieser Projekte werden in Joomla! nach und nach integriert werden. Zu diesen Projekten gehören u.a.: Zugriff auf das Dateisystem von Joomla! über eine definierte Schnittstelle von
anderen Programmen aus ein System, um Updates zu bemerken und einzuspielen Inhaltsversionskontrolle, um bei geschäftlichen Anwendungen die Änderungen
zurü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 Seiten
sicherzustellen 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.
27
Sandini Bib 1 Begriffe und Konzepte
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 komplizierte
Template-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 Projektgeschichte bedingt basieren diese Seiten meistens noch auf dem Mambo CMS. Mambo wird seit Jahren vom Joomla!-Entwicklungsteam entwickelt, so dass man sie durchaus als Referenzen heranziehen kann.
28
Sandini Bib 1.4 Joomla! als Immobilie?
Joomla.org In der weiteren Entwicklung von Joomla! wird unter anderem ein Schwerpunkt auf Barrierefreiheit gelegt. Auf joomla.org können Sie beispielsweise bereits die Schriften per Mausklick in verschiedenen Größen darstellen.
Abbildung 1.1:
http://www.joomla.org/
Porsche, Brasilien Die Firma Porsche – einen Sportwagenhersteller aus Deutschland – kennen Sie vermutlich.
Abbildung 1.2:
http://www.porsche.com.br/
29
Sandini Bib 1 Begriffe und Konzepte
PC Praxis, Deutschland Ein Computermagazin aus Deutschland:
Abbildung 1.3:
http://www.pc-praxis.de/
BSI DANS, Norwegen Meine Norwegischkenntnisse sind leider nicht besonders fortgeschritten, aber das Design gefällt mir sehr gut.
Abbildung 1.4:
30
http://www.bsi-dmans.no/
Sandini Bib 1.4 Joomla! als Immobilie?
Team Lesotho, Lesotho Die Seite des Entwicklungshilfeteams Aaron & Debbie Smart:
Abbildung 1.5:
http://www.teamlesotho.com/
Eine Auflistung von Joomla!-Websites finden Sie unter anderem auf der Website http://www.joomlapowered.com/.
31
Sandini Bib
Sandini Bib
2
Installation
Die Installation von Joomla! selbst ist eine Sache von zwei Minuten. Damit die Installation überhaupt möglich ist, benötigen Sie als Entwicklungsumgebung das bereits im ersten Kapitel angesprochene Dreamteam Apache, MySQL und PHP. An Apache und MySQL stellt Joomla! keine besonderen Anforderungen. Sie können auch jeden anderen Webserver benutzen, der in der Lage ist, mit PHP zusammenzuarbeiten.1 PHP muss in einer Version höher als 4.1.2 vorliegen und die Unterstützung für MySQL und Zlib muss einkompiliert sein. Zlib ist eine Bibliothek, die es PHP ermöglicht, Dateipakete zu lesen, die mit dem ZIP-Verfahren komprimiert wurden. Die Installation muss auf einem Server stattfinden, der über das Internet erreichbar ist, also in der Regel einem Server bei einem Internetprovider. Bevor Sie sich in die Wildnis des Internets begeben, sollten Sie erst mal lokal auf Ihrem PC üben. Das hat den Vorteil, dass erstens keine Verbindungsgebühren anfallen, dass es zweitens sehr schnell ist und dass Sie drittens in aller Ruhe alles ausprobieren können. Vielleicht haben Sie ja zu Hause sogar ein kleines PC-Netzwerk. Dann können Sie Joomla! auf einem PC installieren und vom anderen PC darauf zugreifen. Um die Beschaffung der benötigten Downloads ein wenig zu erleichtern, habe ich alle Downloads, die in diesem Buch besprochen werden, auf der beiliegenden CD und auf der Website zum Buch2 zusammengestellt. Im Anhang des Buches finden Sie eine Liste der Dateipakete. Für eine lokale Installation sind diese Dateien durchaus geeignet, da sich damit die Beispiele im Buch gut nachvollziehen lassen. Denken Sie aber daran, dass es vermutlich aktuellere Versionen auf den jeweiligen Projektseiten im Internet gibt. Wenn Sie Joomla! in the wild, also auf einem Server im Internet, installieren, sollten Sie immer die letzte stabile Version verwenden.
1 2
http://de.wikipedia.org/wiki/Webserver. http://www.alternative-unternehmensberatung.de.
Sandini Bib 2 Installation
2.1
Lokale Serverumgebung einrichten
Um Joomla! lokal auf Ihrem PC installieren zu können, müssen Sie die entsprechende Serverumgebung bereitstellen.
2.1.1
Windows
Windows ist sehr benutzerfreundlich und weit verbreitet. Über 90 % aller PCs arbeiten mit Windows als Betriebssystem. Leider sind weder der Webserver Apache noch die Datenbank MySQL oder PHP im Lieferumfang enthalten. Sie können jedes dieser Programme einzeln installieren, Sie können allerdings auch auf ein vorkonfiguriertes Paket zurückgreifen. Das schont die Nerven und ist einfach praktisch. Melden Sie sich auf Ihrem System im Administratormodus an. Falls Sie nicht wissen, ob Sie Administratorrechte haben, sehen Sie in START -> SYSTEMSTEUERUNG -> BENUTZERKONTEN nach und ändern Sie die Rechte gegebenenfalls (Abbildung 2.1).
Abbildung 2.1:
Benutzerkonten in Windows XP
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 Apache, MySQL, PHP, Perl und diversen sinnvollen Erweiterungen und stellen sie auf ihrer Homepage3 als ZIP-Archiv für gängige Betriebssysteme zur Verfügung. Das ist von immensem Vorteil für Menschen wie Sie und mich, da wir ja in erster Linie an 3
34
http://www.apachefriends.org/.
Sandini Bib 2.1 Lokale Serverumgebung einrichten
Joomla! interessiert sind und nicht so sehr daran, wie das Drumherum funktioniert. Außerdem kann man die ganze Installation mit einem Mausklick wieder rückstandsfrei vom Windows-PC entfernen. Jetzt aber los: Laden Sie sich die Datei xampplite-win32-1.4.15.zip von der Buch-CD oder aus dem Web.4 Packen Sie die Datei auf der Laufwerksebene eines beliebigen Laufwerkes aus. Es entsteht ein Verzeichnis xampplite (Abbildung 2.2).
Abbildung 2.2: xampplite-Verzeichnis Doppelklicken Sie auf die Datei setup_xampp.bat im xampplite-Verzeichnis (Abbildung 2.3). Xampp macht selbst keine Einträge in die Windows-Registry und setzt auch keine Systemvariablen. Jetzt können Sie den Apache starten. PHP wird dabei als Modul mitgestartet. Doppelklicken Sie auf die Datei [Laufwerk]:\xampplite\apache_start.bat. Es öffnet sich eine Kommandoaufforderung, die anzeigt, dass Apache gestartet wurde (Abbildung 2.4).
4
Die URLs für den Download finden Sie im Anhang.
35
Sandini Bib 2 Installation
Abbildung 2.3: setup_xampp.bat ausführen AchtungAchtung Die Kommandoaufforderung können Sie minimieren, Sie dürfen sie aber nicht schließen, denn dadurch würde der Apache-Webserver heruntergefahren werden.
Abbildung 2.4: Start Apache-Webserver Starten Sie MySQL mit einem Doppelklick auf die Datei [Laufwerk]:\xampplite\mysql_start.bat. Im Gegensatz zu Apache gibt es hier ein separates Script zum Herunterfahren. Es heißt mysql_stop.bat und Sie können MySQL damit regulär beenden (Abbildung 2.5).
36
Sandini Bib 2.1 Lokale Serverumgebung einrichten
Abbildung 2.5: Start MySQL Öffnen Sie Ihren Internetbrowser und geben Sie http://127.0.0.1/ oder http://localhost/ ein. Danach sollten Sie die XAMPP-Startseite sehen. Klicken Sie auf den Link DEUTSCH und es zeigt sich folgende Seite:
Abbildung 2.6: Startseite XAMPP für Windows Das Dokumentenverzeichnis für Ihre Homepage ist [Laufwerk]:\xampplite\htdocs. In diesem Verzeichnis liegen alle von einem anderen Rechner im Internet zugänglichen Seiten. Lesen Sie die beigelegte readme_de.txt-Datei. Hier finden Sie weitere Informationen zu den benötigten Passwörtern. Wenn Sie das Paket deinstallieren wollen, stoppen Sie alle laufenden Server und löschen einfach das xampplite-Verzeichnis.
2.1.2
Linux
Bei Linux liegen die Dinge meist einfacher. Es gibt verschiedene Distributionen mit verschiedenen Standardkonfigurationen. Meist ist unser Dreamteam vorinstalliert und muss nur gestartet werden. Es besteht auch die Möglichkeit, eine XAMPP-Ver-
37
Sandini Bib 2 Installation
sion für Linux zu installieren. Meines Erachtens ist es hier allerdings sinnvoller, auf die Originalprogramme zurückzugreifen. Die Installation erfolgt mittels Paketmanager 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 die entsprechenden Pakete zur Installation aus und lassen Sie sie durch YaST installieren. Im Einzelnen handelt es sich um die Pakete: apache2, apache2-devel, apache2-mod_php4 mysql, php4-mysql
Sie finden diese Pakete über die Oberfläche von YaST (Abbildung 2.7) auf den Datenträgern Ihrer SUSE-Distribution oder auf speziellen Paketseiten im Internet.5
Abbildung 2.7: YaST, von einem Windows-PC aus in einer Shell aufgerufen 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 Parameter erhalten Sie mit help.
5
38
http://www.rpmseek.com/.
Sandini Bib 2.2 Auf einem virtuellen Server im Netz
Debian /Ubuntu Bei Debian und auch Ubuntu heißt das Mittel der Wahl apt. Mit Hilfe des Programms apt können Sie Apache, MySQL und PHP installieren. apt-get install [paketname]
Im Einzelnen handelt es sich um die Pakete: apache-common – support files for all Apache webservers php4 – a server-side, HTML-embedded scripting language mysql-common – mysql database common files (e.g. /etc/mysql/my.cnf) mysql-server – mysql database server binaries
Sie finden diese Pakete automatisch über apt im Internet oder auf der DebianCD/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 Sie meist einen Shell-Zugang und die freie Wahl der Linux-Distribution, die Sie benutzen wollen. Außerdem ist das System vorkonfiguriert und enthält bereits alle notwendigen Dateipakete und Konfigurationen. Für die Konfiguration dieser Server werden meist spezielle Administrationsoberflächen wie Confixx6 oder Visas7 benutzt. Mit diesen Tools können Sie Ihren Server und die Dienste Apache und MySQL bequem über eine Browseroberfläche starten, stoppen und konfigurieren.
2.2
Auf einem virtuellen Server im Netz
Dieses Thema ist sehr komplex, da es mittlerweile eine unüberschaubare Anzahl von Anbietern und eine noch unüberschaubarere Kombination von installierten Apache-, PHP- und MySQL-Versionen und Webspace-Verwaltungstools wie Confixx und Visas gibt. Knackpunkte sind: ein eventuell in der php.ini aktivierter PHP-Safe Mode, bei Apache untersagte Umformung von URLs wegen der Nichtaktivierung der so
genannten Rewrite Engine oder Verzeichnisrechte unter Linux, die anders gesetzt werden als unter Windows.
6 7
http://www.sw-soft.com/de/products/confixx/. http://www.visas.de/.
39
Sandini Bib 2 Installation
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 und entpacken Sie sie in einem temporären Verzeichnis. 2. Laden Sie die gerade ausgepackten Dateien per FTP-Programm auf Ihren angemieteten Server. Die Dateien müssen im öffentlich zugänglichen Verzeichnis installiert werden. Meistens heißen diese Verzeichnisse htdocs, public_html oder nur html. Sie können innerhalb des Verzeichnisses ein Unterverzeichnis angeben, in das Sie Ihr Mambo installieren. Viele Webhoster erlauben, dass Sie Ihren angemieteten Domainnamen auf ein Verzeichnis linken. Dieser Name ist wichtig, um Ihre Website über den Browser aufrufen zu können. 3. Sie müssen herausbekommen, wie Ihre Datenbank heißt. Meistens sind eine oder auch mehrere Datenbanken in Ihrem Webhosting-Paket enthalten. Manchmal liegen Benutzername, Datenbankname und Passwort fest, manchmal müssen Sie es erst einrichten. Dazu steht Ihnen meistens eine browserbasierte Konfigurationsoberfläche zur Verfügung. Ein Beispiel einer solchen Oberfläche sehen Sie in Abbildung 2.8. Sie brauchen diese Daten für den Webinstaller von Joomla!.
Abbildung 2.8: Webkonfigurator von Host Europe Nachdem Sie die Daten auf Ihren Server geladen haben und im Besitz der Zugangsdaten 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 Sie das Paket von der CD oder aus dem Web Joomla_1.0.0-Stable.tar.gz und speichern Sie es auf Ihrem System.8
8
40
Downloadmöglichkeit siehe Anhang.
Sandini Bib 2.3 Joomla! installieren
2.3.1
In welches Verzeichnis installieren?
Sie müssen sich überlegen, ob Sie Ihr Joomla! direkt in das Dokumentenverzeichnis oder in ein Unterverzeichnis installieren wollen. Das ist wichtig, weil Sie vermutlich einen möglichst kurzen URL zu Ihrer Homepage möchten.
Beispiel Wenn Sie Joomla! direkt in /htdocs auspacken, so startet Ihre Webseite, wenn Sie auf Ihrem lokalen PC http://localhost/ bzw. auf Ihrem Server im Internet Ihren Domainnamen http://www.meinehomepage.de/ aufrufen. Erstellen Sie unter /htdocs/ noch ein weiteres Verzeichnis, beispielsweise /htdocs/Joomla100/, und entpacken das Paket dort, so müssen Sie im Browser http://localhost/Joomla100/ eingeben. Lokal ist das kein Problem, auf einer produktiven Seite im Internet sieht das nicht so gut aus. In Ihrer lokalen XAMPPLITE-Umgebung unter Windows liegen bereits einige HTML-Dateien und Unterverzeichnisse in /htdocs, die beispielsweise die Begrüßungsseite von XAMPPLITE anzeigen (Abbildung 2.6). In Ihrer lokalen Linux-Umgebung wird Ihnen ebenfalls eine Startseite, abhängig von der Distribution und den Webservereinstellungen, angezeigt.
2.3.2
Lokale Installation von Joomla!
Verzeichnis Ich schlage vor, Sie erstellen sich ein Unterverzeichnis mit dem Namen Joomla100 unterhalb Ihres Dokumentenverzeichnisses. In Windows nehmen Sie dazu den Windows-Explorer, in Linux entweder die Shell, den KDE Konqueror oder den Midnight Commander. [Ihr Webspace]/htdocs/Joomla100/
Im Windows-Explorer sollte Ihr Verzeichnisbaum nun folgendermaßen aussehen (Abbildung 2.9).
Abbildung 2.9: Joomla!-Verzeichnis
41
Sandini Bib 2 Installation
Wenn Sie in Ihrem Browser http://localhost/Joomla100/ eingeben, erscheint in der XAMPPLITE-Variante eine Seite mit einem leeren Inhaltsverzeichnis (Abbildung 2.10).
Abbildung 2.10: Apache-Verzeichnisanzeige Unter Linux oder bei einer anderen Konfiguration kann es sein, dass Sie eine Meldung erhalten, der zufolge Sie keinen Zugriff auf dieses Verzeichnis haben. Das hängt mit der Konfiguration des Webservers zusammen. Aus Sicherheitsgründen ist die automatische Verzeichnisanzeige oft deaktiviert. Ein potentieller Angreifer könnte aus diesen Informationen viele interessante Schlüsse über die Verzeichnisstruktur und die Dateien auf Ihrer Homepage ziehen und sie dann gezielt angreifen. Meistens dürfen Sie auf die entsprechende Konfigurationsdatei des Apache-Webservers aus Sicherheitsgründen nicht zugreifen. Falls doch, sollten Sie aus oben genannten Gründen die Inhaltverzeichnisse deaktiviert lassen.
Entpacken Jetzt können Sie endlich das Dateipaket Joomla_1.0.0-Stable.tar.gz in das vorbereitete Verzeichnis auspacken. Das Dateipaket ist ein so genannter komprimierter Tarball. Unter Windows XP können Sie dieses Paket direkt mit dem Datei-Explorer auspacken. Unter allen anderen Windows-Versionen benötigen Sie ein separates Packprogamm 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 Verzeichnisse und Dateien (Abbildung 2.11).
42
Sandini Bib 2.3 Joomla! installieren
Abbildung 2.11: Joomla!-Quellcodedateien Diese Struktur ist auf allen Betriebssystemen die gleiche. Unterschiede bestehen nur in der Darstellung. In Abbildung 2.12 sehen Sie beispielsweise eine Darstellung in einem FTP-Client. Im linken Fenster sehen Sie Ihren lokalen PC, im rechten Fenster Ihren entfernten Webserver.
Abbildung 2.12: Joomla!-Dateien im FTP-Client WSFTP
43
Sandini Bib 2 Installation
Joomla!-Webinstaller Ab jetzt geht alles blitzschnell, weil der Joomla!-Webinstaller das Kommando übernimmt. Rufen Sie den URL http://localhost/Joomla100/ auf. Der Webinstaller meldet sich in englischer Sprache mit dem pre-installation check. Dieser Check soll Ihnen helfen, zu beurteilen, ob Ihre Umgebung für die Installation von Joomla! geeignet ist.
Abbildung 2.13: Joomla!-Webinstaller mit pre-installation check Die Installation des Webinstallers erfolgt in mehreren Schritten. Wenn Sie überwiegend grüne Testergebnisse sehen, so ist das schon mal ein gutes Zeichen. Abhängig von Ihrer Konfiguration kann es hier Unterschiede geben. Der Webinstaller berücksichtigt die Konfigurationseinstellungen von Apache, PHP und dem Betriebssystem. Auf Linux-Systemen sollten Sie auf Schreibberechtigungen achten. Wenn Sie mit der XAMPPLITE-Lösung unter Windows arbeiten, sollte es bei Ihnen so aussehen wie bei mir. Klicken Sie auf NEXT und Sie erhalten die Anzeige der GNU/GPL-Lizenz, die Sie durch Ankreuzen des entsprechenden Feldes akzeptieren müssen. HinweisHinweis Eine deutsche Übersetzung dieser Lizenz finden Sie unter http:// www.gnu.de/gpl-ger.html.
44
Sandini Bib 2.3 Joomla! installieren
Schritt 1 (Step 1) Nach diesen Vorbereitungen gelangen Sie nun zum Schritt 1 des Webinstallers. In einem Formular werden die Datenbankparameter abgefragt (Abbildung 2.14). In der XAMPPLITE-Serverumgebung können Sie beliebig viele Datenbanken anlegen und haben einen MySQL-Benutzer mit dem Namen root ohne Passwort. Aus diesem Grund kann ich im Installer den Namen einer Datenbank angeben, die noch nicht existiert. Der Installer legt sie einfach an. In einer produktiven Umgebung werden Ihnen die Datenbankzugangsdaten in der Regel vorgegeben.
Abbildung 2.14: Webinstaller, Schritt 1 Tragen Sie bei einer lokalen XAMPPLITE-Installation folgende Werte ein: Host Name: localhost MySQL Username: root MySQL Password: [leer lassen – Achtung Sicherheitsrisiko !!] MySQL Database Name: joomla100
Der MySQL Table Prefix ist eine praktische Sache. Vor jede Tabelle, die der Webinstaller erzeugt, schreibt er den Text, den Sie in das Prefix-Feld eingeben. Standardmäßig schlägt der Webinstaller jos_ vor.
45
Sandini Bib 2 Installation
HinweisHinweis Das hat einen einfachen Grund. Manchmal erhalten Sie bei einem Internetprovider nur eine MySQL-Datenbank. Wenn Sie nun zwei Joomla!-Seiten betreiben wollen, hätten Sie ein Problem, da Sie ja die Tabellen nicht voneinander unterscheiden können. Durch einen Präfix, der dem Tabellennamen voran gestellt wird, ist es möglich, die Tabellen verschiedener Joomla!-Installationen auseinander zu halten (jos_mueller_ oder jos_schulze_). 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 Datenbank 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. Die Backups werden in speziellen Backup-Tabellen gespeichert. Wenn Sie hier ein Kreuzchen setzen, werden die alten Backup-Tabellen ersetzt. Install Sample Data: Diese Auswahl ist standardmäßig angekreuzt. Wenn Sie den Haken dort lassen, so wird Ihre Homepage mit Beispieldaten gefüllt, damit Sie eine Vorstellung vom späteren Aussehen erhalten. Füllen Sie Ihre Installation mit diesen Beispieldaten. Wir werden im weiteren Verlauf des Buches damit arbeiten. Klicken Sie auf den Button NEXT. Nach einer Sicherheitsabfrage, ob die Installation wirklich durchgeführt werden soll, legt der Webinstaller die Datenbank und die entsprechenden Tabellen an.
Schritt 2 (Step 2) In Schritt 2 legen Sie den Namen Ihrer Homepage fest (Abbildung 2.15).
Abbildung 2.15: Webinstaller Schritt 2
46
Sandini Bib 2.3 Joomla! installieren
Dieser Name taucht in der Titelzeile des Browserfensters auf, wenn jemand Ihre Homepage aufruft. Der Name wird auch an verschiedenen anderen Stellen benutzt, beispielsweise bei Bestätigungsmails an registrierte Benutzer. Wählen Sie einen aussagekräftigen Namen. Ich nehme für unsere Beispielseite den Namen 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 Einstellungen sind wichtig, um dem Joomla!-System die Orientierung auf Ihrem Server zu erlauben (Abbildung 2.16).
Abbildung 2.16: Webinstaller Schritt 3 URL: Das ist der URL, unter dem Ihre Homepage erreichbar ist. Path: Das ist der Dateipfad auf dem Server, der zu Ihrer Seite führt. In unserem Fall ist es die Windows-Umgebung. Your e-Mail: Tragen Sie hier Ihre E-Mail-Adresse ein. Als Administrator erhalten Sie hin und wieder Post von Ihrer Homepage. Admin Password: Joomla! schlägt ein Passwort vor. Sie sollten es übernehmen oder ein ähnlich kompliziertes Passwort bei einer Internet-Installation wählen. Bei der lokalen Installation können Sie sich etwas Einfacheres ausdenken.
47
Sandini Bib 2 Installation
Die beiden Auswahlmöglichkeiten bei den Datei- und Verzeichnisrechten sollten Sie übernehmen. Bei der Installation setzt Joomla! automatisch Zugriffsrechte für Teile des Systems, in denen Dateien hochgeladen oder Programmteile installiert werden. Sie sollten alle vorgeschlagenen Werte übernehmen und um Ihre E-Mail-Adresse ergänzen.
Schritt 4 (Step 4) Der vierte und letzte Schritt gratuliert zur erfolgreichen Installation. Ich gratuliere auch! In roter, fetter Schrift steht dort, dass Sie bitte das Verzeichnis mit dem Namen Installation 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 den Usernamen und das Passwort am besten auf einen Zettel. HinweisHinweis Beachten Sie aber, dass Joomla! ein neues Passwort vergibt, wenn Sie von Schritt 4 noch einmal zurückgehen – etwa wenn Sie eine Einstellung ändern wollen oder weil die Installation doch nicht richtig geklappt hat. Für den Fall, dass Sie das Administratorpasswort vergessen/verlegt haben sollten, finden Sie im Anhang eine Lösung.
Abbildung 2.17: Webinstaller Schritt 4 Die Installation ist jetzt vollbracht und Sie haben die Wahl zwischen VIEW SITE (Homepage ansehen) und ADMINISTRATION (Administrationsoberfläche).
48
Sandini Bib 2.3 Joomla! installieren
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 Sie jetzt noch einmal einen freundlichen Hinweis, es zu löschen und anschließend die Seite zu aktualisieren. Das Ergebnis sieht sehr eindrucksvoll aus.
Abbildung 2.18: Ihre Homepage direkt nach der Installation Schauen Sie sich in Ruhe um, klicken Sie ein paar Möglichkeiten durch und versuchen Sie sich zu orientieren. In dieser mit Beispieldaten gefüllten Website werden viele Funktionalitäten von Joomla! genutzt und diese werden wir uns in Ruhe ansehen.
49
Sandini Bib
Sandini Bib
3
Ein Rundgang durch Ihre neue Website
Nachdem Sie nun Ihre Website installiert und vorsichtig erkundet haben, können wir uns das Ergebnis gemeinsam ansehen. Auf den ersten Blick sehen diese Seiten ein wenig verwirrend aus. Grundsätzlich teilen sie sich in ein Frontend und ein Backend. Das Frontend sieht der Kunde oder der Websurfer und das Backend sehen nur die Entwickler bzw. Administratoren der Website.
3.1
Frontend
Wenn Sie sich ein wenig Zeit nehmen, werden Sie feststellen, dass viele verschiedene Funktionen in die Seite integriert sind. Um eine bessere Übersicht zu erhalten, habe ich die Bereiche auf der Seite markiert und beschriftet (Abbildung 3.1). Die Kunst des Webdesigns besteht jetzt darin, die für Ihre Website wichtigen Elemente zu erkennen, die unwichtigen wegzulassen und alles in einer für den Benutzer logischen, schnell überschaubaren und ansehnlichen Form darzustellen. Das Ergebnis ist immer ein Kompromiss aus Funktionsvielfalt und Gestaltung. Vom Aufbau her erinnert diese Struktur an eine Tageszeitung oder eine Portalseite wie Yahoo! oder Freenet. Es gibt Kästen links und rechts mit genau definierten Inhalten. In der Mitte stehen Nachrichten. Das Layout der Seite bestimmt ein so genanntes Template. Templates sind austauschund änderbar, das heißt, sie können die gleichen Inhalte in verschiedenen Layouts anzeigen. Jede Tageszeitung würde Sie um diese Möglichkeit beneiden. Gehen wir das Beispiellayout mal genauer durch. Es gibt vier verschiedene Kategorien von Bereichen auf der Seite. Menüs Funktionen Inhalte Dekorative Elemente
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
Abbildung 3.1:
3.1.1
Struktur der Beispielwebsite
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 Beispieldaten vier Menüarten vordefiniert. Sie können beliebig viele weitere Menüs hinzufügen. Das vierte Menü wird in unserem Beispiel übrigens nicht gezeigt. Es handelt sich um das so genannte Usermenu, das der registrierte Benutzer sieht, nachdem er sich eingeloggt hat.
Oberes Menü
Abbildung 3.2: Top Menu Das obere Menü heißt in Joomla! Top Menu (Abbildung 3.2). Es befindet sich möglichst weit oben und soll dem Benutzer einen Schnellzugriff auf die wichtigsten Inhalte der Seite geben. In Deutschland stehen in solchen Menüs oft die Begriffe Produkte, Kontakt, Impressum.
52
Sandini Bib 3.1 Frontend
Hauptmenü Das Hauptmenü (Main Menu) ist der zentrale Navigationspunkt der Seite (Abbildung 3.3). Hier sollte es immer eine Möglichkeit geben, wieder auf die erste Seite zurückzukommen. Das Menü sollte auf jeder Seite der Website an genau derselben Stelle wieder erscheinen. Das Hauptmenü ist ein wichtiger Orientierungspunkt für den Benutzer.
Abbildung 3.3: Hauptmenü
Zusätzliches Menü
Abbildung 3.4: Zusätzliches Menü Ein zusätzliches Menü (Other Menu) kann an verschiedenen Stellen auftauchen (Modulpositionen). Abhängig vom Inhalt und Kontext der Seite kann es sinnvoll sein, zusätzliche Menüpunkte anzubieten, beispielsweise in einer Shopkomponente.
3.1.2
Inhalte
Da sind sie endlich. Die Inhalte! Der Content, den wir managen wollen.
Was ist Inhalt? Inhalt kann eine Nachricht sein, ein redaktionell bearbeiteter Artikel, eine statische Seite mit Erklärungen. Inhalt kann auch eine dynamische Linkliste wie Google1 sein, ein Shop wie Dell2 oder ein Flohmarkt wie eBay3. 1 2 3
http://www.google.de/. http://www.dell.de/. http://www.ebay.de/.
53
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
Inhalt kann auch etwas völlig Dynamisches, für jeden Offenes sein. Die freie Enzyklopädie Wikipedia4 beispielsweise benutzt zur Verwaltung ihrer Inhalte ein System, das es jedem erlaubt, die Inhalte zu ändern. Diese spezielle Form der Inhaltsverwaltung nennt sich Wiki.5 Jeder darf die Inhalte verändern und sogar löschen. Es funktioniert bisher erstaunlich gut. Das Gegenteil von Wikis sind statische Inhalte, die, einmal geschrieben, für lange Zeit Gültigkeit haben, dieses Buch beispielsweise. Es wird in Bezug auf die Versionsnummern der behandelten Software veralten, bietet aber den Vorteil, dass es das Thema umfassend im Zusammenhang erklärt und beleuchtet. Ich erzeuge Inhalte in einer bestimmten Form und betreibe somit auch eine Form von Content Management. Prospekte, Flyer, Aufkleber, Geschäftsberichte, Betriebsanleitungen sind ebenfalls meist statischer Natur. Sie werden für ein bestimmtes Ereignis erstellt und sind dann irgendwann veraltet oder auch schlicht falsch. Viele ältere Websites bestehen ausschließlich aus statischen Elementen. Im Internet ticken die Uhren jedoch ein wenig schneller. Was bei Büchern, Prospekten und anderen Druckerzeugnissen wohlwollend toleriert wird (schließlich kann ich z.B. das Buch auch am Strand und in der U-Bahn lesen), wird von Website-Besuchern als Mangel empfunden. Für das Image Ihrer Firma gibt es vermutlich nichts Schlimmeres als 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 vom verfügbaren Endgerät, der verfügbaren Bandbreite und vielen anderen Dingen ab, die wiederum abhängig vom Benutzer sind. Der Empfänger der Nachricht spielt eine zunehmend wichtigere Rolle. Wer ist eigentlich Ihre Zielgruppe? Es gibt eine sehr einfache Aussage, die lautet: Content ist King! Auf den Inhalt kommt es an. Jede Webagentur würde jetzt vermutlich milde lächeln und sich an die tägliche Arbeit zur nächsten Website machen. Millionenschwere Werbeetats für Produkte wie Tiefkühlspinat oder Bier sind der beste Beweis dafür, dass eine erfolgreiche Kommunikation auch ohne speziellen Inhalt funktioniert. Grundsätzlich ist die Aussage, dass der Inhalt das Entscheidende ist, aber richtig. Wenn Sie nichts zu sagen oder anzubieten haben, wird niemand Ihnen freiwillig zuhören. Da Sie vermutlich keinen millionenschweren Werbeetat haben, können Sie die Menschen auch nicht dazu zwingen. Inhaltsleere Seiten können noch so schön auf noch so vielen Endgeräten zur Verfügung stehen. Kein Mensch wird sie freiwillig besuchen.
4 5
54
http://www.wikipedia.de/. http://de.wikipedia.org/wiki/Wiki/.
Sandini Bib 3.1 Frontend
6
HinweisHinweis Überlegen Sie sich die Inhalte Ihrer Seite genau! Jeder, wirklich jeder auf der Welt kann sie lesen und im Zweifel gegen Sie verwenden. Sie können Opfer von Abmahnungsanwälten oder enttäuschten Kollegen oder anderen unangenehmen Dingen werden.6 Auf der anderen Seite ist das natürlich auch ein unschlagbarer Vorteil: Jeder auf der Welt kann Ihre Inhalte lesen, seine Meinung dazu sagen und mit Ihnen Kontakt aufnehmen. Welch eine Chance! Sie sollten sich beider Dinge bewusst sein, wenn Sie die Inhalte konzipieren.
Erste Seite/Frontpage Inhalte werden auf der ersten Seite Ihrer Website angekündigt (Abbildung 3.5).
Abbildung 3.5: Frontpage Inhalte haben einen Autor, ein Erstellungsdatum, eine Überschrift, einen Aufmacher und vielleicht noch ein Bild. Der Aufmacher soll den Besucher neugierig machen und ihn dazu bringen, auf einen READ MORE ...-Link zu klicken, um die gesamte Nachricht zu lesen. 6
http://www.internetfallen.de/homepagebetreiber/homepagebetreiber.html.
55
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
Neueste Nachrichten/Am meisten gelesene Nachrichten Die Nachricht kann jetzt in verschiedener Form angezeigt werden. Die Menschen interessieren sich meist dafür, was das Neueste ist und was die anderen so lesen (Abbildung 3.6). Also hat unser Beispiellayout einen entsprechenden Bereich, in dem immer die letzten fünf Nachrichten stehen, und einen weiteren mit den am meisten gelesenen Nachrichten. Dieser zweite Bereich wird möglich, weil Joomla! sich jeden Aufruf einer Nachricht in der Datenbank merkt und die Zugriffe zählt.
Abbildung 3.6: Letzte Nachrichten/Am meisten gelesene Nachrichten
3.1.3
Werbung
Wenn Ihre Website beliebt ist und die Inhalte stimmen, können Sie Werbeplatz verkaufen. Werbeplatz bedeutet meist Bannerschaltungen. Banner sind kleine Grafiken im gif-, jpg-, png- oder swf-Format, die den Besucher dazu bringen sollen, durch einen Klick auf das Banner Ihre Website zu verlassen. Wenn Sie das wirklich wollen, suchen Sie sich einen Platz in Ihrem Layout und denken Sie daran, ihn als Werbung zu kennzeichnen.
Bannerbereich Der Bannerbereich ist von der Größe her vorgegeben durch die gängigen Banner, in unserem Fall 468 * 60 Pixel (Abbildung 3.7).
Abbildung 3.7: Bannerbereich
3.1.4
Funktionen
Unter Funktionen versteht man Elemente, die benötigt werden, um Interaktivität zu ermöglichen. In Joomla! werden diese Funktionen mit dem Begriff Modul bezeichnet. Ein Modul ist etwas, das auf der Webseite einen Platz einnimmt und eine bestimmte Funktion erfüllt.
56
Sandini Bib 3.1 Frontend
Login-Bereich Ein Login-Modul ist wichtig, wenn Sie Ihre Website in einen öffentlichen und einen geschützten Bereich aufteilen wollen. Der Besucher muss dann die Möglichkeit haben, sich zu registrieren und anzumelden. Vielleicht vergisst er auch mal sein Passwort. Das Login-Modul sollte alle Situationen berücksichtigen können (Abbildung 3.8).
Abbildung 3.8: Login-Modul
Umfragen Da es hier um Inhalte für gewisse Zielgruppen geht, sollten wir die Gruppe, die sich wirklich auf unserer Website bewegt, hin und wieder nach ihrer Meinung befragen. Das ist die einfachste Art, an verwertbare Meinungen über Ihre Website zu kommen.
Abbildung 3.9: Umfrage-Modul Joomla! hat eine Umfragekomponente integriert, deren Anzeigemodul sich auf der Beispielseite befindet (Abbildung 3.9).
57
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
Wer ist online? Dieses Modul geht klar in Richtung Kommunikation, Community. Nachdem der Benutzer gesehen hat, welche Nachrichten neu und besonders beliebt sind, möchte er natürlich wissen, wer gerade noch so auf der Website unterwegs ist. In diesem Fall wird unterschieden zwischen Gästen und angemeldeten Benutzern (Abbildung 3.10). HinweisHinweis Überlegen Sie sich gut, ob Sie solche Features auf Ihrer Website anbieten wollen. Wenn Sie im Inhalt behaupten, dass Sie die größte Klingelton-Community in Deutschland sind, und sich auf Ihrer Website nur ein Gast tummelt, wirken Sie unglaubwürdig. Wenn Sie dagegen wirklich ständig 10 bis 20 Besucher und angemeldete Benutzer haben, so ist das ein gutes Mittel, um Dynamik zu demonstrieren.
Abbildung 3.10: Wer ist online?
Feeds News-Feeds werden immer beliebter. Es sind standardisierte Sammlungen von Inhalten, die dann weiterverarbeitet werden können. Also gewissermaßen der Inhalt Ihrer Website 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.
Abbildung 3.11: Syndication-Modul
Zurück
Abbildung 3.12: Zurück! Ein kleines Wort mit einer großen Bedeutung und einer Riesenportion Benutzerfreundlichkeit. Nachdem man auf einen Link gedrückt hat, ist es manchmal gar nicht so einfach, wieder genau dahin zurückzukommen, wo man vorher war. Der Zurück- bzw. BACK-Button versucht genau das zu ermöglichen.
58
Sandini Bib 3.1 Frontend
Suchfeld Ähnlich wie der Zurück-Button ist auch das Suchfeld ganz wesentlich für die Benutzerfreundlichkeit einer Website. Viele Seiten haben Suchfelder. Oftmals durchsuchen die Programme hinter den Suchfeldern aber eben nicht alle Inhalte der Seite. Bei Joomla! 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 hervorgehoben wird.
Abbildung 3.13: Suchfeld
3.1.5
Dekorative Elemente
Nach so vielen Funktionen, Modulen und Inhalten stellt sich die Frage nach dem Design, der Corporate Identity, dem Look and Feel der Website. Ein Template stellt das Layout der Seite dar und wird wie eine Schablone über die Inhalte gelegt. Da sich weder über Geschmack noch Schönheit wirklich streiten lässt, gibt es die Möglichkeit, verschiedene Templates für denselben Inhalt zu erstellen. Beispielsweise könnte Ihre Website im Winter anders aussehen als im Sommer oder während der Fußballweltmeisterschaft das Fußball-Outfit haben.7 Grundsätzlich besteht ein Template aus einem oder mehreren Logos, einer bestimmten Farbkombination, ausgewählten Schriftarten und -größen sowie der möglichst geschickten Anordnung der zur Verfügung stehenden Inhalte. Im Beispieltemplate gibt es zwei Logos (Abbildung 3.14 und Abbildung 3.15) und eine Fußzeile (Abbildung 3.16).
Abbildung 3.14: Logo 1
7
Kapitel 6 beschäftigt sich mit dem Erstellen eigener Templates.
59
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
Abbildung 3.15: Logo 2
Abbildung 3.16: Fußzeile
3.1.6
Aussichten
Nach diesem Rundgang und eigenen Erfahrungen beim Klicken können Sie vermutlich nachvollziehen, dass das Verwalten von Inhalten doch eine sehr anspruchsvolle Aufgabe darstellen kann. Wichtig ist dabei vor allem, nicht den Überblick zu verlieren.
3.2
Backend
Die Verwaltung der Seite findet im Backend mit dem Namen Joomla! Administrator statt. 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.17: Joomla!-Administration – Login
60
Sandini Bib 3.2 Backend
Melden Sie sich mit Ihrem admin-Benutzernamen an. Die Benutzerdaten haben Sie bei der Installation im Webinstaller selbst festgelegt.
Abbildung 3.18: Joomla! Administration Sie sehen eine Oberfläche mit Menüs, Icons und Karteireitern – so, wie Sie das von der grafischen Benutzeroberfläche Ihres Betriebssystems gewohnt sind. Die Sprache in Front- und Backend ist noch Englisch. Für das Frontend existieren deutsche Sprachdateien, das Backend dagegen ist derzeit nur in Englisch verfügbar. Das liegt daran, dass die Texte noch im Programmquellcode des Backends stehen. 8
HinweisHinweis Im weiteren Verlauf der Joomla!-Entwicklung (ab Version 1.1.0) sollen die Texte in separate Sprachdateien wandern und dadurch das Backend mehrsprachig werden. Es bestehen bereits heute Möglichkeiten, durch Austausch der Dateien ein deutsches Backend zu erzeugen, diese werden aber bei den weiteren Updates nicht berücksichtigt. Aus diesem Grund rate ich vom Austausch ab und empfehle Ihnen, die Gelegenheit beim Schopfe zu packen und ein wenig Englisch zu lernen. Auch mit sehr schlechten Sprachkenntnissen werden Sie schnell mit der Oberfläche vertraut werden. Außerdem gibt es für solche Fälle noch die Google-Sprachtools8: einfach den zu übersetzenden Text per Copy&Paste ins Formular befördern und dann automatisch übersetzen lassen. Die Übersetzung ist nicht perfekt, hilft aber in 90% der Fälle, die Bedeutung zu erfassen. 8
http://www.google.de/language_tools.
61
Sandini Bib 3 Ein Rundgang durch Ihre neue Website
AchtungAchtung In einer produktiven Umgebung sollten Sie aus Sicherheitsgründen das Verzeichnis [PfadzuJoomla!]/administrator/
mit einer .htaccess-Datei schützen. Durch die große Verbreitung von Joomla! ist anzunehmen, dass bald erste erfolgreiche Versuche unternommen werden, die Administration zu hacken. Eine brauchbare Anleitung 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.
62
Sandini Bib
4
Joomla! anpassen – Customizing
Unter Customizing versteht man das Anpassen eines Standardprogramms an die Bedürfnisse des Benutzers. In unserem Fall sind Sie der Benutzer und das Standardprogramm ist Joomla!, genauer gesagt, das Frontend Ihrer Joomla!-Installation. In der Joomla!-Administration, die im letzten Kapitel angesprochen wurde, können Sie 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 zu verä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 etwa 120 Millionen Menschen mit nicht zu verachtender Kaufkraft, sollten Sie auf Ihrer Website selbstverständlich die Sprache der Zielgruppe sprechen. Wollen Sie ein internationales Publikum ansprechen, sollten Sie natürlich als Standard die englische Sprache beibehalten. Aber auch innerhalb Deutschlands gibt es noch genug Auswahlmöglichkeiten bei der Sprache: neue oder alte Rechtschreibung? Du oder Sie? Slangausdrücke, Denglisch oder seriös? Was ist seriös? Unabhängig davon, wofür Sie sich entscheiden, Sie brauchen eine angepasste Sprachdatei. Als Basis nehmen Sie am besten das, was bereits vorhanden ist.
Sandini Bib 4 Joomla! anpassen – Customizing
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 German Translation Team) unter der Projektleitung von Antonio Cambule.2 Loggen Sie sich, wie im zweiten Kapitel beschrieben, in Ihre Joomla!-Administration ein und klicken Sie auf SITE -> LANGUAGE MANAGER -> INSTALL (Abbildung 4.1).
Abbildung 4.1:
Sprachdatei installieren
Klicken Sie anschließend auf DURCHSUCHEN und wählen Sie zunächst die Datei jos100germanf.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ßer Englisch gibt es jetzt auch German Formal – Sie und Informationen über den Ersteller der Sprachdatei (zum Zeitpunkt der Erstellung des Buches betrieb das Übersetzungsteam noch die Website mamboGTT.de). In dem anderen ZIP-Archiv befindet sich die Sprachversion mit der Anrede Du. Wenn Sie wollen, können Sie auch diese Version installieren. Aber der grüne Haken für die Standardsprache steht noch neben English. Wählen Sie die deutsche Variante aus und klicken Sie auf das Icon PUBLISH rechts über dem Language Manager. An dieser Stelle befinden sich immer die Icons, die Aktionen und Dialoge abschließen.
1 2
64
Downloadmöglichkeit siehe Anhang. http://www.joomla.de/willkommen_beim_deutschen_ubersetzungsteam.html.
Sandini Bib 4.1 Eine andere Sprache für das Frontend
Abbildung 4.2: Sprachauswahl Da außer den Worten auch gravierende Unterschiede in der Darstellung von Zahlen und Datumsangaben bestehen, müssen Sie die entsprechenden Locale-Einstellungen festlegen. 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 auf den Link SEARCH. Es ist eine atemberaubende Mischung aus Deutsch und Englisch auf der Seite zu sehen. Alles, was automatisch per Programm funktioniert, wie beispielsweise das Suchen oder die Anmeldeprozedur, 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 unserem Fall sind die Beispieldaten in Englisch erstellt worden. Aber bevor Sie die Beispielseite jetzt versuchen zu übersetzen, schauen Sie noch einmal 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ürlich ebenfalls auf Englisch. Mit NEW installieren Sie neue Sprachpakete, mit DELETE können Sie sie wieder löschen. Aber interessant ist natürlich der Button EDIT. Wählen Sie die Sprache aus, die Sie sehen wollen, und klicken Sie auf EDIT. Der Language Editor öffnet sich und Sie können online Änderungen vornehmen (Abbildung 4.3).
65
Sandini Bib 4 Joomla! anpassen – Customizing
Blättern Sie mal ein wenig durch die Sprachdatei. Sie bekommen dadurch auch ein Gefühl für die Funktionen und die Struktur der Joomla!-Texte. Das Prinzip der Datei beruht auf PHP-Konstantennamen, die nach der abgekürzten englischen Bedeutung benannt wurden und je nach Sprache mit dem entsprechenden Text gefüllt werden.
Abbildung 4.3: Language Editor Die Konstanten stehen im Programmquellcode, der Inhalt in dieser Datei. Momentan ist die Sprachdatei writeable, also von PHP oder irgendeinem anderen Tool aus änderbar. Wenn Sie der Meinung sind, dass die Übersetzung nun gelungen ist, und ein wenig mehr Sicherheit haben wollen, kreuzen Sie einfach die entsprechende Checkbox an, um die Datei unwriteable zu setzen. Die Schreibrechte werden der Datei entzogen und beim nächsten Mal nur für den Speichervorgang gewährt. (Um die ursprüngliche Rechtesituation wiederherzustellen, müssen Sie die Dateirechte mit Ihrem FTP-Client oder in einer Shell mit dem Befehl chmod ändern.) Wenn Sie den Language Editor wieder verlassen wollen, klicken Sie auf SAVE oder CANCEL. Was müssen Sie nun tun, um beispielsweise den Menüeintrag Search in Suche zu ändern oder das Main Menu in Hauptmenü umzutaufen? Verlassen Sie den Language Editor und klicken Sie auf MENU -> MAINMENU. Sie befinden sich jetzt im Menu Manager. Klicken Sie auf den Link Search (Abbildung 4.4) und editieren Sie ihn in dem daraufhin erscheinenden Formular (Abbildung 4.5).
66
Sandini Bib 4.1 Eine andere Sprache für das Frontend
Abbildung 4.4: Menu Manager Achten Sie noch nicht auf die zahlreichen Konfigurationsmöglichkeiten, sondern ersetzen Sie einfach das Wort Search durch Suche und klicken Sie auf APPLY (zuweisen). In Ihrem Main Menu auf der Website steht jetzt SUCHE!
Abbildung 4.5: Menu Item ändern
67
Sandini Bib 4 Joomla! anpassen – Customizing
4.1.3
Ändern der Menübezeichnung
Um aus dem Main Menu ein Hauptmenü zu machen, öffnen Sie den Modulmanager über MODULES -> SITE MODULES (Abbildung 4.6). Durch einen Klick auf den Link Main Menu erhalten Sie ein Formular wie eben bei dem Menüeintrag.
Abbildung 4.6: Modulmanager Ändern Sie einfach den Text und schon ist aus dem Main Menu ein Hauptmenü geworden.
4.1.4
Ändern des Templates für Ihre Website
Nachdem jetzt alles schon etwas vertrauter ist, wollen Sie Ihre Website natürlich in einem 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 auch Administrator 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 wurde aus der letzten Mambo-Version übernommen und auf Joomla! angepasst. Das madeyourweb-Template von Marc Hinse aus München ist neu dabei. In seinem Blog4 erfahren Sie mehr über seine Templates und erhalten Tipps & Tricks zum Thema Joomla!.
3 4
68
Mehr über Templates finden Sie in Kapitel 6. http://www.mademyday.de/.
Sandini Bib 4.1 Eine andere Sprache für das Frontend
Abbildung 4.7: Template Manager
Abbildung 4.8: Template Manager – Vorschaufunktion Um das Template Ihrer Website zuzuordnen, wählen Sie den Radiobutton vor dem Namen 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 AKTUALISIEREN. Schon haben Sie ein anderes Layout und ein völlig neues Aussehen. Die Menüs sind jetzt beispielsweise auf der rechten Seite, übrigens mit den deutschen Übersetzungen HAUPTMENÜ und SUCHE. Nachdem wir dem ersten Spieltrieb nachgegeben haben, folgt nun das ausführlichere Customizing.
69
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.9: Ein anderes Template
4.2
Aufbau der Joomla!-Administration
Joomla! bietet fast den gleichen Komfort wie ein Programm unter einer grafischen Benutzeroberfläche – siehe Windows, KDE, Gnome oder Aqua (von Mac OS X). Das ist nicht selbstverständlich für Webseiten und wird erreicht durch den großzügigen Gebrauch der Scriptsprache JavaScript. JavaScript wird lokal auf Ihrem Rechner ausgeführt und kann auch im Browser deaktiviert werden. In diesem Fall können Sie nicht mehr mit der Joomla!-Administration arbeiten. Seit mehreren Jahren können die Browser allerdings gut mit JavaScript umgehen und es gibt auch keine ernsthaften Sicherheitsprobleme mehr. Aus diesem Grund sollten Sie JavaScript einschalten. In diesem Zusammenhang möchte ich den Windows-Benutzern unter Ihnen als Internetbrowser 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 Elementen. Im oberen Bereich Menüleiste befinden sich die Menüs und auf der rechten Seite zwei Anzeigen, ob Sie Nachrichten erhalten haben und wie viele Benutzer gerade angemeldet sind.
5
70
http://www.mozilla.org/.
Sandini Bib 4.2 Aufbau der Joomla!-Administration
Darunter ist ein Feld mit einem Pfad, der Auskunft darüber gibt, welche Komponente für den gerade angezeigten Manager zuständig ist (Infobar). Rechts daneben befinden sich abhängig vom Manager verschiedene abgeblendete Icons, die Werkzeugleiste (Toolbar). Wenn Sie mit dem Mauszeiger über ein solches Icon fahren, leuchtet es auf und Sie können mit der linken Maustaste klicken und die entsprechende Funktion ausführen. 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 Vorschau 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 Darunter befindet sich der Arbeitsbereich (Workspace) des aktuellen Managers. In Abbildung 4.10 ist dies das Control Panel. Es wird nach dem Einloggen angezeigt und bietet einen Schnellzugriff auf die wichtigsten Elemente. Falls Sie das Control Panel nicht sehen, klicken Sie einfach auf HOME oben links in der Menüleiste.
71
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.10: Joomla!-Administration Im linken Bereich verweisen Icons auf verschiedene Manager. Im rechten Bereich finden Sie fünf Karteireiter, die Ihnen einen Überblick über den aktuellen Status Ihrer Website geben. Im unteren Bereich sehen Sie eine Navigationsleiste, die sich quer durch Joomla! zieht. Hier können Sie die Anzahl der angezeigten Zeilen einstellen und durch die Anzeige navigieren, falls gleichzeitig 100 Benutzer online sind. Diese Menge ist bei gut frequentierten Joomla!-Seiten durchaus realistisch. Die Einstellung der Anzahl der angezeigten Zeilen ist bei allen Tabellendarstellungen möglich. Logged bietet einen Überblick über die gerade eingeloggten Benutzer. Durch einen Klick auf das rote Kreuz neben dem Benutzernamen können Sie als Administrator den Benutzer abmelden. Components zeigt Ihnen die aktuell installierten Softwarekomponenten. Wenn diese mehrere Optionen haben, wie beispielsweise Weblinks, so wird diese Komponente als Überschrift mit Unterpunkten dargestellt. Popular präsentiert Ihnen die am meisten aufgerufenen Seiten Ihrer Website. Durch einen Klick auf den Seitennamen gelangen Sie in den Content Manager und die entsprechende Seite wird Ihnen im Editiermodus angezeigt. Wenn Sie im Editormodus sind, müssen Sie mit CANCEL oder SAVE die Bearbeitung beenden und anschließend wieder auf HOME klicken, um in das Control Panel zu gelangen. Latest Items ist so ähnlich wie Popular. Hier werden die Inhalte in umgekehrt chronologischer Reihenfolge angezeigt. Durch einen Klick auf den Namen landet man ebenfalls im Content Manager. Menu Stats liefert die Anzahl der Menüelemente in jedem Menü. Die Menüleiste besteht aus neun Menüs. Ganz links finden Sie den HOME-Link, der Sie wieder in das Control Panel bringt. Ganz rechts sehen Sie den HELP-Link. Sie können das Control Panel über MODULES -> ADMINISTRATOR MODULES konfigurieren.
72
Sandini Bib 4.3 Menü Help
4.3
Menü Help
Abbildung 4.11: Joomla!-Hilfebereich Der Arbeitsbereich Joomla! Help ist dreigeteilt. Im oberen Teil gibt es ein Suchfeld und eine Leiste mit Links (Abbildung 4.11). Darunter befindet sich links ein Index der verfügbaren Hilfetexte und rechts der entsprechende Anzeigebereich. Standardmäßig sehen 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/. Um die Suche nutzen zu können, müssen Sie also mit dem Internet verbunden sein. Außer bei einer lokalen Version sind Sie das aber zwangsläufig. Die anderen Links verweisen auf den Text der GNU/Public License, auf Systeminformationen über Ihren Server (Abbildung 4.12) und das Changelog, das die Änderungen der einzelnen Entwickler dokumentiert. Im Changelog können Sie beispielsweise lesen, dass Alex Kempkens am 16.9. das madeyourday-Template hinzugefügt und Rey Gigataras 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 momentan lokal unter Windows mit der XAMPPLITE-Umgebung (Installation siehe Kapitel 2) und habe daher im Vergleich zu den im Internet angemieteten Servern sehr aktuelle Softwareversionen (Apache 2.0.54 und PHP 5.04). PHP Info zeigt alle Informationen aus der Funktion phpinfo() an. Hier geht es um die komplette Konfiguration des PHP-Interpreters. Permissions zeigt die Berechtigungen Ihrer Unterverzeichnisse an. Damit Joomla! fehlerfrei läuft, müssen hier alle Verzeichnisse beschreibbar (writable) sein.
73
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.12: Joomla! Help-Systeminformationen
4.4
Menü Site
Es gibt Voreinstellungen, die für alle einzelnen Seiten und für Ihren Server gelten. Alle diese Einstellungen sind im Menü Site zusammengefasst.
Abbildung 4.13: Menü Site
74
Sandini Bib 4.4 Menü Site
4.4.1
Site – Global Configuration
Der Arbeitsbereich Globale Konfiguration verwaltet die Änderungen in der Datei configuration.php. Hier befinden sich lebenswichtige Dinge wie die Zugangsdaten zum Datenbankserver. Der Arbeitsbereich selbst ist aufgeteilt in zehn Karteireiter.
Site
Abbildung 4.14: Site – Global Configuration – Site Site Offline: Wenn Sie beispielsweise Änderungen an Ihrer Website vornehmen und Ihre Benutzer darauf hinweisen wollen, können Sie hier die entsprechende Nachricht »einschalten«. Offline Message: Der hier eingegebene Text wird auf Ihrer Website im oberen Bereich angezeigt, wenn sie »offline« ist. Probieren Sie es einmal aus (Abbildung 4.15).
Abbildung 4.15: Wartungsmeldung auf der Website
75
Sandini Bib 4 Joomla! anpassen – Customizing
System Error Message: Hier können Sie ebenfalls eine Nachricht angeben, die angezeigt 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 registrierte Benutzer anzeigen zu lassen. Jetzt kann es sein, dass auf diese Seiten in einem öffentlichen Zusammenhang verlinkt wird. Bei der Auswahl JA werden die Links angezeigt. Wenn ein nicht angemeldeter Besucher auf einen solchen Link klickt, erscheint eine Meldung, dass es sich um einen geschützten Bereich handelt, der eine Anmeldung erfordert. Allow User Registration: Hier können Sie wählen, ob Sie eine eigene Registrierung von Benutzern zulassen wollen oder nicht. Wenn Sie beispielsweise eine FirmenWebsite betreiben, könnten Sie Ihren Mitarbeitern ein Benutzerkonto anlegen, es aber verbieten, dass sie sich selbst ein Konto erstellen. Bei einer Community-Website ist es dagegen erwünscht, dass sich die Benutzer selbst anmelden. Use New Account Activation: Um eine gewisse Sicherheit vor Programmen zu bieten, die automatisiert auf Ihrer Seite 20.000 Benutzerkonten anlegen, können Sie eine separate Aktivierung verlangen. Der Benutzer erhält automatisch eine E-Mail an die von ihm angegebene Adresse. In dieser E-Mail befindet sich ein Link zum Freischalten des Kontos. Nach der Freischaltung kann er sich normal anmelden. Require Unique Email: Wollen Sie, dass jede E-Mail-Adresse nur für ein Konto verwendet werden darf? Debug Site: Hier können Sie die Website in den Debug-Modus versetzen. HinweisHinweis Wenn Programmierer Fehler suchen, sprechen sie von debuggen. Diese Bezeichnung ist historisch gewachsen. Ein Bug ist ein Käfer, und vor 50 Jahren waren es tatsächlich Käfer, die es sich an den warmen Röhren eines Computers gemütlich machten und hin und wieder für Kurzschlüsse sorgten. Debugging – Käfer suchen – war damals also wörtlich zu nehmen. Heute geht es um Fehler in Softwareprogrammen, beispielsweise eine nicht funktionierende Datenbankabfrage. Nach dem Einschalten dieser Funktion werden unter der Website die Datenbankabfragen angezeigt. Um eine einzige Seite von Joomla! zu generieren, sind in diesem Fall 79 Datenbankabfragen notwendig (Abbildung 4.16).
76
Sandini Bib 4.4 Menü Site
Abbildung 4.16: Debug Mode mit Datenbankabfragen WYSIWYG Editor: WYSIWYG ist die Abkürzung für What you see is what you get oder (näher an der Realität) Du hast es so gewollt, da hast du es!. Der Begriff stammt aus den Anfängen grafischer Benutzeroberflächen, als es erstmals möglich war, Texte in einer Textverarbeitung zu schreiben und beim Schreiben zu sehen, wie das fertige Ergebnis nach dem Druck aussehen wird. Heute geht es weniger um das Drucken, sondern mehr um die Darstellung auf Ihrer Website.
Abbildung 4.17: WYSIWYG-Editor Im Internet füllen Sie normalerweise Formulare aus, ohne die Möglichkeit einer Formatierung. Die Formatierung erfolgt über HTML-Tags oder programmspezifische Kürzel. Ein WYSIWYG-Editor ist komfortabler, da Sie hier wie in einer Textverarbeitung nur auf die entsprechenden Icons klicken müssen. In den Textfeldern, in denen Formatierungen benötigt werden, wird dieser Editor automatisch eingeblendet (Abbildung 4.17). Er funktioniert unter allen gängigen, aktuellen Browsern. Joomla! bietet die Möglichkeit, auch andere HTML-Editoren einzubinden. Standardmäßig wird momentan der Editor TinyMCE benutzt.6
6
http://tinymce.moxiecode.com/.
77
Sandini Bib 4 Joomla! anpassen – Customizing
List Length: Auf Ihrer Website tauchen immer wieder Listen auf, beispielsweise News und Links. Hier stellen Sie ein, wie viele Einträge eine Liste standardmäßig haben soll. Favourites Site Icon: Jede Website kann ein so genanntes Favourite Site Icon (Favicon) dem Browser anbieten. Dieses kleine Bild wird links neben dem URL sowie in den Lesezeichen im Browser dargestellt. Das funktioniert in den meisten Browsern ganz gut, im Internet Explorer nur unter bestimmten Bedingungen (Abbildung 4.18 und Abbildung 4.19). Die Icons müssen in einem bestimmten Format vorliegen.7 Hier legen Sie den Namen für das Icon fest. Sie finden die Datei im Hauptverzeichnis von Joomla!.
Abbildung 4.18: Favicon in Mozilla
Abbildung 4.19: Keine Favicon-Anzeige im Internet Explorer (Version 6.0.29...)
Locale Unter diesem Reiter können Sie Ihre Seite lokalisieren (Abbildung 4.20). Unter Lokalisierung versteht man das Anpassen an länderspezifische Eigenheiten.
Abbildung 4.20: Site – Global Configuration – Locale Language: Hier legen Sie die Sprache der Website fest. In der Optionsliste werden alle verfügbaren Sprachen angezeigt. Wie Sie neue Sprachpakete installieren, zeigt Kapitel 4.1.1.
7
78
IconEdit32 1.0 – siehe Downloadhinweise im Anhang.
Sandini Bib 4.4 Menü Site
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 Website aber für Besucher in Deutschland gedacht ist. Country Locale: Jedes Land hat gewisse Vorgaben für die Schreibung von Zahlenund für Datumsangaben8. Hier können Sie ein Schema festlegen. In Deutschland ist es de_DE (Linux) bzw. ge (Windows). PHP bietet die Möglichkeit, verschiedene Funktionen abhängig von dem als Locale eingegebenen Kürzel auszuführen. Der Ansatz ist gut, wird aber nicht immer bei der Template-Erstellung berücksichtigt. Bei der korrekten Locale für Ihr Betriebssystem sollten auch die Tages- und Monatsnamen in der lokalen Sprache erscheinen.
Content Hier werden die Einstellungen für die Content-Anzeige der gesamten Site festgelegt (Abbildung 4.21).
Abbildung 4.21: Site – Global Configuration – Content Linked Titles: Hier können Sie einstellen, dass der Titel eines Inhaltselements als Link dargestellt wird. Der Link verweist dann auf das gleiche Ziel wie der Link Read More. Read More Link: Viele Inhalte bestehen aus einem Aufmacher (Intro Text) und dem eigentlichen Text. An dieser Stelle entscheiden Sie, ob unter dem Aufmacher ein Read More-(Mehr lesen-)Link erscheinen soll, der auf den kompletten Text verweist.
8
http://de.wikipedia.org/wiki/Locale.
79
Sandini Bib 4 Joomla! anpassen – Customizing
Item Rating/Voting: Dies bietet die Möglichkeit, Ihre Inhalte von den Besuchern bewerten zu lassen. Wenn Sie JA anklicken, wird über dem Inhalt ein Bewertungsmodul angezeigt (Abbildung 4.22).
Abbildung 4.22: Voting-Funktion Author Names: Soll der Name des Autors eines Inhalts angezeigt werden? Wenn Sie JA 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 Inhalts angezeigt werden? Wenn Sie JA auswählen, wird über dem Artikel ein Text wie Samstag, 17. September 2005 geschrieben. Modified Date and Time: Sollen das Datum und die Zeit der Änderung eines Inhalts angezeigt 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 angezeigt werden soll.
Abbildung 4.23: News-Liste mit Zugriffen PDF Icon: Soll ein PDF-Icon über dem Inhalt angezeigt werden (Abbildung 4.22)? Nach dem Klick auf dieses Icon erhalten Sie den Inhalt als PDF-Datei aufbereitet. Um das PDF ansehen zu können, benötigen Sie den kostenlosen Acrobat Reader.9 9
80
http://www.adobe.de/products/acrobat/.
Sandini Bib 4.4 Menü Site
Abbildung 4.24: PDF-Ausgabe eines Inhalts 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 aufbereitet zum Drucken. Email Icon: Soll ein E-Mail-Icon über dem Inhalt angezeigt werden (Abbildung 4.22)? Nach dem Klick auf dieses Icon erhalten Sie ein Formular, das es Ihnen ermöglicht, einen Hinweis auf diesen Inhalt an jemanden zu versenden (Abbildung 4.25).
Abbildung 4.25: E-Mail-Hinweis auf einen interessanten Artikel Icons: Hier entscheiden Sie, ob PDF, Print und E-Mail als Icon oder als Link dargestellt werden. Table of Contents on multi-page items: Es ist möglich, Inhalte über mehrere Seiten zu schreiben. Dazu wird ein Mambot in den Text eingebunden.10 Wenn Sie JA auswählen, wird automatisch ein Inhaltsverzeichnis für diese Inhalte erzeugt. 10 Mehr zum Thema Mambots in Kapitel 7.
81
Sandini Bib 4 Joomla! anpassen – Customizing
Back Button: Wollen Sie einen ZURÜCK-Button auf jeder Seite? Content Item Navigation: Wenn Sie hier JA auswählen, wird unter den Inhalten eine Leiste mit den Buttons NEXT und PREVIOUS eingeblendet, mit denen Sie durch die Inhalte dieser Kategorie blättern können.
Database Unter diesem Reiter sehen Sie die Zugangsdaten zu Ihrem MySQL-Server (Abbildung 4.26).
Abbildung 4.26: Site – Global Configuration – Database
Server Im SERVER-Bereich finden Sie weitere Informationen und Einstellungen, die Sie ändern können (Abbildung 4.27).
Abbildung 4.27: Site – Global Configuration – Server
82
Sandini Bib 4.4 Menü Site
Absolute Path: Der absolute Pfad auf Ihrem Server ist der Pfad, der den Weg vom root-Verzeichnis des Servers zu Ihrer Joomla!-Installation beinhaltet. In der lokalen Variante unter Windows ist das beispielsweise C:/xampplite/htdocs/Joomla!, auf dem Linux-Server meines Providers hingegen /is/htdocs/wp1007226_40G0RIWV3E/www. Live Site: Die Live Site ist der URL, unter dem die Seite im Internet erreichbar ist. Secret Word: Das verschlüsselte Administratorpasswort11 GZIP Page Compression: Hier können Sie eine Komprimierung der Seiten einschalten. Wenn Browser und Webserver diese Funktion unterstützen, werden die Seiten im ZIP-Format ausgeliefert und im Client-Browser wieder entpackt. Gerade bei langsamen Internetleitungen kann dadurch der Seitenaufbau erheblich schneller gehen. Login Session Lifetime: Wenn Sie sich als Benutzer anmelden, erzeugen Sie eine so genannte Session. Wenn Sie sich nicht abmelden, so wird diese Session nach der hier eingestellten Anzahl von Sekunden gelöscht. Error Reporting: Mit diesen Schaltern werden die PHP-eigenen Fehlerreportmechanismen aktiviert. Option
Beschreibung
System Default
Hier wird die Einstellung aus der Konfigurationsdatei php.ini übernommen.
None
Fehler werden nicht protokolliert.
Simple
Fehler und Warnungen werden protokolliert. Diese Einstellung entspricht dem Parameter error_reporting (E_ERROR|E_WARNING|E_PARSE).
Maximum
Fehler, Warnungen und Hinweise werden protokolliert. Diese Einstellung entspricht dem Parameter error_reporting (E_ALL).
Tabelle 4.2: Error Reporting Help Server: Hier können Sie einen anderen URL für den Joomla!-Helpserver eintragen. File Creation: Wenn Dateien auf dem Server durch Joomla! angelegt werden, werden im Server eingestellte Standardrechte auf diese Dateien angewendet. In den meisten Fä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.
83
Sandini Bib 4 Joomla! anpassen – Customizing
Metadata Metadaten sind Daten über Daten, also beispielsweise eine Beschreibung Ihrer Website. Metadaten spielen bei Suchmaschinen eine Rolle. Wie groß diese Rolle ist, ist jedoch umstritten. Trotzdem stellen Metadaten einen guten Weg dar, in kurzen und klaren Worten Ihre Website zu beschreiben. Wenn Sie in den HTML-Quellcode einer Joomla!-Seite schauen, sehen Sie im oberen Bereich die folgenden Metatags.
Sie können diese Beschreibungen hier mit Standardwerten belegen (Abbildung 4.28).
Abbildung 4.28: Site – Global Configuration – Metatags Global Site Meta Description: Diese Beschreibung des Seiteninhalts wird bei der Anzeige von Suchmaschinenergebnissen oft ausgegeben. Diesem Tag sollte man daher besondere Aufmerksamkeit schenken, denn anhand dieser Information entscheidet der Suchende, ob er Ihre Seite besucht oder nicht. Global Site Meta Keywords: Keywords sind die Schlüssel- oder Schlagwörter in einem Dokument. Sie sollten hier die zentralen Begriffe Ihrer Website auflisten. Manche Suchmaschinen suchen besonders in den Keywords. Die einzelnen Wörter werden durch Kommata getrennt, mehrere Wörter lassen sich zwischen zwei Kommata mit normalen Leerzeichen eintragen. Die Schlüsselwörter sollten auf max. 1.000 Zeichen begrenzt werden, mehr werden nicht ausgelesen. Beachten Sie, dass die Verwendung weniger Schlüsselbegriffe dem einzelnen Begriff zu einer höheren Wertigkeit in der Suchmaschine verhilft. Überlegen Sie, welche die meistgebrauchten Schlüsselwörter sind und nach welchen am ehesten gesucht wird.12 Show Title Meta Tag: Bei einzelnen Inhaltsseiten wird der Inhaltstitel als Metatag eingeblendet. Show Author Meta Tag: Bei einzelnen Inhaltsseiten wird der Name des Autors als Metatag angezeigt. 12 http://de.selfhtml.org/html/kopfdaten/meta.htm.
84
Sandini Bib 4.4 Menü Site
Mail Unter diesem Karteireiter können Sie über die Art und Weise des Joomla!-E-Mailversands entscheiden (Abbildung 4.29). Mailer: Hier können Sie wählen, ob Sie die eingebaute Mailfunktion von PHP, das Programm Sendmail oder ein anderes E-Mail-Konto, beispielsweise bei Yahoo oder GMX, nutzen wollen. Mail From: Diese E-Mail-Adresse wird als Absender bei automatisch von Joomla! generierten Mails eingetragen. From Name: Dieser Name wird als Absender bei automatisch von Joomla! generierten Mails angegeben. Sendmail Path: Falls Sie anstelle der PHP-Mailfunktion das auf vermutlich allen Linux-Servern verfügbare Programm sendmail benutzen wollen, müssen Sie hier den Pfad zum Programm eingeben. SMTP Auth: Wählen Sie, ob Sie einen externen Mailserver benutzen wollen. SMTP User: Ihr Benutzername bei diesem E-Mail-Provider SMTP Pass: Ihr Passwort bei diesem E-Mail-Provider SMTP Host: Der SMTP-Server dieses E-Mail-Providers
Abbildung 4.29: Site – Global Configuration – Mail
Cache Unter einem Cache versteht man ein Zwischenlager. Ihr Browser hat beispielsweise einen Bildercache, um einmal geladene Bilder aus dem Internet schneller bereitstellen zu können. Joomla! benutzt einen ähnlichen Mechanismus auf dem Server, um die durch PHP generierten Seiten zwischenzuspeichern. Bei sehr stark frequentierten Seiten kann diese Funktion die Antwortzeiten stark verringern.
85
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.30: Site – Global Configuration – Cache
Statistics Unter diesem Reiter können Sie die Statistikfunktionen für Ihre Website ein- und ausschalten.
Abbildung 4.31: Global Configuration – Statistik Statistics: Hier bestimmen Sie, ob Sie grundsätzlich Statistiken erzeugen wollen. Log Content Hits by Date: An dieser Stelle schalten Sie die täglich aktualisierte Inhalte-Statistik ein. Hier werden nicht nur komplette Seitenzugriffe, sondern die Zugriffe auf die einzelnen Elemente einer HTML-Seite gezählt. Momentan gibt es leider noch kein Auswertungsprogramm für diese Daten. Außerdem entstehen in kurzer Zeit sehr große Datenmengen. Log Search Strings: Dieser Schalter kann ganz interessante Ergebnisse liefern. Er sammelt Wörter, die Besucher Ihrer Seite in das Suchfeld eingeben. Die Suchmaschine Google veröffentlicht ihre Suchstrings unter dem Stichwort Zeitgeist.13
SEO (Search Engine Optimization) In diesem Bereich geht es um suchmaschinenfreundliche URLs. Normalerweise sieht ein 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 die Suchmaschine davon ausgeht, dass sich der Inhalt dynamisch aufbaut und vermutlich bald ändert.
13 http://www.google.de/press/zeitgeist.html.
86
Sandini Bib 4.4 Menü Site
Abbildung 4.32: Global Configuration – SEO Search Engine Friendly URLs: Mit diesem Schalter können Sie aus einem dynamischen URL einen suchmaschinenfreundlichen URL machen. Wenn Sie den Schalter auf JA stellen, sollte der Link etwa so aussehen: http://localhost/component/option,com_contact/Itemid,47/ Das Prinzip beruht auf einer Funktion des Apache-Webservers. Mit seiner Rewrite Engine kann er URLs beliebig manipulieren. Außer dem Umstellen des Schalters müssen Sie auch noch die Datei htaccess.txt im Joomla!-Verzeichnis in .htaccess umbenennen. Unter Windows ist eine solche Umbenennung nur mit bestimmten Programmen wie beispielsweise dem Editor Ultraedit möglich.14 Unter Linux funktioniert die Umbenennung problemlos, die Datei wird aber anschließend meist nicht mehr in Ihrem FTP-Client angezeigt (abhängig von der Serverkonfiguration). Außerdem kann es sein, dass der Provider .htaccess-Dateien nicht zulässt, da sie ein Sicherheitsrisiko für den Webserver darstellen. Dynamic Page Titles: Diesen Schalter sollten Sie auf jeden Fall auf JA schalten. Der Titel Ihres Inhalts wird dann bei jedem Seitenaufruf an den Seitennamen in der Titelleiste des Browserfensters angehängt.
Abbildung 4.33: Dynamische Seitentitel
4.4.2
Site – Language Manager
Den Language Manager kennen Sie schon von unseren ersten Gehversuchen (siehe Kapitel 4.1.1). Außer dem Auswählen von Sprachen für die Website können Sie hier auch neue Sprachdateien installieren. Bei unserem ersten Versuch haben wir das über das Hochladen der Sprachdatei realisiert. Joomla! stellt jedoch auch die Möglichkeit bereit, Sprachdateien per FTP auf den Server zu laden und dann aus dem Verzeichnis zu installieren. Der Vorteil dabei ist, dass Sie mehrere Sprachdateien in einem Arbeitsgang installieren können. 14 http://www.ultraedit.com/.
87
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.34: Language Manager – Install new Language
4.4.3
Site – Media Manager
Den Media Manager können Sie sich wie einen Datei-Explorer oder ein FTP-Programm in Ihrem Betriebssystem vorstellen. Hier können Sie Dateien mit den Endungen gif, png, jpg, bmp, pdf, swf, doc, xls oder ppt hochladen und in verschiedenen Verzeichnissen verwalten. Dieser Manager ist äußerst praktisch, etwa wenn Sie zwar Administrationsrechte, aber keinen FTP-Zugang haben.
Abbildung 4.35: Site – Media Manager Directory: Hier wählen Sie das gewünschte Verzeichnis aus, dessen Inhalt darunter angezeigt werden soll. Medienleiste: In dieser Leiste werden Ihnen die Dateien (Medien) angezeigt. Unterhalb der Medien finden Sie, abhängig vom Medientyp, mehr Informationen zur jeweiligen 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 per Copy&Paste in Ihren Inhalt einfügen können. Klicken Sie beispielsweise auf den Stift des Joomla!-Logos, so erscheint im Feld Code darunter folgender Ausdruck:
Das ist die HTML-Beschreibung, um ein Bild linksbündig mit einem Rand von 6 Pixeln darzustellen.
88
Sandini Bib 4.4 Menü Site
Upload: Hier klicken Sie auf DURCHSUCHEN … und wählen die gewünschte Datei auf Ihrer lokalen Festplatte aus. Anschließend klicken Sie in der Werkzeugleiste auf das Icon UPLOAD. Die Datei wird hochgeladen und angezeigt. AchtungAchtung Joomla! benutzt die Medien so, wie sie sind. Denken Sie daran, dass es keine gute Idee ist, 3 Mbyte große Bilder aus einer Digitalkamera in dieser Größe auf Ihre Webseite zu stellen. Bilder sollten im Internet maximal 50 Kbyte groß sein. Es gibt auch Menschen, die keinen HighSpeed-Zugang zum Internet haben!
Als Grundregel sollten Sie als Downloadzeit für 100 Kbyte (etwa die Größe einer Portalwebseite mit Bildern) folgende Zeiten im Hinterkopf haben (Tabelle 4.3). Verbindungsart
Download von 100 Kilobyte Daten
DSL
je nach DSL-Ausbau unter einer Sekunde!
ISDN
ca. 15 Sekunden
Modem (56 k)
ca. 25 Sekunden
Tabelle 4.3: Dauer eines Downloads von 100 Kilobyte Größe
HinweisHinweis Die maximale Upload-Größe pro Datei ist abhängig von der PHPKonfiguration Ihres Providers. In meinem Fall sind es 16 Mbyte. Größere Dateien müssten Sie per FTP hochladen oder den Wert in der Konfigurationsdatei php.ini entsprechend ändern.
Create Directory: In diesem Feld können Sie einen Namen für ein neues Unterverzeichnis eingeben. Nach einem Klick auf das Icon CREATE in der Werkzeugleiste wird dieses Unterverzeichnis angelegt und kann durch die Optionsliste im oberen Bereich (Directory) ausgewählt werden.
4.4.4
Site – Preview
Hier erhalten Sie eine Preview (Vorschau) auf Ihre Website (Abbildung 4.36). Sie haben drei Möglichkeiten: In New Window: Die Vorschau wird in einem neuen Browserfenster angezeigt.
89
Sandini Bib 4 Joomla! anpassen – Customizing
Inline: Die Vorschau wird im Workplace (Arbeitsbereich) eingeblendet, mit Scrollbalken an den Seiten, falls die Seite zu groß ist. Inline with Positions: Die Vorschau wird im Workplace (Arbeitsbereich) angezeigt, mit Markierungen für die einzelnen Modulpositionen.
Abbildung 4.36: Site – Global Configuration – Preview
4.4.5
Site – Statistics
Hier können Sie die Statistikdaten auswerten, die Sie in Kapitel 4.4.1 unter dem Reiter Statistics hoffentlich eingeschaltet haben (Abbildung 4.37).
Abbildung 4.37: Site – Statistics Browser, OS, Domain: In diesem Bereich erhalten Sie drei Reiter mit den Informationen darüber, welche Browser, welches Betriebssystem und aus welcher Domain Zugriffe auf Ihre Seite erfolgt sind. Die Daten beruhen auf den Daten, die ein Browser automatisch an den Webserver liefert. Wenn beispielsweise Google Ihre Seite mit einem Programm besucht, um Ihre Seiten in den Index aufzunehmen, werden keine Informationen übertragen. Page Impressions: Hier sehen Sie die einzelnen Seiten, das Erstellungsdatum und die Menge der Zugriffe. Search Text: Hier werden Ihnen die von Ihren Besuchern eingegebenen Suchbegriffe präsentiert.
90
Sandini Bib 4.4 Menü Site
4.4.6
Site – Template Manager
Auch den Template Manager kennen Sie bereits aus Kapitel 4.1.4, in dem wir ein anderes Template für die Website festgelegt haben (Abbildung 4.38).
Abbildung 4.38: Site – Template Manager
Site Templates Hier können Sie die Templates für Ihre Site festlegen. Default: Wählen Sie ein Template aus und klicken Sie auf das Icon DEFAULT, um es als Standardtemplate für Ihre Seite zu benutzen. Assign: Wählen Sie ein Template aus und klicken Sie auf ASSIGN, um es auf einzelne Seiten anzuwenden (Abbildung 4.39).
Abbildung 4.39: Site – Template Manager – Assign
91
Sandini Bib 4 Joomla! anpassen – Customizing
Die vorhandenen Menüelemente werden Ihnen angezeigt. Markieren Sie die entsprechenden Elemente, denen Sie das Template zuordnen wollen. Eine Mehrfachauswahl erreichen Sie, indem Sie bei gedrückter (Strg)-Taste die gewünschten Elemente nacheinander anklicken. New: Hier installieren Sie ein neues Template, so, wie die Sprachdatei aus Kapitel 4.1.1. Es gibt eine große Auswahl vorhandener Templates15, die Sie entweder per Upload oder über die Installation aus einem Verzeichnis installieren können. Edit HTML/Edit CSS: Hier können Sie direkt den HTML- oder CSS-Quellcode des ausgewählten Templates bearbeiten (Abbildung 4.40). Templates bestehen immer aus einer HTML- und einer CSS-Datei.
Abbildung 4.40: Site – Template Manager – HTML-Editor AchtungAchtung Wenn Sie hier Hand anlegen, sollten Sie wissen, was Sie tun. HTMLund CSS-Kenntnisse sind unerlässlich.
Trotzdem ist es auch für den Anfänger interessant zu sehen, wie ein Template aufgebaut ist.16 Delete: Hier können Sie ein installiertes Template komplett löschen. 15 Z.B. http://www.joomlaos.de/. 16 Mehr über das Erstellen eigener Templates finden Sie in Kapitel 6.
92
Sandini Bib 4.4 Menü Site
Install Die Installationsmaske für Site Templates. Hier landen Sie, wenn Sie in Site Templates auf NEW klicken oder direkt über das Menü SITE -> TEMPLATE MANAGER -> INSTALL gehen. Sie können hier neue Template-Dateipakete per Upload oder per Verzeichnisinstallation installieren.
Administrator Templates Was für Ihre Website gilt, gilt natürlich auch für die Administrationsoberfläche. Sie können hier analog zu den Site-Templates Ihrer Administrationsoberfläche andere Templates zuweisen und neue installieren. Standardmäßig bietet Joomla! zwei Administrator-Templates zur Auswahl.
Install Analog zu den Site-Templates können Sie hier Administrator-Templates installieren. Sie gelangen hierher, wenn Sie in Administrator Templates auf NEW klicken oder auch direkt über das Menü SITE -> TEMPLATES -> INSTALL. Neue Template-Dateipakete lassen sich per Upload oder per Verzeichnisinstallation installieren.
Module Positions Hier werden die Anzeigepositionen der Module eines Templates verwaltet. Sie können bis zu 56 verschiedene Positionen definieren. Auf diesen Positionen können Sie Modulinhalte 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 Karteireitern Inhalts- und Menüelemente, die Sie durch einen Klick auf das Icon TRASH in den Papierkorb geworfen haben. Durch Auswahl des Elements und Klick auf RESTORE können Sie es wieder aus dem Mülleimer holen, mit DELETE wird es endgültig gelöscht.
Abbildung 4.41: Site – Trash Manager
93
Sandini Bib 4 Joomla! anpassen – Customizing
4.4.8
Site – User Manager
Benutzer (User) spielen auf Ihrer Joomla!-Seite eine ganz besondere Rolle. Sie sind momentan 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 Rechte zuweisen.
Abbildung 4.42: Site – User Manager Auf der Übersichtsliste sehen Sie den echten Namen des Benutzers, ob der Benutzer gerade eingeloggt ist, symbolisiert mit einem grünen Haken (Logged in), ob der Benutzer aktiviert ist (Enabled), den Benutzernamen (UserID), die Gruppenzuordnung (Group), seine E-Mail-Adresse und das Datum seines letzten Besuchs auf Ihrer Website. Diese Angabe bezieht sich auf das letzte Login auf Ihrer Website, nicht auf das Login in der Joomla!-Administration.
New Bei NEW können Sie einen neuen User anlegen. Durch Klick auf NEW erhalten Sie ein entsprechendes 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 -> GLOBAL 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.
94
Sandini Bib 4.4 Menü Site
Abbildung 4.43: Site – User Manager – New Group: Die Gruppenzugehörigkeit teilt sich in zwei große Bereiche. Benutzer, die sich nur 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. 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
95
Sandini Bib 4 Joomla! anpassen – Customizing
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 Superadministratoren ä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 Superadministratoren ä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!-Administration ausführen. Nur ein Superadministrator kann einen anderen Superadministrator anlegen.
Tabelle 4.5: Backend-Benutzergruppen 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 es nicht möglich, eigene Benutzergruppen in Joomla! anzulegen, und so hilft die Gruppe Special Users dabei, Inhaltselemente auf diese Gruppe zu beschränken. Das kann sehr hilfreich sein, wenn man beispielsweise Links zu internen Hilfetexten nur für die Special User einblenden will.
96
Sandini Bib 4.5 Menü Menu
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 topmenu ist ein horizontales Menü, die anderen Menüs sind vertikal. Jedes Menü ist mit einem so genannten Modul gekoppelt, das im Modulmanager verwaltet wird (Kapitel 4.8). Im Arbeitsbereich Menu Manager und in der Menüleiste werden Ihnen die vier Menüs angezeigt (Abbildung 4.44). Sie können die vorhandenen Menüs über die Menüleiste MENU -> MAINMENU, OTHERMENU, ... aufrufen oder im Menu Manager auf das dem entsprechenden Menü zugeordnete Icon MENU ITEM klicken.
Abbildung 4.44: Site – Menu – Menu Manager Die folgenden Bearbeitungsschritte sind für alle Menüs gleich.
4.5.1
Vorhandenes Menü anpassen
Rufen Sie SITE -> MENU MANAGER -> MAINMENU auf (Abbildung 4.45). Hier haben Sie zu Beginn des Kapitels schon SEARCH in SUCHE geändert (Kapitel 4.1.3). Der erste veröffentlichte Menüeintrag, der hier in der Liste steht, wird als Startseite Ihrer Website angezeigt. Momentan ist das die Frontpage. Sie können aber auch jedes beliebige andere Element zur Startseite machen.
New Ein neues Menü erzeugen wir im nächsten Abschnitt.
97
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.45: Site – Menu Manager – Mainmenu
Edit Hier können Sie ein vorhandenes Menü ändern, beispielsweise die LINKS. Nach einem Klick auf den Namen LINKS sehen Sie das Änderungsformular für Menüelemente (Abbildung 4.46). Im linken Bereich geht es um Details, im rechten können Parameter festgelegt werden. Die Anzahl und die Art der Parameter sind abhängig vom Typ des Menüeintrags.
Abbildung 4.46: Site → Menu Manager → Mainmenu → Links → Edit
98
Sandini Bib 4.5 Menü Menu
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 dem Menüeintrag verbirgt. Diese Einstellung wird beim Erstellen des Menüeintrags angegeben. In unserem Fall wird die Komponente Web Links angesprochen. Details-URL: Das ist der Aufruf der Komponente im URL String. Angezeigt wird der Teil hinter dem Domainnamen. In unserem Fall index.php?option=com_weblinks&Itemid=23. Details-Parent Item: Das Elternelement (Parent Item) ist das diesem Menü übergeordnete Element. Top heißt auf der obersten Ebene, alle anderen Einträge stellen vorhandene Menüeinträge dar. Wenn Sie die LINKS beispielsweise unter NEWS einordnen und abspeichern, ändert sich die Anzeige im Menu Manager (Abbildung 4.47) und die Anzeige auf Ihrer Website. Auf der Website ist der Menüeintrag LINKS jetzt in die NEWS gerutscht. Sie müssen also erst auf NEWS klicken, um den LINKS-Eintrag wieder zu sehen. Auf diese Art lässt sich Ihre Website sehr einfach und effektiv wie ein Dateibaum strukturieren.
Abbildung 4.47: Baumstrukturen im Menu Manager
Abbildung 4.48: Baumstrukturen auf der Website Details-Ordering: Durch Klick auf die nach oben und unten zeigenden Dreiecke können Sie die Sortierung innerhalb des Menüs verändern (Abbildung 4.47). Im Feld ORDERING können Sie dies über eine Liste erledigen. Das hat den Vorteil, dass Sie nicht mehrmals auf die Dreiecke klicken müssen. Details-Access Level: Sie können entscheiden, ob das Menü allen Besuchern (Public), nur registrierten Benutzern (Registered) oder einem besonderen Benutzerkreis (Special) zur Verfügung stehen soll.
99
Sandini Bib 4 Joomla! anpassen – Customizing
Details-Published: Hier können Sie das Menü veröffentlichen oder sperren. Parameter-Menu Image: Hier können Sie ein Bild angeben, das im Wurzelverzeichnis des Media Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig vom Template links neben dem Menüeintrag angezeigt. Parameter-Page Class Suffix: Hier können Sie eine Klasse aus der CSS-Datei Ihres Templates angeben, mit der dieser Menüeintrag formatiert werden soll. Parameter-Back Button: Hier können Sie die globalen Einstellungen für den ZURÜCKButton übernehmen oder ihn explizit anzeigen oder ausblenden. Parameter-Page Title: Hier können Sie den Seitentitel ein- oder ausblenden. Parameter-Page Title: Hier können Sie einen Seitentitel festlegen (Abbildung 4.49). Wenn Sie hier nichts eingeben, wird der Name des Links übernommen. Parameter-Table Headings: Hier können Sie die Überschrift über der Liste von Links ein- oder ausblenden. Parameter-Hits: In der Linkliste werden die Zugriffe auf die Links angezeigt. Sie können diese in den globalen Einstellungen oder durch eine entsprechende Auswahl hier ändern. Parameter-Link Descriptions: Hier können Sie die Beschreibung, die unter einem Link in der Linkliste steht, ein- oder ausblenden. Parameter-Category List – Section/Category: Wenn Sie auf den Link LINKS klicken, sehen Sie die Standardtexte oder Ihre in den Parametern festgelegten Texte. Darunter befindet sich eine Liste mit verfügbaren Kategorien und Sektionen. Diese Liste können Sie mit den beiden Schaltern ein- bzw. ausblenden (Abbildung 4.49).
Abbildung 4.49: Individueller Weblink-Bereich I Parameter-Description: Hier können Sie die allgemeine Beschreibung der LINK-Komponente ein- oder ausblenden. Parameter-Description Text: Hier können Sie den Standardtext der LINK-Komponente mit einem individuellen Text überschreiben. Parameter-Image: Hier können Sie ein Bild angeben, das im Wurzelverzeichnis des Media Managers (/images/stories/) liegen muss. Dieses Bild wird abhängig von Para-
100
Sandini Bib 4.5 Menü Menu
meter-Image Align links oder rechts vom Beschreibungstext angezeigt. In Abbildung 4.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 (Abbildung 4.50)
Abbildung 4.50: Individueller Weblink-Bereich II
Publish Wenn Sie ein oder mehrere Menüelemente auswählen und auf das Icon PUBLISH klicken, werden diese veröffentlicht.
Unpublish Wenn Sie auf das Menü UNPUBLISH klicken, werden die markierten Einträge nicht mehr auf der Website angezeigt.
Move
Abbildung 4.51: Site – Menu Manager – Mainmenu – Move
101
Sandini Bib 4 Joomla! anpassen – Customizing
Verschieben von Menüeinträgen. Wählen Sie ein oder mehrere Menüelemente aus und klicken Sie auf das Icon MOVE. Es öffnet sich nun ein Formular mit den verfügbaren Menüs (Abbildung 4.51). Wählen Sie das Menü aus, in das Sie die markierten Menüeinträge verschieben möchten.
Copy Zum Kopieren von Menüeinträgen wählen Sie ein oder mehrere Menüelemente aus und klicken auf COPY. Es öffnet sich ein Formular mit den zur Verfügung stehenden Menüs. Bestimmen Sie das Menü, in das Sie die markierten Menüeinträge kopieren wollen.
Trash Um Menüeinträge in den Papierkorb zu werfen, wählen Sie ein oder mehrere Menüelemente aus und klicken auf das Icon TRASH. Die markierten Menüeinträge landen im Papierkorb.
4.5.2
Neues Menü erzeugen
Lassen Sie uns ein Menü mit dem Namen Joomla! Buch und einem Link zu http://www.joomla.org/ erzeugen. Rufen Sie MENU -> MENU MANAGER -> NEW auf und geben Sie in das Feld Menu Name den internen Namen des Menüs ein. Achten Sie auf einen aussagekräftigen Namen ohne Leerzeichen. In das Feld Module Title geben Sie den Namen ein, der später auf der Website erscheinen wird (Abbildung 4.52).
Abbildung 4.52: Site – Menu Manager – New Menu Name: Der Name des Menüs. Dieser Name taucht nicht auf der Website auf, er dient nur dazu, zwischen Modul und Menü eine Verbindung herzustellen. Ich wähle Joomla_Buch. Module Title: Der Name des Moduls, so, wie er auf der Webseite erscheint. Ich wähle Joomla! Buch.
102
Sandini Bib 4.5 Menü Menu
Abbildung 4.53: Neues Menü im Menu Manager Nach einem Klick auf SAVE erzeugt Joomla! ein neues Modul mit dem angegebenen Namen (Abbildung 4.53). Klicken Sie nun auf das Icon MENU ITEMS oder rufen Sie in der Menüleiste SITE -> MENU MANAGER -> JOOMLA_BUCH auf. Sie erhalten die Übersichtsmaske über die Inhalte des Menüs Joomla_Buch. Da noch keine Inhalte vorhanden sind, klicken Sie auf das Icon NEW. Auf der dann erscheinenden Auswahlmaske können Sie aus vier verschiedenen Bereichen Inhalte wählen (Abbildung 4.54).
Abbildung 4.54: Site – Menu Manager – New Menu Item
Content Inhalte teilen sich in Blogs, Links und Tables. Ein Blog im Sinne von Joomla! ist eine Liste von Einträgen mit einem Aufmacher und einem read more-Link. Ein Link verweist direkt auf einen bestimmten Inhalt. Eine Tabelle ist eine Liste von Links. Eine Section ist ein Gliederungselement. Innerhalb einer Section kann es Kategorien geben. Die Bedeutung der Auswahlmöglichkeiten finden Sie in Tabelle 4.6.
103
Sandini Bib 4 Joomla! anpassen – Customizing
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 Beispieldaten gibt es eine statische Inhaltsseite (Joomla! License Guidelines)
Table – Content Category
Link auf eine Tabelle, die den Inhalt einer Kategorie darstellt
Table – Content Section
Link auf eine Tabelle, die den Inhalt einer Section darstellt
Tabelle 4.6: New Menu Item – Content-Optionen
Miscellaneous Auswahl
Bedeutung
Separator / Placeholder
Einfügung eines Trennstrichs in das Menü
Wrapper
Hier kann eine externe Seite innerhalb der Website angezeigt werden, beispielsweise Teile Ihrer alten Website oder ein bereits vorhandenes Gästebuch
Tabelle 4.7: New Menu Item – Miscellaneous
Components Auswahl
Bedeutung
Link – Component Item
Ein Link auf eine Komponente (z.B. Login)
Link – Contact Item
Ein Link auf einen Eintrag in der Kontaktliste
Link – Newsfeed
Ein Link auf eine Nachricht aus der Section News
Table – Contact Category
Ein Link auf eine Tabelle, die Einträge einer Kontaktkategorie enthält
Table – Newsfeed Category
Ein Link auf eine Tabelle, die Einträge einer NewsfeedKategorie enthält
Table – Weblink Category
Ein Link auf eine Tabelle, die Einträge einer WeblinkKategorie enthält
Tabelle 4.8: New Menu Item – Components
104
Sandini Bib 4.5 Menü Menu
Links 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 Beispieldaten 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 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).
Abbildung 4.55: Site – Menu Manager – Joomla! Buch – New Menu Item – Link URL 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 Ziel im gleichen Browserfenster, einem neuen Browserfenster mit Navigation oder einem neuen Browserfenster ohne Navigation ausgeführt werden? Parent Item: Soll der Menüeintrag ein Untermenü eines übergeordneten Eintrags sein? Access Level: Soll der Menüeintrag für die Gruppen Public (Besucher), Registered oder Special sichtbar sein?
105
Sandini Bib 4 Joomla! anpassen – Customizing
Published: Soll das Menü veröffentlicht werden? Wenn Sie auf APPLY klicken, werden Ihre Daten gespeichert. Mit einem Klick auf SAVE werden die Daten gespeichert und der Dialog wird verlassen. Jetzt haben Sie das Menü erstellt und mit einem Link versehen. Bevor es nun angezeigt wird, müssen Sie im Modules Manager das Modul noch veröffentlichen. Klicken Sie auf MODULES -> SITE MODULES (Abbildung 4.56) und dort auf das Icon PUBLISHED. Mit Hilfe der blauen Dreiecke können Sie die Position des Menüs verändern.
Abbildung 4.56: Modules – Site Modules Wenn Sie nun Ihre 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 und kann dort auch verändert werden.
Abbildung 4.57: Neues Menü Joomla! Buch Bei Klick auf den Link Joomla! sollte sich ein Browserfenster mit Navigation öffnen und die Website des Projektes anzeigen.
106
Sandini Bib 4.6 Menü Content
4.6
Menü Content
Das Menü CONTENT beinhaltet alle Bereiche von Inhalten. Inhalte sind in Joomla! in der 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önnen beliebig viele Sections, Categories und Static Contents erzeugen. Wenn Sie einzelne Elemente archivieren, so wird die Struktur komplett in das Archiv übernommen. Diese feste Struktur hat Vorteile und Nachteile. Der größte Vorteil ist meiner Meinung, dass eine Struktur vorgegeben ist und somit der Administrator eine gewisse Hierarchie 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 manche Administratoren dadurch in der Individualisierung ihrer Website beschränkt fühlen. Das Menü Content stellt verschiedene Arbeitsbereiche zur Verfügung, um die Inhalte und die Strukturen zu bearbeiten (Abbildung 4.58).
Abbildung 4.58: Menü Content
107
Sandini Bib 4 Joomla! anpassen – Customizing
4.6.1
Content By Section
Hier werden Ihnen die Inhalte sortiert nach Section angezeigt. Die nächste Gliederungsstufe 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 Kategorien 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 Beispiel die Kategorie Joomla! Buch anlegen. Klicken Sie auf NEW.
Abbildung 4.59: Content – neue Kategorie »Joomla! Buch« anlegen 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 The News Image: Hier können Sie ein Bild auswählen, das beim Aufruf der Kategorie auf der Website dargestellt wird. Das Bild muss sich im Media Manager-Wurzelverzeichnis befinden (/images/stories/). Ich habe articles.jpg ausgewählt.
108
Sandini Bib 4.6 Menü Content
Image Position: Hier können Sie die Ausrichtung des Bildes festlegen. Ordering: Hier wird die Sortierung der Kategorie bestimmt. In diesem Fall handelt es sich um ein neues Element, das standardmäßig am Ende eingeordnet wird. Nach dem ersten Speichern kann die Reihenfolge geändert werden. Access Level: Wer hat Zugriff auf dieses Element? Published: Soll die Kategorie sofort veröffentlicht werden? Description: Das ist die Beschreibung der Kategorie. Falls Sie in SITE – GLOBAL CONFIGURATION – SITE den WYSIWYG-Editor ausgewählt haben (Kapitel 4.4.1), wird Ihnen hier eine kleine Textverarbeitung angeboten. Parameter für diese Kategorie können Sie erst nach dem ersten Speichern festlegen. Klicken Sie auf SAVE. Sie landen im Category Manager und sehen die neue Kategorie Joomla! Buch (Abbildung 4.60).
Abbildung 4.60: Content – neue Kategorie im Category Manager Content Item: Nachdem wir nun eine neue Kategorie angelegt haben, wollen wir einen Inhalt in diese Kategorie einfügen. Klicken Sie auf CONTENT – CONTENT BY SECTION – NEWS – NEWS ITEMS. Sie landen im Content Items Manager und sehen die vier Standardeinträge aus den Joomla!-Beispieldaten. Klicken Sie auf NEW, um in den Arbeitsbereich Content Item: New zu gelangen (Abbildung 4.61). Sie sehen ein Formular, das wiederum aus mehreren Bereichen besteht. Im linken Teil steht der eigentliche Inhalt, im rechten Teil befinden sich mehrere Karteireiter mit verschiedenen Parametern.
109
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.61: Content – Content Item-Arbeitsbereich 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 werden soll. Wählen Sie News. Category: Abhängig von der ausgewählten Section werden die vorhandenen Kategorien angezeigt. Wählen Sie Joomla! Buch. Intro Text/Main Text: Hier geben Sie Ihre eigentliche Nachricht ein. Der Intro Text muss ausgefüllt werden, der Main Text ist optional. Mit einem Klick auf das PREVIEW-Icon können Sie sich in einem eigenen Browserfenster eine Vorschau Ihres Textes anzeigen lassen (Abbildung 4.62).
110
Sandini Bib 4.6 Menü Content
Abbildung 4.62: Content – Content Preview Um die neue Nachricht gleich in das Menü Suche zu integrieren, klicken Sie nun auf den Karteireiter Link to Menu (Abbildung 4.63).
Abbildung 4.63: Content – Content Item-Arbeitsbereich – Link to Menu 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 ein und klicken Sie dann auf den Button LINK TO MENU. Die Seite baut sich neu auf und im unteren Bereich Existing Menu Links sehen Sie, dass Ihre Nachricht in das Menü aufgenommen wurde. Klicken Sie auf das Icon SAVE. Wenn Sie jetzt auf Ihre Website schauen, stellen Sie fest, dass das Menü Suche einen Eintrag mehr besitzt. Nach einem Klick auf den Eintrag sehen Sie Ihre Nachricht (Abbildung 4.64).
111
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.64: Die erstellte Nachricht auf der Website
4.6.2
All Content Items
Das Menü All Content Items führt Sie in den Content Manager (Abbildung 4.65). Der Content Manager ist die zentrale Schaltstelle für jede Art von Inhalt. In drei Optionslisten im Informationsbereich können Sie die angezeigten Inhalte nach Section (Bereich), Kategorie und Autor filtern. Außerdem finden Sie dort ein Suchfeld, mit dem Sie in den Titeln suchen können. Im unteren Bereich ist die Navigationsleiste angeordnet, mit deren Hilfe Sie durch die Inhalte blättern können. In einer Optionsliste können Sie auswählen, wie viele Einträge Sie in der Liste sehen wollen. Standardmäßig gilt hier die Einstellung, die Sie unter SITE – GLOBAL CONFIGURATION – SITE eingestellt haben. Die Liste ist sortiert nach Section, Kategorie, Autor und Titel.
Abbildung 4.65: Content – Content Items Manager
112
Sandini Bib 4.6 Menü Content
Beschreibung der Tabelle Vor dem Titel ist eine Checkbox, mit der Sie die zu bearbeitenden Elemente auswählen können. Wenn Sie die Checkbox in der Kopfzeile anwählen, werden alle Elemente der Liste ausgewählt. Der Titel führt als Link zum Editiermodus des Content Items (Abbildung 4.65). Published zeigt an, ob der Eintrag veröffentlicht ist (grüner Haken) oder nicht (rotes Kreuz). Außer diesen beiden Symbolen besteht auch noch die Möglichkeit, dass die Veröffentlichungsperiode abgelaufen ist und das Element im Archiv liegt. Frontpage zeigt an, ob der Eintrag auf der Frontpage (siehe Kapitel 4.6.6) veröffentlicht ist (grüner Haken) oder nicht (rotes Kreuz). Unter Reorder können Sie die Einträge durch Klick auf die blauen Pfeile innerhalb einer Section verschieben. Bei Order können Sie diese Sortierung durch die Eingabe einer Zahl vornehmen. Unter Access sehen Sie grüne Public-Links. Durch Klick auf einen dieser Links ändern Sie die Zugriffsrechte zwischen den drei Gruppen Public, Registered und Special. Daneben gibt es auch noch Symbole für Pending (Wartezustand) und Expired (abgelaufen). ID ist die Datensatznummer innerhalb der Tabelle von MySQL. Diese ID taucht in dem URL zu diesem Eintrag wieder auf. Section ist der Bereich, dem dieser Eintrag zugeordnet ist. Durch einen Klick auf den Link gelangen Sie in den Section Manager. Category ist die Kategorie, in der dieser Eintrag eingeordnet ist. Ein Klick auf den Link führt Sie in den Category Manager. Author ist der Autor des Eintrags. Durch einen Klick auf den Link gelangen Sie in den User Manager. Date schließlich ist das Erstellungsdatum des Eintrags.
4.6.3
Static Content Manager
Der Static Content Manager sieht aus wie der Content Manager, hat aber keine Felder für Sections und Kategorien. Unter Static Content versteht man so etwas Ähnliches wie eine statische HTML-Seite. Innerhalb von Joomla! werden normalerweise Inhaltselemente und Nachrichten innerhalb von Kategorien und Sections erstellt und eingeordnet. Die Inhaltselemente haben einen dynamischen Charakter, da sie meist in einer chronologischen Abfolge angezeigt werden. Static Content ist statisch und bezieht sich auf Inhalte, die sich selten ändern und die in keinem chronologischen Zusammenhang zu anderen Inhaltselementen stehen.
113
Sandini Bib 4 Joomla! anpassen – Customizing
Das für jeden deutschen Internetauftritt vorgeschriebene Impressum wäre ein gutes Beispiel für ein statisches Element. Auch in den Beispieldaten finden Sie einen Beispieltext für Static Content, nämlich die Lizenzbedingungen von Joomla! (Joomla! Licence Guidelines).
Abbildung 4.66: Content – Static Content Manager Lassen Sie uns am Beispiel Ihres Impressums die Erstellung von Static Content Manager durchgehen. Klicken Sie dazu auf NEW. Sie sehen eine Eingabemaske wie in Abbildung 4.66, diesmal allerdings nur mit einem Textfeld. Geben Sie als Title und Title Alias Impressum ein und als Text Ihre Adresse und klicken Sie auf das Icon APPLY.
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 grafischen Kalender als Eingabehilfe (Abbildung 4.67/4.68). Start Publishing dient dazu, den Start der Veröffentlichung festzulegen. Standardmäßig werden Inhalte sofort veröffentlicht. Durch einen Klick auf die drei Punkte erscheint ein grafischer Kalender als Eingabehilfe (Abbildung 4.67/4.68). Finish Publishing: Hier können Sie das Verfallsdatum des Inhalts bestimmen. Standardmäßig verfallen Inhalte nie (never). Ein Klick auf die Schaltfläche mit den drei Punkten zeigt Ihnen wieder den grafischen Kalender (Abbildung 4.67/4.68).
114
Sandini Bib 4.6 Menü Content
Abbildung 4.67: Content – Static Content Item – Publishing Content ID: Die Datensatznummer Hits: Zugriffe auf diesen Inhalt Version: Das Dokument hat die Versionsnummer 1. Bei jedem Speichervorgang wird die Versionsnummer um eins hochgezählt.
Abbildung 4.68: Kalenderelement
115
Sandini Bib 4 Joomla! anpassen – Customizing
Images Sie können jedem Inhalt ein beliebiges Bild aus dem Media Manager zuordnen. Sollte es noch nicht im Media Manager vorhanden sein, können Sie es durch Klick auf das Icon UPLOAD während der Bearbeitung hochladen (Abbildung 4.69). Bei dieser Art des Datei-Uploads können Sie allerdings kein Zielunterverzeichnis angeben.
Abbildung 4.69: Content – Static Content Item – Images – Upload-Fenster
Abbildung 4.70: Content – Static Content Item – Images Wählen Sie ein Unterverzeichnis aus und klicken Sie auf ein Bild (Abbildung 4.70). Sie erhalten im rechten Bereich eine Vorschau des Bildes und müssen nun noch auf den Button ADD klicken. Im Fenster darunter sehen Sie jetzt den Dateinamen (Abbildung 4.71). Wenn Sie auf ihn klicken, erscheint die Bildervorschau. Sie können beliebig viele Bilddateien zuordnen. Jetzt müssen Sie noch den Ort im Text angeben, an dem das Bild angezeigt werden soll. Dazu benötigen Sie einen Mambot17 mit dem Namen {mosimage}. Positionieren Sie den Cursor an die Stelle, an der das Bild erscheinen soll. Tippen Sie entwe17 Mehr über Mambots in Kapitel 4.9.
116
Sandini Bib 4.6 Menü Content
der per Hand {mosimage} ein oder klicken Sie auf das Icon INSERT IMAGES unter dem Textfenster. 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.
Abbildung 4.71: Content – Static Content Item – Images – Zuordnung des Bildes im Text Neben dem INSERT IMAGE-Icon sehen Sie noch ein INSERT PAGE BREAK-Icon. Das ist ein Mambot, der einen Seitenumbruch repräsentiert – {mospagebreak}. Falls Sie Texte haben, die Sie über mehrere Seiten verteilen wollen, müssen Sie diesen Mambot einfügen.
Abbildung 4.72: Von Joomla! erzeugte Navigationsleiste für mehrseitige Inhalte Bei der Darstellung auf der Website erzeugt Joomla! automatisch eine Buttonleiste zur 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.
117
Sandini Bib 4 Joomla! anpassen – Customizing
Abbildung 4.73: Content – Static Content Item – Parameters
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 eingegebenen Texte werden dann im HTML-Quellcode der Nachricht in den Metatags zusätzlich zu den in der globalen Konfiguration festgelegten Metadaten eingebaut.
Abbildung 4.74: Content – Static Content Item – Meta Info
118
Sandini Bib 4.6 Menü Content
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).
Abbildung 4.75: Impressum – Seite 1
Abbildung 4.76: Impressum – Seite 2 Die Bewertung und die anderen Parameter können Sie noch individuell ausblenden.
119
Sandini Bib 4 Joomla! anpassen – Customizing
4.6.4
Section Manager
Im Section Manager können Sie die Sections (Bereiche) bearbeiten. In der Übersichtstabelle werden Ihnen die Informationen angeboten, die Sie auch schon aus den anderen Listen kennen, in diesem Fall jedoch erweitert um die Anzahl der enthaltenen Kategorien, wie viele davon aktiv sind und wie viele im Mülleimer liegen (Abbildung 4.77).
Abbildung 4.77: Content – Section Manager
4.6.5
Category Manager
Im Category Manager bearbeiten Sie die Kategorien. In der Übersichtstabelle sehen Sie die Informationen, die Sie auch schon aus den anderen Listen kennen, hier ebenfalls zusätzlich die Anzahl der Kategorien, die aktiv sind, und die Anzahl derjenigen, die im Mülleimer liegen (Abbildung 4.78).
Abbildung 4.78: Content – Section Manager
4.6.6
Frontpage Manager
Der Frontpage Manager hat eine besondere Aufgabe. Die Frontpage ist die Titelseite Ihrer Website. Hier werden ausgewählte Inhalte in der Blog Form dargestellt. Blog Form heißt bei Joomla! die Darstellung mehrerer Nachrichten mit Ihrem Intro Text und einem read more-Link in mehreren Spalten. Auf der Frontpage können Sie aus allen Inhalten bestimmte auswählen, unabhängig von Category und Section. Ob ein Inhalt auf der Frontpage erscheint, legen Sie im Content Manager fest. Der Frontpage Manager (Abbildung 4.79) hat den gleichen Aufbau wie der Content Items Manager (Abbildung 4.65). Innerhalb vom Frontpage Manager können Sie die einzelnen Inhalte noch sortieren.
120
Sandini Bib 4.6 Menü Content
Abbildung 4.79: Content – Frontpage Manager
4.6.7
Archive Manager
Die Idee des Archivs ist es, veraltete Inhalte nicht zu löschen, sondern für die Nachwelt zu erhalten.
Abbildung 4.80: Content – Archive Manager Von der Struktur her aufgebaut wie der Content Items Manager (Abbildung 4.65), sammelt der Archive Manager (Abbildung 4.80) alle Inhalte, die durch Klick auf das Icon ARCHIVE archiviert wurden. Die Archive können dann über den Menu Manager beispielsweise in einem neuen Archivmenü angezeigt werden. Dazu gibt es folgende Möglichkeiten (Abbildung 4.54): Blog – Content Category Archive: Darstellung einer bestimmten Kategorie Blog – Content Section Archive: Darstellung einer Section
121
Sandini Bib 4 Joomla! anpassen – Customizing
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 manchmal auch eine Benutzeroberfläche hat. Stellen Sie sich eine Komponente einfach wie eine so genannte Blackbox vor. Ich gebe vorn etwas hinein und hinten kommt etwas heraus. Was drinnen vorgeht, muss ich nicht wissen. Wichtig ist, dass ich die Blackbox zu ganz unterschiedlichen Zwecken benutzen kann. Komponenten können sehr allgemein konstruiert und in handliche Pakete verpackt werden. Diese Idee einer Softwarekomponente ist in Joomla! ähnlich. Geschäftslogik wie beispielsweise Bannerverwaltung oder ein Forum werden allgemein beschrieben und arbeiten dann in Joomla! mit allen Templates und der Joomla!-Administration zusammen.
4.7.1
Install/Uninstall
Grundsätzlich kann jeder eine Komponente schreiben, nach gewissen Regeln verpacken und per Joomla!-Installation in die Website integrieren (Abbildung 4.81).18
Abbildung 4.81: Components – Install/Uninstall
18 Siehe auch Kapitel 7.
122
Sandini Bib 4.7 Menü Components
Die Installation erfolgt wie bei den Sprachdateien entweder über Datei- oder FTPUpload des Komponentenpakets. Benötigte Datenbanktabellen werden bei der Installation angelegt. Unter den Installationsfeldern wird Ihnen angezeigt, ob die zur Installation notwendigen 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 installierten Komponenten. Currently Installed: Name der Komponente Component Menu Link: Benötigte Parameter im URL, um auf die Komponente zugreifen zu können. Diesen Link benötigen nur Komponenten, die von der Website aus 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 Website. Bannerschaltungen werden bei Joomla! auf der Basis von gekauften Bannereinblendungen (Impressions) abgerechnet. Jedes Mal, wenn sich Ihre Website aufbaut, wird ein anderes Banner angezeigt. Jedes Anzeigen zählt als eine Einblendung. Das Banner ist anklickbar und führt auf die Website des Kunden. Die Komponente Banner bietet eine Kunden- und eine Bannerverwaltung. Standardmäßig werden so genannte Fullbanner geschaltet. Ein Fullbanner ist 468 * 60 Pixel groß und sollte eine Dateigröße von 20 Kbyte nicht wesentlich überschreiten. Als Formate stehen gif, jpg und png zur Verfügung. Spielen wir mal eine Bannerschaltung durch. Erstellen oder kopieren Sie sich ein Banner in den Maßen 468 * 60 Pixel (Abbildung 4.82).
Abbildung 4.82: Testbanner in der Größe 468 * 60 Pixel
123
Sandini Bib 4 Joomla! anpassen – Customizing
Manage Clients Bevor Sie ein Banner schalten können, benötigen Sie einen Kunden. Klicken Sie auf COMPONENTS – BANNERS – MANAGE CLIENTS – NEW, eröffnen Sie ein neues Kundenkonto und speichern Sie es dann über SAVE (Abbildung 4.83).
Abbildung 4.83: Components – Banners – Manage Clients – Neuer Kunde Der Banner Client Manager, in dem Sie nach dem Speichern landen, zeigt jetzt Ihren neuen Kunden sowie die Anzahl der aktiven Banner dieses Kunden an.
Manage Banners Um dem Kunden ein Banner zuordnen zu können, klicken Sie auf COMPONENTS – BANNERS – MANAGE BANNERS. Sie sehen den Banner Manager, der eine Übersicht über die vorhandenen Banner gibt (Abbildung 4.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 kleines Upload-Fenster zum Hochladen des Banners öffnet sich. Die Banner tauchen nicht im Media Manager auf, sondern werden im Verzeichnis /images/banner/ gespeichert. Wenn Sie ein Banner wieder löschen wollen, geht das momentan nur per FTPClient.
124
Sandini Bib 4.7 Menü Components
Abbildung 4.84: Components – Banner Manager Nachdem Sie das Banner hochgeladen haben, klicken Sie auf das Icon NEW und füllen das Formular Banner: New aus (Abbildung 4.85).
Abbildung 4.85: Components – Banner Manager – Neues Banner Banner Name: Geben Sie dem Banner einen aussagekräftigen Namen, damit Sie es im Banner 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 oder kreuzen Sie die Checkbox unlimited (unbegrenzt) an.
125
Sandini Bib 4 Joomla! anpassen – Customizing
Banner URL: Wählen Sie aus der Liste der vorhandenen Banner Ihr eben hochgeladenes Banner aus. Nach der Auswahl sehen Sie im unteren Bereich eine Vorschau des Banners. Show Banner: Soll das Banner sofort veröffentlicht werden? Click URL: Geben Sie hier den URL der Website ein, auf die das Banner verweisen soll. Custom banner code: Hier können Sie speziellen Bannercode aus Affiliate-Programmen eingeben. Da diese Maske auch zum Editieren von Bannern gedacht ist, finden Sie noch die Anzeige der bereits erfolgten Klicks und einen RESET-Button, um die Clicks wieder auf null zu setzen. Nach einem Klick auf das Icon SAVE sollte sich Ihr Banner nun in der Rotation befinden und auf der Website angezeigt werden.
Abbildung 4.86: Kundenbanner auf der Website
4.7.3
Contacts
Wenn sich ein Kunde auf Ihrer Website bewegt und Kontakt mit Ihnen aufnehmen will, so ist das für ihn oft gar nicht so einfach. Normalerweise arbeiten in Firmen viele Angestellte 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, Kontaktkategorien festzulegen. In diese Kategorien können Sie Ansprechpartner Ihrer Firma eintragen. Joomla! erzeugt auf der Website dann ein Kontaktformular für jeden Mitarbeiter.
Manage Contacts Klicken Sie auf COMPONENTS – CONTACTS – MANAGE CONTACTS. Sie sehen den Contact Manager und einen Kontakt aus den Beispieldaten (Abbildung 4.87).
126
Sandini Bib 4.7 Menü Components
Abbildung 4.87: Components – Contact Manager Markieren Sie den Beispielkontakt und klicken Sie auf das Icon UNPUBLISH. Mit NEW legen Sie einen neuen Kontakt an (Abbildung 4.88).
Abbildung 4.88: Components – Contacts – neuer Kontakt Category: Wählen Sie hier die Kontaktkategorie aus. Momentan gibt es die Beispielkategorie Contacts. Linked to User: Mit dieser Option können Sie einen Kontakt mit einem Benutzerkonto verbinden. Da ich mir bereits ein Konto angelegt habe, kann ich es jetzt auswählen. Die restlichen Felder können Sie mit den entsprechenden Adressdaten füllen und bei Miscellaneous Info noch eine Beschreibung hinzufügen. Zum Speichern klicken Sie auf das Icon SAVE.
127
Sandini Bib 4 Joomla! anpassen – Customizing
Um das Ganze besonders schön zu machen, ändern Sie im Menu Manager in den Menüs mainmenu und topmenu die Einträge Contact us in Kontakt. Wenn Sie nun auf einen der beiden Kontaktlinks klicken, sehen Sie Ihre Daten und ein Formular (Abbildung 4.89).
Abbildung 4.89: Kontaktformular Eine VCard ist ein Dateiformat, das sich in viele Adressverzeichnisse automatisch eintragen lässt.19 Da wir den Beispieleintrag nicht veröffentlicht haben, gibt es momentan nur einen Kontakt im System und keine Notwendigkeit, Kategorien anzuzeigen. Daher verzweigt der Kontaktlink sofort auf den einen Eintrag. Wenn Sie den Beispieleintrag wieder veröffentlichen, bietet sich folgendes Bild (Abbildung 4.90):
Abbildung 4.90: Kontaktkategorienliste Hier werden die vorhandenen Kontaktkategorien angezeigt. Nach einem Klick auf die Kategorie erhalten Sie eine Tabelle mit den vorhandenen Kontakten (Abbildung 4.91).
19 http://de.wikipedia.org/wiki/VCard.
128
Sandini Bib 4.7 Menü Components
Abbildung 4.91: Kontaktliste innerhalb einer Kategorie Wenn Sie nun auf den Namen klicken, erhalten Sie das Kontaktformular (Abbildung 4.89).
Abbildung 4.92: Neuer Kontakt – Publishing Bei der Erstellung des Kontaktes sind Ihnen sicher die Karteireiter aufgefallen. Unter dem Reiter Publishing (Abbildung 4.92) legen Sie fest, welcher Kontakt der Standardkontakt ist (Site Default). Außerdem können Sie die Veröffentlichung bestimmen, die Sortierung und die Zugriffsberechtigungen. Unter dem Reiter Image können Sie jedem Kontakt ein Bild zuordnen. Fotografieren Sie Ihre Belegschaft und lassen Sie Ihren Kunden wissen, wie der Mensch aussieht, an den er schreibt (Abbildung 4.93).
Abbildung 4.93: Neuer Kontakt – Images
129
Sandini Bib 4 Joomla! anpassen – Customizing
Unter dem Reiter Parameter lässt sich schließlich das Kontaktformular komplett individualisieren. 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 vorhandene ändern (Abbildung 4.94).
Abbildung 4.94: Contacts – Kategoriemanager Nach einem Klick auf das Icon EDIT oder den Kategorienamen wird Ihnen das Editierformular angezeigt (Abbildung 4.95). Auch hier können Sie ein Bild zuordnen und mit Hilfe des WYSIWYG-Editors die Beschreibung ändern. Im rechten Bereich lässt sich die Kategorie gleich einem bestimmten Menü zuordnen. Dabei können Sie noch entscheiden, ob Sie gleich die Tabellendarstellung oder zunächst eine Auflistung aller Kategorien haben wollen (Select Menu Type).
Abbildung 4.95: Contacts – Kategoriemanager – Edit
130
Sandini Bib 4.7 Menü Components
4.7.4
Mass Mail
Erfreuen Sie Ihre Benutzer mit Rundmails (Abbildung 4.96)!
Abbildung 4.96: Components – Mass Mail So zynisch dieser Satz im Zeitalter massiven E-Mail-Spams auch klingen mag, es ist der beste Weg, mit seinen registrierten Benutzern Kontakt aufzunehmen. Die Mass Mail-Komponente bietet Ihnen die Möglichkeit dazu. Group: Hier können Sie auswählen, an welche Benutzergruppe die Rundmail gerichtet ist. Mail to Child Groups: Wenn Sie hier ein Kreuzchen setzen, werden die Untergruppen der ausgewählten Benutzergruppe ebenfalls angeschrieben. Send in HTML mode: Hier können Sie ein Kreuzchen setzen, wenn Sie die Rundmail im HTML-Format verschicken wollen. HTML-Mails nehmen immer mehr zu. Sie sollten trotzdem daran denken, dass viele E-Mail-Clients die HTML-Darstellung ausschalten können und Empfänger aus verschiedenen Gründen keine HTML-Mails mögen könnten. Subject: Der Betreff Ihrer E-Mail Message: Der eigentliche Text Um die Rundmail zu verschicken, müssen Sie die Maileinstellungen in SITE – GLOBAL CONFIGURATION – MAIL korrekt gesetzt haben. Wenn Sie beispielsweise aus Ihrer lokalen Umgebung eine Rundmail schicken wollen, aber keinen Mailserver laufen haben, so können Sie in den Maileinstellungen auch den SMTP-Server Ihres Mailproviders eintragen.
131
Sandini Bib 4 Joomla! anpassen – Customizing
4.7.5
Newsfeeds
Newsfeeds sind eine tolle Sache. Die immer größere Informationsfülle im Internet macht es notwendig, effektive Methoden der Organisation zu erproben. Wenn Sie beispielsweise 20 Internetseiten haben, die Sie regelmäßig besuchen, um nachzuschauen, was es Neues gibt, so dauert das einfach Zeit. Bei 50 oder 100 Seiten ist es schon hoffnungslos, den Überblick zu behalten. Newsfeeds sind ein Versuch, das Problem zu lösen. Was Newsfeeds 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 einbinden. Dazu stehen Ihnen eine Kategorie und ein Inhaltsmanager zur Verfügung. In den Beispieldaten sind bereits mehrere Kategorien und zahlreiche Newsfeeds enthalten. Binden Sie mal ein eigenes Newsfeed ein. Sie können eine Suchmaschine für diesen Zweck benutzen20 oder bei den Sites, die Sie besuchen, den kleinen XML-Button suchen.
Manage Newsfeeds Klicken Sie auf COMPONENTS – NEWSFEEDS – MANAGE NEW FEEDS – NEW (Abbildung 4.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 sein in Sekunden? Ordering: Die Reihenfolge. Neue Newsfeeds stehen standardmäßig am Anfang. Die Reihenfolge kann geändert werden, nachdem gespeichert wurde. Published: Soll es gleich veröffentlicht werden?
Abbildung 4.97: Neues Newsfeed einbinden
20 Z.B. http://www.rss-verzeichnis.de/.
132
Sandini Bib 4.7 Menü Components
Ihr neues Newsfeed, einen Internetzugang vorausgesetzt, wird jetzt in Ihrer Website angezeigt (Abbildung 4.98). In der Joomla 1.0.0-Version gibt es allerdings noch Probleme 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
284 echo htmlentities( $currChannel->getDescription() ,ENT_QUOTES,'utf-8'); ?> 317: 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
133
Sandini Bib 4 Joomla! anpassen – Customizing
Manage Categories Hier können Sie die Newsfeed-Kategorien verwalten. Die Verwaltung funktioniert analog zum Contacts-Kategoriemanager (Abbildung 4.94).
4.7.6
Polls
Das integrierte Umfragemodul erlaubt es Ihnen, Umfragen auf Ihrer Website anzubieten. 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 werden kann. Dieser Lag ist ein gewisser Schutz vor der Verfälschung der Umfrageergebnisse. Options: Hier können Sie bis zu zwölf Antwortoptionen eingeben. Show on menu items: In diesem Feld können Sie auswählen, in welchem Bereich der Website die Umfrage angezeigt werden soll. Mehrfachauswahl mit gedrückter (Strg)-Taste und linker Maustaste.
Abbildung 4.99: Components – Poll – Edit 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 aktuellen Template Umfragen vorgesehen sind. Auf Ihrer Website können Sie dann die Umfrage sehen (Abbildung 4.100).
134
Sandini Bib 4.7 Menü Components
Abbildung 4.100: Umfrage auf der Website Wenn Sie jetzt die Umfrage ausprobieren und eine Antwort wählen, erscheint eine Auswertungsmaske. Die Umfrage selbst wird jetzt vermutlich nicht mehr gezeigt, denn sie war standardmäßig nur der Frontpage zugeordnet. Die Zuordnung zu den einzelnen Seiten konfigurieren Sie im Modulmanager (siehe Kapitel 4.8.2).
Abbildung 4.101: Umfrageauswertung auf der Website
4.7.7
Syndicate
In der Komponente Syndicate können Parameter für das Erzeugen von Newsfeeds festgelegt werden.
135
Sandini Bib 4 Joomla! anpassen – Customizing
Ein Newsfeed ist eine XML-Datei, die nach den gängigen Standards aufgebaut ist (Listing 4.1). Sie können diese Datei durch einen Klick auf den RSS 0.91-Button auf Ihrer Website (Abbildung 4.102) erzeugen. Sie ist nicht zum Lesen gedacht, sondern dient lediglich 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 Programm. Listing 4.1: Von Joomla! erzeugtes XML-Newsfeed im Format RSS 0.91