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


381 22 12MB

German Pages 307

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Joomla! - Websites organisieren und gestalten mit dem Open Source-CMS......Page 3
Inhaltsübersicht......Page 5
2 Installation......Page 7
4 Joomla! anpassen – Customizing......Page 8
5 Nützliche Erweiterungen......Page 9
7 Eigene Komponenten, Module und Mambots......Page 11
Stichwortverzeichnis......Page 12
Wer bin ich?......Page 13
Was bedeutet das für Ihre Website?......Page 14
Was ist Joomla!?......Page 15
Noch Fragen?......Page 16
1.1 Contentmanagementsystem (CMS)......Page 17
1.2 Ein kurzer Blick in die Geschichte......Page 18
1.2.1 Joomla! – wie kam es dazu?......Page 20
1.3.1 Front- und Backend......Page 22
1.3.6 Workflow......Page 23
1.4 Joomla! als Immobilie?......Page 24
1.4.2 Nummerierungssystem der Joomla!-Versionen......Page 25
1.4.3 Zeitleiste (Roadmap)......Page 26
1.4.4 Joomla!-Features......Page 27
1.4.5 Beispiele für Joomla!-Seiten......Page 28
2 Installation......Page 33
2.1.1 Windows......Page 34
2.1.2 Linux......Page 37
2.2 Auf einem virtuellen Server im Netz......Page 39
2.3 Joomla! installieren......Page 40
2.3.2 Lokale Installation von Joomla!......Page 41
3.1 Frontend......Page 51
3.1.1 Menüs......Page 52
3.1.2 Inhalte......Page 53
3.1.4 Funktionen......Page 56
3.1.5 Dekorative Elemente......Page 59
3.2 Backend......Page 60
4.1 Eine andere Sprache für das Frontend......Page 63
4.1.1 Installation einer anderen Sprachdatei......Page 64
4.1.2 Übersetzen eines Menüeintrags......Page 65
4.1.4 Ändern des Templates für Ihre Website......Page 68
4.2 Aufbau der Joomla!-Administration......Page 70
4.3 Menü Help......Page 73
4.4 Menü Site......Page 74
4.4.1 Site – Global Configuration......Page 75
4.4.2 Site – Language Manager......Page 87
4.4.3 Site – Media Manager......Page 88
4.4.4 Site – Preview......Page 89
4.4.5 Site – Statistics......Page 90
4.4.6 Site – Template Manager......Page 91
4.4.7 Site – Trash Manager......Page 93
4.4.8 Site – User Manager......Page 94
4.5.1 Vorhandenes Menü anpassen......Page 97
4.5.2 Neues Menü erzeugen......Page 102
4.6 Menü Content......Page 107
4.6.1 Content By Section......Page 108
4.6.2 All Content Items......Page 112
4.6.3 Static Content Manager......Page 113
4.6.6 Frontpage Manager......Page 120
4.6.7 Archive Manager......Page 121
4.7.1 Install/Uninstall......Page 122
4.7.2 Banner......Page 123
4.7.3 Contacts......Page 126
4.7.4 Mass Mail......Page 131
4.7.5 Newsfeeds......Page 132
4.7.6 Polls......Page 134
4.7.7 Syndicate......Page 135
4.7.8 Weblinks......Page 139
4.8 Menü Modules......Page 140
4.8.2 Site Modules......Page 141
4.8.3 Modul kopieren......Page 152
4.8.4 Administrator-Module......Page 153
4.9.1 Install New Mambots......Page 154
4.9.2 Site Mambots......Page 155
4.10 Menü Installers......Page 157
4.12 Menü System......Page 158
4.12.1 Global Check-in......Page 159
5 Nützliche Erweiterungen......Page 161
5.1.1 Was kann Simpleboard?......Page 162
5.1.2 Installation von Simpleboard......Page 163
5.1.3 Administration von Simpleboard......Page 164
5.1.4 Benutzer Frontend......Page 171
5.1.5 Simpleboard-Module......Page 175
5.2.1 Installation......Page 176
5.2.2 Konfiguration......Page 177
5.2.3 Benutzer Frontend......Page 182
5.2.4 Module......Page 183
5.3 Galerie......Page 184
5.3.2 Installation Zoom Media Gallery......Page 185
5.3.4 Administration Zoom Gallery......Page 186
5.3.5 Benutzer Frontend......Page 194
5.4 Kommentare......Page 195
5.4.1 Installation......Page 196
5.4.2 Administration......Page 197
5.5 Dokumentenmanagement / Downloadbereich......Page 198
5.5.1 Installation......Page 199
5.5.3 Administration......Page 200
5.5.4 Module......Page 207
5.6 Shopsystem......Page 208
5.6.1 Installation......Page 209
5.6.3 Konfiguration......Page 212
5.6.5 Der Bestellvorgang......Page 215
5.6.6 Die Bestellungsverwaltung im Backend......Page 218
5.6.7 Module......Page 219
5.7 Mehrsprachigkeit mit Mambelfish......Page 220
5.7.1 Installation von Mambelfish (Komponente und Modul)......Page 221
5.7.2 Konfiguration von Mambelfish......Page 222
5.7.3 Übersetzung mit Mambelfish......Page 224
5.7.5 Eigene Komponenten in Mambelfish einbinden......Page 226
6.1 Corporate Identity......Page 227
6.2.2 CSS......Page 228
6.3.1 Konzept......Page 230
6.3.2 HTML-Umsetzung......Page 232
6.3.3 Dateistruktur des Templates......Page 233
6.3.4 Erster Probelauf......Page 235
6.3.5 Integration der Joomla!-Module......Page 236
6.3.6 Ein Template-Paket erstellen......Page 239
6.3.7 Installation mit dem Joomla!-Template Installer......Page 240
6.4.2 Neue Template-Datei erstellen......Page 241
6.4.3 Template-Struktur......Page 244
6.4.4 Live-Seite......Page 248
6.4.5 Templates und DIV-Tags......Page 250
6.5 Barrierefreies Joomla!......Page 251
6.5.1 Kriterien für zugängliche Websites......Page 252
6.5.2 Die Realität......Page 253
6.5.4 Gibt es Möglichkeiten, Joomla! barierrefrei zu gestalten?......Page 254
7 Eigene Komponenten, Module und Mambots......Page 257
7.1 Beispielkomponente joomlabuch......Page 258
7.1.1 Die MySQL-Tabelle......Page 259
7.1.2 Das Frontend......Page 262
7.1.3 Integration in das Hauptmenü......Page 265
7.1.4 Die Joomla!-Administration......Page 266
7.1.5 Installationspaket erstellen......Page 275
7.2.1 Quellcode......Page 278
7.2.2 Installation......Page 279
7.3 Mambots......Page 280
7.4 Schlussbemerkung......Page 282
A.2 Downloads......Page 283
A.2.1 Betriebssystemunabhängig......Page 284
A.3.1 CSS......Page 285
A.3.2 PHP und andere Einschübe in der index.php Ihres Templates......Page 289
A.3.3 Wie tausche ich ein Bild (Logo) im Template aus?......Page 290
A.4 Joomla! API......Page 291
A.6 Migration von Mambo zu Joomla!......Page 292
A.6.1 Daten sichern......Page 293
A.6.3 Die Quellcode-Dateien müssen aktualisiert werden......Page 295
A.6.6 Eventuelle eigene Programmänderungen müssen aktualisiert werden......Page 298
A.6.8 Sicherheit ohne globale Variablen......Page 299
Danke......Page 301
F......Page 303
P......Page 304
Z......Page 305
Ins Internet: Weitere Infos zum Buch, Downloads, etc.......Page 0
© Copyright......Page 307
Recommend Papers

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

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

Joomla!

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

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

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

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

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

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

4

40

Menüs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51 51 52

3.1.2

Inhalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

53

3.1.3

Werbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.1.4

Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

3.1.5

Dekorative Elemente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.1.6

Aussichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

3.2 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

Joomla! anpassen – Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

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

Installation einer anderen Sprachdatei . . . . . . . . . . . . . . . . . . . . . . . . .

64

4.1.2

Übersetzen eines Menüeintrags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65

4.1.3

Ändern der Menübezeichnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

4.1.4

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

68

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

70

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

73

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

Site – Global Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

4.4.2

Site – Language Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

4.4.3

Site – Media Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

4.4.4

Site – Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

4.4.5

Site – Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

4.4.6

Site – Template Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

4.4.7

Site – Trash Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

4.4.8

Site – User Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

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

8

4.5.1

Vorhandenes Menü anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

4.5.2

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

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

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

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

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

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

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

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

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

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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/

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

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.

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



 



 





















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

Abbildung 6.5: Template mit dynamischen Daten Um die Optik zu verfeinern, wollen wir noch einen kleinen Einstieg in die CSS-Formatierung wagen. Kopieren Sie sich den folgenden Code in Ihre template_css.cssDatei (Listing 6.5). Hier wird einfach festgelegt, dass die Standardschrift Arial sein soll, die Links nicht unterstrichen sein sollen, und wenn Sie mit der Maus über einen Link fahren, soll die Schrift eine andere Farbe erhalten und fett dargestellt werden.10 10 Mehr über CSS erfahren Sie auf http://de.selfhtml.org/css/.

238

6.3 Templates selbst erstellen

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

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

Abbildung 6.6: Template mit CSS-Datei

6.3.6

Ein Template-Paket erstellen

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

239

6 Joomla!-Templates selbst schreiben

Markieren Sie dazu alle Dateien und Ordner im Ordner [PfadzuJoomla!]/templates/joomla_buch/

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

6.3.7

Installation mit dem Joomla!-Template Installer

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

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

Abbildung 6.8: Neues Template im Template Manager

240

6.4 Template mit der Dreamweaver-Extension erstellen

6.4

Template mit der Dreamweaver-Extension erstellen

Es gibt für den HTML-Editor Dreamweaver eine so genannte Extension, mit der Sie die Template-Erstellung komplett in Dreamweaver vornehmen können. Sie benötigen eine aktuelle Version von Dreamweaver (ab MX 2004) und können dort die Template Builder Extension installieren. Das Programm ist ursprünglich für Mambo 4.5.1 erstellt worden, arbeitet aber auch gut mit Joomla! 1.0 zusammen.

6.4.1

Installation

Laden Sie sich die Datei mambosolutionsDW_107.zip.11 Starten Sie Dreamweaver, klicken Sie auf BEFEHLE –> ERWEITERUNGEN VERWALTEN. Der Macromedia Extension Manager öffnet sich. Wählen Sie die Datei aus und klicken Sie auf INSTALLIEREN.

Abbildung 6.9: Dreamweaver-Extension installieren

6.4.2

Neue Template-Datei erstellen

Um die Erweiterung zu aktivieren, müssen Sie Dreamweaver neu starten. Öffnen Sie ein neues Dokument vom Typ dynamische Seite. Klicken Sie auf DATEI –> NEU –> DYNAMISCHE SEITE –> PHP (Abbildung 6.10).

11 Downloadmöglichkeit siehe Anhang.

241

6 Joomla!-Templates selbst schreiben

Abbildung 6.10: Dreamweaver-Dokument neu anlegen Nach dem Erstellen der Datei sehen Sie im oberen Bereich eine MamboOS-Palette. Hier gibt es verschiedene Buttons, mit denen Sie die Template-Elemente einfügen können (Abbildung 6.11).

Abbildung 6.11: Template-Palette in Dreamweaver

242

6.4 Template mit der Dreamweaver-Extension erstellen

Als Erstes müssen Sie im Quellcodefenster den von Dreamweaver erzeugten Kopfbereich der Seite löschen (Abbildung 6.12) und durch den Joomla!-spezifischen Bereich ersetzen.

Abbildung 6.12: Head-Bereich löschen Klicken Sie dazu nacheinander auf die Icons INSERT HEAD CODE, INSERT TITLE und INSERT CSS STYLESHEET einfügen (Abbildung 6.13, Abbildung 6.14, Abbildung 6.15).

Abbildung 6.13: Joomla! Head Code einfügen

Abbildung 6.14: Joomla! Title einfügen

Abbildung 6.15: Joomla! CSS StyleSheet einfügen Jetzt haben Sie genau den Quellcode in Ihrem Kopfbereich, den ein Joomla!-Template benötigt (Abbildung 6.16) und den wir vorhin manuell eintippen mussten.

243

6 Joomla!-Templates selbst schreiben

Abbildung 6.16: Benötigter Head-Code für Joomla!

6.4.3

Template-Struktur

Außer dem speziellen Head-Bereich benötigen Sie jetzt eine Struktur Ihrer Website. Sie können diese Struktur mit Hilfe einer Tabelle erstellen oder mit HTML-Div-Tags. Ich werde hier die Tabellenvariante beschreiben. Falls in Ihrem Dreamweaver der Layout-Modus noch aktiviert ist, beenden Sie ihn bitte. Erzeugen Sie eine Tabellenstruktur, wie es im vorherigen Beispiel beschrieben wurde. Durch einen Klick auf EINFÜGEN –> TABELLE können Sie Ihre gewünschte Struktur erzeugen. Mit Dreamweaver haben Sie sehr viele Möglichkeiten, komplexe Tabellenstrukturen zu erzeugen und Tabellen in sich zu schachteln. Ich zeige hier eine bewusst einfache Variante (Abbildung 6.17). Färben Sie die Tabelle nach Ihren Wünschen ein (Abbildung 6.18). Speichern Sie jetzt die Datei ab. Legen Sie sich unter [PfadzuJoomla!]/templates ein neues Unterverzeichnis mit dem Namen MeinTemplate an und speichern Sie die Datei darin unter dem Namen index.php ab. Legen Sie außerdem ein Verzeichnis css und ein Verzeichnis images an (Abbildung 6.19).

244

6.4 Template mit der Dreamweaver-Extension erstellen

Abbildung 6.17: Anlegen einer einfachen Tabelle

Abbildung 6.18: Tabellenstruktur Im images-Verzeichnis hinterlegen Sie bitte alle Bilder und Grafiken, die Sie in Ihrem Template benutzen werden. Die Grafiken können Sie mit einem handelsüblichen Grafikprogramm wie Photoshop12 oder einer Open Source-Lösung wie Gimp13 erstellen und mit den Mitteln von Dreamweaver in Ihrem Template platzieren.

12 http://www.adobe.de/products/photoshop/. 13 http://www.gimp.org/.

245

6 Joomla!-Templates selbst schreiben

Abbildung 6.19: Verzeichnisstruktur Ihres Templates Im css-Verzeichnis liegt, wie der Name schon sagt, die für das gesamte Template gültige CSS-Datei. Sie muss den Namen template_css.css haben. Sie können die Datei über Dreamweaver erstellen oder eine bereits vorhandene CSS-Datei aus einem anderen Joomla!-Template kopieren. Wenn Sie die Datei mit Dreamweaver erstellen, ändert Dreamweaver den Head-Bereich Ihres Templates, indem er dort einen Verweis zu der neu erstellten CSS-Datei einfügt.

Sie benötigen in Ihrem späteren Template innerhalb von Joomla! den absoluten Pfad und damit die Variante, die wir vorhin bereits eingefügt haben. Dreamweaver wertet die PHP-Tags in unserer Situation nicht aus. Die PHP-Variablen enthalten keinen Wert und so führt der von der Extension eingesetzte CSS-Verweis zunächst ins Leere. Benutzen Sie also zunächst den von Dreamweaver eingefügten Link und entfernen Sie ihn später wieder. Ich empfehle Ihnen, eine bereits vorhandene CSS-Datei zu nutzen, da dort die Joomla!spezifischen Klassen bereits definiert sind. Kopieren Sie also die CSS-Datei oder deren Inhalt aus dem rhuk_solarflare_ii-Template in Ihre frisch erstellte CSS-Datei.

Einfügen der Joomla!-Module Jetzt haben Sie die Basis für das Einfügen der Joomla!-Module. Bewegen Sie den Cursor an die Stelle Ihrer Tabelle, an der Sie beispielsweise das Suchfeld haben wollen, und klicken Sie in der Optionsleiste auf das Icon INSERT SEARCH (Abbildung 6.20).

246

6.4 Template mit der Dreamweaver-Extension erstellen

Abbildung 6.20: Suchfeld einfügen Im Designfenster sehen Sie jetzt ein Suchfeld und im Quellcode wurde jede Menge HTML- und JavaScript-Code hinzugefügt.

Abbildung 6.21: Suchfeld im Template Sie können nun nach und nach die dynamischen Elemente in die entsprechenden Tabellenfelder per Mausklick auf das entsprechende Icon einfügen (Abbildung 6.22).

Abbildung 6.22: Template mit Joomla!-Modulen

247

6 Joomla!-Templates selbst schreiben

6.4.4

Live-Seite

Um das Template in Ihrer Joomla!-Installation zu sehen, müssen Sie die XML-Datei mit dem Namen templateDetails.xml erstellen. Eine Minimalversion ohne Bilder sieht folgendermaßen aus: Listing 6.6: templateDetails.xml

MeinTemplate 09/21/05 Hagen Graf GNU/GPL [email protected] http://www.alternative-unternehmensberatung.de 0.1 ... Beschreibung

index.php template_thumbnail.png

...

css/template_css.css

Für die allgemeine Veröffentlichung und die autarke Installation über den Joomla!Template Installer gelten auch hier die Beschreibungen aus Kapitel 6.3.6. Nachdem die XML-Datei existiert, können Sie in der Joomla!-Administration Ihr neues Template auswählen (Abbildung 6.23), als Standard festlegen und auf Ihrer Joomla!-Seite live ansehen (Abbildung 6.24).

Abbildung 6.23: Template Manager mit eigenem Template

248

6.4 Template mit der Dreamweaver-Extension erstellen

Abbildung 6.24: Ihre Website mit Ihrem Template Mit diesem Konstrukt können Sie jetzt in Dreamweaver arbeiten, den Designmodus und die vielen Features von Dreamweaver verwenden und nach dem Speichern sofort live das Ergebnis auf Ihrer Website überprüfen. Mit einem Grafikprogramm können Sie sich ein Logo und grafische Elemente erstellen und per Dreamweaver in den HTML-Code einfügen. Sie können Dreamweaver sogar so konfigurieren, dass Ihre gerade bearbeitete Template-Datei auf dem entfernten FTP- oder WebDAV-Server Ihres Providers automatisch aktualisiert wird. Richten Sie sich dazu eine Dreamweaver Site ein mit dem Root-Pfad zu Ihren Joomla!Dateien und den entsprechenden Zugangsdaten zu Ihrer Live-Seite (Abbildung 6.25).

Abbildung 6.25: Dreamweaver mit Site-Nutzung

249

6 Joomla!-Templates selbst schreiben

6.4.5

Templates und DIV-Tags

Momentan arbeitet Joomla! in Contentbereich mit HTML-Tabellendarstellungen. In den nächsten Versionen von Joomla! wird diese Vorgehensweise verändert werden, um den barrierefreien Anforderungen Genüge zu tun. In HTML gibt es als Ersatz und als Ergänzung für das

-Tag das -Tag. Sie können damit mehrere HTML-Elemente wie Text und Grafiken in einen gemeinsamen Bereich einschließen. Dieser allgemeine Bereich bewirkt zunächst nichts weiter, als dass er in einer neuen Zeile des Fließtextes beginnt. Das -Tag hat keine weiteren Eigenschaften. Der große Vorteil ergibt sich allerdings aus der Kombination von -Tags mit CSS-Anweisungen. Sie sind für genau diesen Zweck erfunden worden, nämlich um mit Hilfe von CSS-Anweisungen formatiert zu werden. Diese Eigenschaften des -Tags machen es interessant für die Erstellung von Templates, die über eine CSS-Datei gesteuert werden. Das mitgelieferte Template von Marc Hinse benutzt diese Technik. Es enthält keine Tabellen-Tags mehr, sondern bildet die gesamte »tabellarische« Struktur mittels des -Tags ab. Schauen Sie sich den Originalquellcode dieses Templates an, um mit dieser Technik vertraut zu werden. Informationen über das -Tag finden Sie auf selfhtml.14 Dreamweaver unterstützt diese Technik ebenfalls. Ich habe hier exemplarisch alle -Tags aus dem Template extrahiert, um Ihnen einen Überblick über die Struktur zu geben (Listing 6.7). Die id-Attribute beziehen sich jeweils auf eine Klasse in der korrespondierenden CSS-Datei. Listing 6.7: Extrakt aus der Datei /templates/madeyourweb/index.php











joomlabuch 22.09.2005 Hagen Graf GNU/GPL [email protected] www.alternative.unternehmensberatung.de 1.0

joomlabuch.php joomlabuch.html.php

DROP TABLE IF EXISTS `jos_joomla_buch`;

276

7.1 Beispielkomponente joomlabuch

CREATE TABLE `jos_joomla_buch` ( `id` INT NOT NULL AUTO_INCREMENT, `text` TEXT NOT NULL, `published` TINYINT(1) NOT NULL, PRIMARY KEY (`id`) )



DROP TABLE IF EXISTS `jos_joomla_buch`;

install.joomlabuch.php

uninstall.joomlabuch.php

Joomla! Buch

Eintraege bearbeiten

admin.joomlabuch.php admin.joomlabuch.html.php joomlabuch.class.php toolbar.joomlabuch.php toolbar.joomlabuch.html.php



Um das Installationspaket zu erzeugen, müssen Sie alle erstellten Dateien in ein Verzeichnis kopieren und dieses Verzeichnis zu einem ZIP-Paket mit dem Namen der Komponente, in unserem Fall com_joomlabuch.zip, verpacken (Abbildung 7.10).

Abbildung 7.10: Dateien der Komponente Joomla!buch

277

7 Eigene Komponenten, Module und Mambots

Die ZIP-Datei können Sie jetzt mit dem Component Installer wie gewohnt installieren und, wenn Sie wollen, zum Download für andere Anwender bereitstellen. Bevor Sie das tun, sollten Sie die per Hand erstellte Variante über den Component Installer deinstallieren.

7.2

Module

Ein Modul ist von der Idee her sehr viel einfacher. Module haben keine echte Administrationsoberfläche. Es geht immer um die Darstellung auf Ihrer Website und die Einbindung in Ihr Template. Module setzen meist auf vorhandenen Komponenten auf. Sie können also davon ausgehen, dass bestimmte Tabellen und Ihre Inhalte bereits vorhanden sind und gepflegt werden können. Sie benötigen zwei Dateien: eine Datei für die Logik und die Darstellung und die XML-Datei für den Module Installer. Beide Dateien beginnen mit der Kennzeichnung mod_.

7.2.1

Quellcode

mod_joomlabuch.php Im Vergleich zur Komponente ist diese Datei sehr einfach aufgebaut. Es findet eine Datenbankabfrage und die Darstellung der Ergebnisse in einer foreach-Schleife statt. Listing 7.13: mod_joomlabuch.php

mod_joomlabuch.xml Auch hier müssen Sie wie bei der Komponente alle für den Module Installer relevanten Daten in XML-Tags verpacken.

278

7.2 Module

Listing 7.14: mod_joomlabuch.xml

Joomlabuch Hagen Graf 22.09.2005 GNU/GPL [email protected] www.alternative-unternehmensberatung.de 1.0

Mit diesem Modul werden 5 Eintraege aus der Testkomponente Joomlabuch  angezeigt.

Erstellt von [email protected]

Viel Spass mit diesem Modul!

alternative-unternehmensberatung.de

22.09.2005

]]>

mod_joomlabuch.php

7.2.2

Installation

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

Abbildung 7.11: Installationsmeldung des Moduls joomlabuch Aktivieren Sie das Modul im Site Module Manager.

279

7 Eigene Komponenten, Module und Mambots

7.2.3

Ansicht auf der Website

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

Abbildung 7.12: Modul Joomlabuch auf der Website

7.3

Mambots

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

Joomlabuch searchbot Hagen Graf 22.09.2005 GNU/GPL [email protected] www.alternative-unternehmensberatung.de 1.0.0 Dieser Mambot durchsucht die Eintraege der Joomlabuch  Komponente

joomlabuch.searchbot.php



Abbildung 7.13: Installationsmeldung des joomlabuch-Mambots

281

7 Eigene Komponenten, Module und Mambots

Wenn Sie nun den Mambot im Menü MAMBOTS –> SITE MAMBOTS noch aktivieren, ist Ihre Liste über das Suchfeld auf der Website durchsuchbar. Nach Eingabe eines Suchbegriffs wird das Feld text in der Datenbank durchsucht und die Ergebnisse werden in der allgemeinen Suchmaske angezeigt (Abbildung 7.14). Der Searchbot ist bewusst einfach gehalten. An der Fundstelle in den Suchergebnissen sollte natürlich ein Link zur Einzelansicht des Listenelements platziert werden, damit der Suchende jetzt dorthin weitergehen kann. Da wir aber in unserer Komponente keine Einzelansicht vorgesehen haben, können wir hier natürlich keinen Link angeben.

Abbildung 7.14: Der Searchbot joomlabuch im Einsatz

7.4

Schlussbemerkung

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

282

A Anhang A.1

Online-Ressourcen

Joomla! ist ein Open Source-Projekt, das die Ideen und Erfahrungen hunderttausender Menschen sammelt, bündelt, weiterentwickelt und online zur Verfügung stellt. Online finden Sie immer die neuesten Informationen. Im deutschsprachigen Internet haben sich bis jetzt (Oktober 2005) zwei Anlaufstellen gebildet: http://www.joomla.de/ http://www.joomlamagazin.de/ In der Englisch sprechenden Welt gibt es momentan als Anlaufadresse in erster Linie die Joomla.org-Website. http://www.joomla.org/ Sie ist weiter aufgeteilt in die Bereiche: http://help.joomla.org http://forum.joomla.org http://developer.joomla.org Hier finden Sie wirklich alles, was Sie zu einem erfolgreichen Einsatz von Joomla! benötigen.

A.2

Downloads

Sie können die benötigten Softwarepakete von der beiliegenden Buch-CD, von den jeweiligen Projektseiten oder aus einer Zusammenfassung auf unserer Website http://www.alternative-unternehmensberatung.de/ downloaden. Für eine lokale Installation sind die hier angebotenen Dateipakete gut geeignet, da sich dann die Erklärungen im Buch gut nachvollziehen lassen. Um Ihnen das Laden der Software-Pakete von der Buch-CD zu erleichtern, habe ich die Dateien in einer dem Buch entsprechenden Kapitelstruktur abgelegt (siehe Tabelle A.1). Denken Sie aber daran, dass es mit Sicherheit aktuellere Versionen auf den jeweiligen Seiten im Internet gibt.

A Anhang

A.2.1

Betriebssystemunabhängig

Kapitel

Datei

Beschreibung

2

Joomla_Stable_1.0.0.tar.gz

Joomla-Quellcode Version 1.0.0

Joomla_1.8.3-Stable-Full_Package.zip

Joomla-Quellcode Version 1.0.3

xampplite-win32-1.4.15.zip

Entwicklungsumgebung XAMPPLITE

Dreamweaver MX 2004 installieren.exe

Dreamweaver MX 2004-Trial (30 Tage)

4

jos100germani.zip jos100germanf.zip

Deutsche Sprachdateien (Sie- und Du-Anrede)

5

Simpleboard-1.1.0-Stable.zip

Forumskomponente

SB1.1_stable_deutsch.zip

Deutsche Sprachdatei für die Forumskomponente

Mod_simpleboard5.zip

Forumsmodul

Com_events-1.2.zip

Kalenderkomponente

Mod_events_cal-1.1-beta.zip

Kalendermodul

bot_events_search-1.1.zip

Kalender-Mambot

Com_zoom_25b3.zip

Bildergaleriekomponente

Com_akocomment20.zip

Kommentarkomponente

cb_akocommentbot.zip

Mambot für Kommentarkomponente

docmanV13_RC_1.zip

Dokumentenmanagement-Komponente

JOOMLA_com_docman_german_ 1.3_RC1_joomlaGTT.zip

Deutsche Sprachdatei für DOCMan

Mod_mostdownV10_RC_1.zip

Modul für DOCMan

bot_searchV10_RC_2.zip

Mambot für DOCMan

mambo-phpShop_1.2_stablepl3_COMPLETE_PACKAGE.zip

Shopkomponente – Komplettpaket mit Modulen

MambelFish_1.5.zip

Mambelfish-Komponente

Mbf_module.zip

Mambelfish-Modul

Mbf_searchbot.zip

Mambelfish-Such-Mambot

mambosolutionsDW_107.mxp

Dreamweaver-Extension zur TemplateErstellung

Joomlabuch.zip

Eigenes Template

Com_joomlabuch.zip

Eigene Komponente

Mod_joomlabuch.zip

Eigenes Modul

bot_joomlabuch.zip

Eigener Mambot

6

7

Tabelle A.1: Downloads Das Programm Filzip können Sie unter www.filzip.com herunterladen.

284

A.3 Template-Strukturen

A.3

Template-Strukturen

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

A.3.1

CSS

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

Kopfbereich Nachfolgend sehen Sie die CSS-Befehle (Listing A.1) im Kopfbereich und die entsprechenden Stellen auf der Website (Abbildung A.1). Der CSS-Code soll als Beispiel dienen. Es sind nicht alle Stellen mit CSS-Beispielen versehen. Schauen Sie sich CSS-Dateien der vordefinierten Templates an, um weitere Beispiele zu finden. Listing A.1: CSS-Befehle im Kopfbereich .title { font-family: sans-serif; font-size: 20px; font-weight: bold; color : #000000; margin-left: 10px; } .button { font-family : Verdana, Arial, Helvetica, sans-serif; font-style : normal; font-size : 10px; font-weight : bold; background-color : #F0F0F0; color : #000000; border : 1px solid #CCCCCC; }

Abbildung A.1:

Kopfbereich

285

A Anhang

Menübereich Hier sehen Sie die CSS-Befehle im Menübereich (Listing A.2) und die entsprechenden Stellen auf der Website (Abbildung A.2). Listing A.2: CSS-Befehle im Menübereich table.moduletable td { font-size : 11px; font-weight : bold; color : #000000; text-align : left; width : 100%; letter-spacing: 2px; text-indent: 5px; padding-bottom: 3px; } a.sublevel:link, a.sublevel:visited { padding-left: 1px; vertical-align: middle; font-size: 11px; color: #ff6600; text-align: left; } a.sublevel:hover { color: #ff9e31; text-decoration: none; } a.mainlevel:link, a.mainlevel:visited { display: block; color: #ffffff; font-weight: bold; background-image: url(../images/menu_bgr.png); background-repeat: no-repeat; width: 95%; text-indent: 15px; text-decoration: none; font-family: Verdana, Helvetica, Arial, sans-serif; line-height: 20px; margin-bottom: 1px; } a.mainlevel:hover { color: #333333; } .inputbox { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 10px; color : #000000; background-color : #F0F0F0; border : 1px solid #CCCCCC;

286

A.3 Template-Strukturen

} a:link, a:visited { color: #ff6600; text-decoration: none; } a:hover { color: #ff3300; text-decoration: underline; }

Abbildung A.2: Menübereich

Inhaltselemente Hier sehen Sie die CSS-Befehle (Listing A.3) im Inhaltsbereich und die entsprechenden Stellen auf der Website (Abbildung A.3). Listing A.3: CSS-Befehle Inhaltselemente .createdate { font-family : Arial, Helvetica, sans-serif; font-size : 10px; color : #999999; text-align : left; } .contentheading { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 12px; font-weight : bold; color : #ff9900;

287

A Anhang

text-align } .small { font-family font-size color text-decoration font-weight } .contentpane { background } tr, td, p, div { font-family font-size color }

: left;

: : : : :

Verdana, Arial, Helvetica, sans-serif; 10px; #999999; none; bold;

: #dedede;

: Verdana, Arial, Helvetica, sans-serif; : 11px; : #333333;

Abbildung A.3: Inhaltselemente

News-Übersicht Hier sehen Sie die CSS-Befehle in der NEWS-Übersicht und die entsprechenden Stellen auf der Website (Abbildung A.4). Listing A.4: CSS-Befehle News-Übersicht .sectiontableheader { background-color : #CCCCCC; color : #333333; font-weight : bold;

288

A.3 Template-Strukturen

} .sectiontableentry1 { background-color : #F0F0F0; }

Abbildung A.4: News-Übersicht

A.3.2

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

PHP-Code

Wirkung



HEAD

Erzeugung der Metatags, wie in der Global Configuration festgelegt

if ( $my->id ) { initEditor(); }

Initialisierung des WYSIWYG-Editors