 |
|
 |
|
Galileo Computing. Wissen, wie’s geht.
|
 |
TYPO3 4.0 Das Handbuch für Entwickler 978-3-89842-812-5 |
| Inhaltsverzeichnis |
1 ... Vorwort ... 17
1.1 ... Für wen wurde dieses Buch
geschrieben? ... 17
1.2 ... Was befindet sich in diesem
Buch? ... 18
1.3 ... Was enthält die CD-ROM und die
Referenzkarte? ... 18
1.4 ... Die Website zum Buch ... 19
1.5 ... Danke! ... 19
TEIL I: ... GRUNDLAGEN
2 Einführung ... 23
2.1 ... Grundlegendes ... 23
... 2.1.1 ... Trennung von Inhalten und
Darstellung ... 23
... 2.1.2 ... Erweiterbarkeit ... 24
... 2.1.3 ... Mehrsprachigkeit ... 24
... 2.1.4 ... Weitere Funktionen ...
25
... 2.1.5 ... Open Source ... 26
... 2.1.6 ... Entstehung von TYPO3 ...
26
2.2 ... Die TYPO3-Community ... 27
2.3 ... Entwicklung von TYPO3 ... 27
... 2.3.1 ... Neu in Version 4.0 ...
27
... 2.3.2 ... Pläne für die Zukunft ... 30
3 ... Architektur und Aufbau von
TYPO3 ... 31
3.1 ... Systemaufbau ... 31
... 3.1.1 ... Der Systemkern von TYPO3
... 32
... 3.1.2 ... Erweiterungen (Extensions)
... 33
3.2 ... Datenbank ... 34
... 3.2.1 ... MySQL ... 34
... 3.2.2 ... Verwendung anderer
Datenbanken mit TYPO3 ... 34
... 3.2.3 ... Wichtige Tabellen in der
TYPO3-Datenbank ... 35
3.3 ... Dateinamen und Verzeichnisse ...
36
... 3.3.1 ... Verzeichnisse einer
Standard-Installation ... 36
... 3.3.2 ... Wichtige Dateien ... 38
3.4 ... Performance ... 38
... 3.4.1 ... Praktische Hinweise ...
39
... 3.4.2 ... Performance-Steigerungen
... 39
4 ... Ressourcen zu TYPO3 ... 45
4.1 ... Dokumentationen ... 45
... 4.1.1 ... Dokumentationen für
Redakteure ... 46
... 4.1.2 ... Quellcode-Dokumentation
... 46
4.2 ... Websites, Foren und
Mailinglisten ... 47
... 4.2.1 ... Mailinglisten und
Newsgroups ... 48
... 4.2.2 ... TYPO3-Websites ... 48
... 4.2.3 ... T3N – das
TYPO3-Newsmagazin ... 48
TEIL II: ... TYPO3 VERWENDEN
5 Installation und Konfiguration ...
53
5.1 ... Voraussetzungen zum Betrieb von
TYPO3 ... 53
... 5.1.1 ... Hardware und
Betriebssystem ... 53
... 5.1.2 ... Software ... 53
5.2 ... Installation von TYPO3 ... 54
... 5.2.1 ... Basic Configuration ...
57
... 5.2.2 ... Database Analyzer ... 60
... 5.2.3 ... Update-Wizard ... 62
... 5.2.4 ... Image Processing ... 63
... 5.2.5 ... All Configuration ... 64
5.3 ... Installation mehrerer Sites auf
einem TYPO3-System ... 79
... 5.3.1 ... Ein Kern – viele TYPO3 ...
79
... 5.3.2 ... Ein TYPO3 – viele Websites
... 80
... 5.3.3 ... Erstellen multipler Sites
mit Freesite ... 81
5.4 ... Anbindung an bestehende
IT-Strukturen (LDAP) ... 83
... 5.4.1 ... Kurzbeschreibung LDAP ...
83
... 5.4.2 ... Installation der
LDAP-Extension ... 83
... 5.4.3 ... Konfiguration der
LDAP-Extension ... 84
... 5.4.4 ... Kontaktaufnahme zum
LDAP-Server ... 87
... 5.4.5 ... Fehlersuche ... 88
5.5 ... Konfiguration von TYPO3 ... 89
... 5.5.1 ... Wo werden welche Bereiche
von TYPO3 konfiguriert? ... 89
... 5.5.2 ... Allgemeine
Datensatzverwaltung im »Root-Record« ...
90
5.6 ... Backup und Migration von
TYPO3-Sites ... 94
... 5.6.1 ... Import/Export von
t3d-Dateien ... 94
... 5.6.2 ... Sicherung von
TYPO3-Installationen ... 98
6 ... Anpassen des Backends ... 101
6.1 ... Das AdminPanel ... 101
... 6.1.1 ... Kategorien des AdminPanels
... 102
... 6.1.2 ... Eingabe ... 102
... 6.1.3 ... Vorschau ... 103
... 6.1.4 ... Cache ... 103
... 6.1.5 ... Veröffentlichen ... 104
... 6.1.6 ... TypoScript ... 104
... 6.1.7 ... Info ... 105
... 6.1.8 ... Konfiguration des
AdminPanels ... 105
6.2 ... Anpassen des Backends mit
TSconfig ... 106
... 6.2.1 ... TSconfig ... 106
... 6.2.2 ... TypoScript-Wizard ...
107
... 6.2.3 ... Page TSconfig ... 108
... 6.2.4 ... User TSconfig ... 112
... 6.2.5 ... Beispiele zur
Backend-Anpassung ... 114
6.3 ... Rich Text Editor ... 125
... 6.3.1 ... System-Extension RTE ...
125
... 6.3.2 ... htmlArea RTE im
Extension-Manager konfigurieren ...
126
... 6.3.3 ... Standardkonfigurationen
für htmlArea RTE ... 130
... 6.3.4 ... Eine eigene Konfiguration
für htmlArea RTE ... 141
... 6.3.5 ... RTE-Transformationen ...
144
6.4 ... Alternative Editoren für das
Backend ... 147
... 6.4.1 ... Konfiguration der
Benutzeroberfläche des alten
Standard-RTE (bis TYPO3-Version 3.8) ...
148
... 6.4.2 ... Die Toolbar des Rich Text
Editors ... 148
... 6.4.3 ... pageTSconfig.txt ... 149
... 6.4.4 ... Absatzarten und
Zeichenarten begrenzen ... 150
... 6.4.5 ... Klassen definieren und als
Absatzart zuweisen ... 151
... 6.4.6 ... Ausgabekonfiguration ...
154
... 6.4.7 ... FCKeditor ... 157
... 6.4.8 ... TinyMCE ... 158
6.5 ... Eine Beispielkonfiguration für
den htmlArea unter TYPO3 < 4.0 ... 158
7 ... Aufbau von TYPO3-Sites ...
163
7.1 ... Vorgehensweise ... 163
... 7.1.1 ... Ziele und Zielgruppen
festlegen ... 164
... 7.1.2 ... Inhalte planen ... 164
... 7.1.3 ... Funktionen festlegen ...
165
... 7.1.4 ... Dokumententypen festlegen
... 165
... 7.1.5 ... Sitemap/Struktur planen
... 165
... 7.1.6 ... Designvorlagen vorbereiten
... 166
... 7.1.7 ... Extensions auswählen ...
168
... 7.1.8 ... Template-Struktur planen
... 169
... 7.1.9 ... Designvorlagen einbinden
... 170
... 7.1.10 ... Struktur anlegen ...
171
... 7.1.11 ... Benutzergruppen/Benutzer
... 172
... 7.1.12 ... Inhalte eingeben ...
172
7.2 ... Designvorlagen (HTML-Templates)
... 172
... 7.2.1 ... The old way: Templates per
Hand vorbereiten ... 172
... 7.2.2 ... The modern way: die
Extension Template-Autoparser ... 178
... 7.2.3 ... The futuristic way: die
Extension TemplaVoila ... 183
7.3 ... Benutzerverwaltung ... 205
... 7.3.1 ...
Frontend-Benutzerverwaltung ... 205
... 7.3.2 ... Geschützten Bereich
anlegen ... 209
... 7.3.3 ... Login einbauen und
anpassen ... 209
... 7.3.4 ... Login-Layoutanpassung ...
210
... 7.3.5 ... Backend-Benutzer ... 215
... 7.3.6 ... Rechte und Rollen
definieren ... 216
... 7.3.7 ... Benutzergruppen anlegen
... 217
... 7.3.8 ... Benutzergruppen –
Beispiele ... 225
... 7.3.9 ... Einzelne Backend-Benutzer
anlegen ... 230
... 7.3.10 ... Backend-Benutzer –
Beispiel ... 233
... 7.3.11 ... Seitenzugriff ... 234
... 7.3.12 ... Benutzerrechte
vergleichen ... 239
... 7.3.13 ... Was sind Workflows? ...
240
... 7.3.14 ... Einfacher Workflow ohne
Extensions ... 241
... 7.3.15 ... Das Modul
Benutzer>Aufgaben ... 241
... 7.3.16 ... Aktionen ... 241
... 7.3.17 ... Extension Native Workflow
System ... 242
7.4 ... Workspaces ... 247
... 7.4.1 ... Was sind Workspaces? ...
247
... 7.4.2 ... Versionierung ... 247
... 7.4.3 ... Arten von Workspaces ...
250
... 7.4.4 ... Anlegen von Workspaces ...
252
... 7.4.5 ... Arbeiten mit Workspaces
... 254
... 7.4.6 ... Modul Benutzer>Workpace
... 255
8 ... TypoScript ... 261
8.1 ... Was ist TypoScript? ... 261
... 8.1.1 ... TypoScript im engeren und
im weiteren Sinne ... 261
... 8.1.2 ... Grundlegende Konstrukte
... 262
... 8.1.3 ... Arbeiten mit der
TypoScript-Referenz (TSref) ... 265
... 8.1.4 ... Begriffsdefinitionen und
Syntax ... 269
... 8.1.5 ... Operatoren in TypoScript
... 272
... 8.1.6 ...
TypoScript-Verschachtelungen –
mehrdimensionale PHP-Arrays ... 276
8.2 ... TypoScript-Elemente ... 278
... 8.2.1 ... Datentypen ... 278
... 8.2.2 ... Funktionen ... 280
... 8.2.3 ... Conditions ... 281
... 8.2.4 ... Constants ... 285
... 8.2.5 ... cObjects ... 286
... 8.2.6 ... cObjects – veraltet ...
302
... 8.2.7 ... Content-Objekte kopieren
und referenzieren ... 305
... 8.2.8 ... Top-Level-Objekte ...
306
8.3 ... TypoScript-Templates ... 310
... 8.3.1 ... Templates erstellen ...
310
... 8.3.2 ... TypoScript-Setup ... 311
... 8.3.3 ... TypoScript-Constants ...
313
... 8.3.4 ... Kaskadierung von Templates
... 314
... 8.3.5 ... Standard-Templates (static
templates) ... 316
... 8.3.6 ... Basis-Templates – eigene
Standard-Templates ... 319
... 8.3.7 ... Templates ab der nächsten
Ebene (Templates on next Level) ...
320
... 8.3.8 ... Root, Rootline und
Rootline-Arrays ... 320
8.4 ... Die Template Tools ... 321
... 8.4.1 ... Template Tool: Info/Modify
... 321
... 8.4.2 ... Template Tool: Template
Analyzer ... 323
... 8.4.3 ... Template Tool: TypoScript
Object Browser ... 324
... 8.4.4 ... Template Tool: Constant
Editor ... 325
... 8.4.5 ... Erstellen eigener
Eingabemasken im Constant Editor ...
326
... 8.4.6 ... Template Tool: CSS Styler
... 332
... 8.4.7 ... Clear FE cache – admin
functions ... 333
... 8.4.8 ... setup.txt und
constants.txt ... 333
... 8.4.9 ... TSconfig ... 333
8.5 ... Der Rendering-Prozess ... 334
8.6 ...
TypoScript-Schnipsel/Praxisbeispiele ...
336
... 8.6.1 ... Allgemeine
Seitenkonfiguration ... 336
... 8.6.2 ... TypoScript-Menüs ... 343
... 8.6.3 ... Navigation aus Bildern der
Mediafelder ... 350
... 8.6.4 ... Ändern des
Standard-<body>-Tag ... 352
... 8.6.5 ... Auswählbare Wraps um den
gesamten Inhalt der Spalte NORMAL ...
353
... 8.6.6 ... Konfiguration der
Standard-Überschrift (stdheader) ...
355
... 8.6.7 ... Überschriftentyp in
Abhängigkeit von der verwendeten
Inhaltsspalte ... 355
... 8.6.8 ... Keinen StdHeader für das
Überschriften-Objekt verwenden ... 357
... 8.6.9 ... Sitemap/Menü ... 358
... 8.6.10 ... Login-Formular per
TypoScript ... 358
... 8.6.11 ... Ausblenden der
erweiterten Suche der Extension »indexed
search« ... 361
... 8.6.12 ... Anzahl der Bilder des
Mediafeldes erhöhen ... 362
... 8.6.13 ... Mehrsprachigkeit ...
362
... 8.6.14 ... Immer das aktuelle Jahr
im Footer anzeigen ... 365
9 ... Extensions anwenden ... 367
9.1 ... Allgemeine Definition von
Extensions ... 368
9.2 ... Einteilung von Extensions ...
368
... 9.2.1 ... Einteilung nach Bedeutung
... 368
... 9.2.2 ... Einteilung nach Funktion
... 369
9.3 ... Verwaltung von Extensions ...
371
... 9.3.1 ... Extension Manager ...
372
... 9.3.2 ... TYPO3-Online-Repository
(TER2) ... 382
9.4 ... Der Extension Kickstarter Wizard
... 388
9.5 ... Anwendungsbeispiele von
Extensions ... 389
... 9.5.1 ... Extension: News (tt_news)
... 389
... 9.5.2 ... Extension: News – RSS ...
413
... 9.5.3 ... Extension: TimTab Weblog
(timtab) ... 417
... 9.5.4 ... Extension RealURL
(realurl) ... 424
... 9.5.5 ... Komplette
Beispielkonfiguration ... 432
10 ... Mehrsprachige Websites mit
TYPO3 ... 435
10.1 ... Unicode (UTF-8) ... 435
... 10.1.1 ... Was ist Unicode? ...
435
... 10.1.2 ... Technische
Zusammenfassung ... 437
10.2 ... TYPO3 als UTF-8 einrichten ...
438
... 10.2.1 ... Überblick ... 438
... 10.2.2 ... Sprachdateien, TypoScript
und UTF-8 ... 439
... 10.2.3 ... Grundlagen zur Zeit ...
440
... 10.2.4 ... Die Locales ... 441
10.3 ... TypoScript-Einstellungen für
einsprachige Seiten ... 442
10.4 ... TypoScript-Einstellungen für
mehrsprachige Seiten ... 445
... 10.4.1 ... Ein Seitenbaum für jede
Sprache (Multi-Tree-Ansatz) ... 446
... 10.4.2 ... Ein Seitenbaum für alle
Sprachen (Single-Tree-Ansatz) ... 446
11 ... Barrierefreie und
standardkonforme Websites mit TYPO3 ...
459
11.1 ... Warum Sie barrierefrei
entwickeln sollten ... 459
11.2 ... Wie sieht eine barrierefreie
Website aus? ... 460
... 11.2.1 ... Inhalt und Präsentation
trennen ... 460
... 11.2.2 ... Logische Strukturen
schaffen ... 460
... 11.2.3 ... Nicht für bestimmte
Geräte arbeiten ... 460
... 11.2.4 ... Abwärtskompatible Seiten
erstellen ... 461
... 11.2.5 ... Alternativen
bereitstellen ... 461
... 11.2.6 ... Standards beachten ...
461
11.3 ... Standardkonforme Seiten mit
TYPO3 erstellen ... 462
... 11.3.1 ... XHTML-Cleaning ... 462
... 11.3.2 ... Sprungmarken à la XHTML
... 463
... 11.3.3 ... HTML-Code optimieren mit
Tidy ... 464
... 11.3.4 ... Die Extension »Page
Validator« ... 465
11.4 ... Barrierefreie Websites mit
TYPO3 ... 466
... 11.4.1 ... Vorhandene Hilfsmittel
... 467
11.5 ... TYPO3-Inhaltselemente
barrierefrei gestalten ... 471
... 11.5.1 ... Die Grundlage – CSS
Styled Content ... 471
... 11.5.2 ... Überschrift und Text ...
474
... 11.5.3 ... Text-Bild und Bilder ...
477
... 11.5.4 ... Aufzählung (Punktliste)
... 478
... 11.5.5 ... Tabelle ... 478
... 11.5.6 ... Dateiliste ... 483
... 11.5.7 ... Multimedia ... 485
... 11.5.8 ... Sitemap/Menü ... 486
... 11.5.9 ... HTML ... 487
... 11.5.10 ... Mailformular ... 487
... 11.5.11 ... Suchformular ... 489
... 11.5.12 ... Anmeldeformular ...
490
... 11.5.13 ... Plugins ... 490
11.6 ... Barrierefreie Menüs mit TYPO3
... 491
... 11.6.1 ... Textmenüs ... 491
... 11.6.2 ... Grafische Menüs ... 493
... 11.6.3 ... Grafische Textmenüs ...
496
11.7 ... Ein barrierefreier RTE ...
497
... 11.7.1 ... Akronyme und Abkürzungen
... 498
... 11.7.2 ... Kennzeichnung von Links
... 498
11.8 ... Accessible Content ... 500
... 11.8.1 ... Exkurs: Rendering von
Content-Elementen ... 501
... 11.8.2 ... Neues Rendering erstellen
... 502
... 11.8.3 ... Die XCLASS ... 503
... 11.8.4 ... Tabellen ... 504
... 11.8.5 ... Formulare ... 504
... 11.8.6 ... Probleme mit Plugins (bis
Version 0.2) ... 506
... 11.8.7 ... Weitere Entwicklung von
»Accessible Content« ... 508
11.9 ... Empfehlung zur Wahl der
Extensions für Barrierefreiheit ...
508
TEIL III: ... TYPO3 ERWEITERN
12 Eigene Extensions programmieren ...
513
12.1 ... Grundlagen ... 513
... 12.1.1 ... Namenskonventionen ...
513
... 12.1.2 ... Dateistruktur einer
Extension ... 514
... 12.1.3 ... Der Extension-Manager ...
516
... 12.1.4 ... Die Datei ext_emconf.php
... 517
... 12.1.5 ... Die Datei
ext_localconf.php ... 519
... 12.1.6 ... Die Datei ext_tables.php
... 520
12.2 ... Drei Extensions als Beispiel
... 520
... 12.2.1 ... Die Extension »Text w/
summary« ... 520
... 12.2.2 ... Die Extension »Function
Reference« ... 522
... 12.2.3 ... Die Extension
»Akronymmanager« ... 524
12.3 ... Globale Variablen und
Datenbankfunktionen ... 525
... 12.3.1 ... Variablen ... 525
... 12.3.2 ... Datenbankzugriffe mit dem
DBAL ... 527
... 12.3.3 ... Datenbanktabellen ...
531
12.4 ... Backend-Programmierung ...
533
... 12.4.1 ... Eingabemasken ... 533
... 12.4.2 ... Das Table Configuration
Array $TCA ... 534
... 12.4.3 ... $TCA-Beispiel: Extension
»Function Reference« ... 537
... 12.4.4 ... Context Sensitive Help
(CSH) ... 545
... 12.4.5 ... TCE und TCEforms ...
549
... 12.4.6 ... Anlegen und Bearbeiten
von Inhaltstypen ... 552
... 12.4.7 ... Der Inhaltstyp »Plugin
einfügen« ... 555
12.5 ... Backend-Module ... 560
... 12.5.1 ... Anlegen eines Moduls ...
560
... 12.5.2 ... Ausgabeformatierungen in
Modulen ... 563
... 12.5.3 ... Einfügen eines Submoduls
in das Menü ... 567
... 12.5.4 ... Beispiel für Module – der
Akronymmanager ... 569
... 12.5.5 ... Der Navigationsbereich
... 574
... 12.5.6 ... Rechte von Backend-Usern
abfragen ... 575
12.6 ... Frontend-Programmierung ...
577
... 12.6.1 ... Das Frontend-Rendering
... 577
... 12.6.2 ... Objekte im $TSFE ...
579
... 12.6.3 ...
Standard-Rendering-Funktionen ... 579
... 12.6.4 ... Ausgabe eigener Inhalte
mittels USER, USER_INT, PHP_SCRIPT,
PHP_SCRIPT_INT oder PHP_SCRIPT_EXT ...
581
... 12.6.5 ... Neue Rendering-Funktionen
anlegen ... 582
... 12.6.6 ... stdWrap in
Rendering-Funktionen ... 584
... 12.6.7 ... Frontend-User und
Sessions ... 585
... 12.6.8 ... Eingabeformulare ...
586
... 12.6.9 ... Beispiel für
Eingabeformulare – Pinboard für die
»Function Reference« ... 588
... 12.6.10 ... HTML-Vorlagen für
Templates ... 593
... 12.6.11 ... CSS und JavaScript ...
596
12.7 ... Plugins – die Klasse
tslib_pibase ... 597
... 12.7.1 ... tslib_pibase –
Link-Methoden ... 597
... 12.7.2 ... tslib_pibase – Methoden
für das Auflisten von Datensätzen ...
600
... 12.7.3 ... tslib_pibase – Methoden
für Stylesheet und CSS ... 603
... 12.7.4 ... tslib_pibase – Methoden
für das Frontend-Editing ... 604
... 12.7.5 ... tslib_pibase – Methoden
für Mehrsprachigkeit und Lokalisation
... 605
... 12.7.6 ... tslib_pibase – Methoden
für Datenbankabfragen ... 606
... 12.7.7 ... tslib_pibase – Methoden
für Flexforms ... 607
12.8 ... Flexforms ... 608
... 12.8.1 ... Hello World mit Flexforms
... 609
... 12.8.2 ... Flexform einbinden ...
613
... 12.8.3 ... Flexforms gestalten ...
616
... 12.8.4 ... Flexform – Grundstruktur
... 616
... 12.8.5 ... Flexform-Input-Felder ...
617
... 12.8.6 ... Flexform dynamisch ...
631
... 12.8.7 ... Auf Flexform-Daten
zugreifen ... 631
12.9 ... Mehrsprachigkeit ... 633
... 12.9.1 ... Eigene Locallang-Dateien
für einzelne Sprachen ... 636
... 12.9.2 ... Extensions für die Arbeit
mit Locallang-Dateien ... 637
12.10 ... Ajax mit TYPO3 ... 637
... 12.10.1 ... Installation der
Tutorial-Extension ... 638
... 12.10.2 ... Tutorial ... 639
12.11 ... Weitere Themen der
Extension-Entwicklung ... 646
... 12.11.1 ... TypoScript in Extensions
... 647
... 12.11.2 ... Static-Templates
hinzufügen ... 647
... 12.11.3 ... TypoScript einfügen ...
648
... 12.11.4 ... Klassen erweitern –
XCLASS ... 648
12.11.5Hooks ... 650
... 12.11.6 ... Services ... 653
... 12.11.7 ... Sicher programmieren ...
655
12.11.8Der Extension Kickstarter ...
658
12.11.9Der Development Evaluator ...
660
12.11.10Dokumentation ... 662
12.12 ... Ausblick: Moderne
Extension-Programmierung in
Model-View-Controller-Architektur ...
665
... 12.12.1 ... Idee und Konzept ...
665
... 12.12.2 ... Die Bibliotheken ...
668
... 12.12.3 ... Beispielanwendung
Articles ... 683
... 12.12.4 ... Ausblick ... 699
... 12.12.5 ... Ein Anwendungskonzept
... 700
A ... CD-ROM ... 703
A.1 ... Listings ... 703
A.2 ... Dokumentationen ... 703
A.2.1 ... Tutorials ... 703
A.2.2 ... Installation ... 703
A.2.3 ... Core Documentation ... 703
A.2.4 ... References ... 704
A.2.5 ... Extension Manuals ... 704
A.3 ... Video-Tutorials ... 704
A.4 ... TYPO3 4.0 zum Installieren ...
705
A.5 ... Extensions ... 705
A.6 ... TYPO3 4.0 Doxygen-Dokumentation
... 705
A.7 ... Static Templates der CSS Styled
Content ... 706
A.8 ... Software ... 706
A.9 ... Beispielwebsite_Dateien ...
706
A.10 ... Infos zur Barrierefreiheit ... 706
B ... Zusätzliche Informationen ...
707
B.1 ... Caching-FAQ ... 707
B.2 ... CSS Styled Content im Detail ...
713
B.2.1 ... CONSTANTS:
EXT:css_styled_content/static/ ... 713
B.2.2 ... SETUP:
EXT:css_styled_content/static/ ... 716
B.3 ... Ein reines CSS-Menü (für Kapitel
11) ... 783
C ... Glossar ... 789
Index ... 795
Zurück zu »TYPO3 4.0«
|
|
|
 |
|
|
 |