Inhaltsverzeichnis:
1 Installation unter Windows 1
R1.1 Installation mit XAMPP 1
R1.2 Installation mit dem TYPO3Winstaller 4
R1.3 Installation mit WOS 6
R1.4 Installation auf bestehenden Windows-Webserver 7
R1.5 Besonderheiten unter Windows Vista 11
2 Installation unter Linux 13
R2.1 Installation auf einem Linux Webserver 13
R2.2 Automatische Installation per Skript 16
R2.3 Zentralisierter Kern 19
3 Installation unter Mac OS X 21
R3.1 Das „Rund-um-Sorglos“-Paket installieren 21
R3.2 TYPO3 manuell installieren 23
4 Zusätzliche Tools installieren 31
R4.1 ImageMagick/GraphicsMagick installieren 31
R4.2 Installation von catdoc und pdf2text 33
5 Konfiguration 37
R5.1 PHP und Apache richtig konfigurieren 37
R5.2 Zugang zum Konfigurationsskript 39
R5.3 Aktivieren und neues Passwort vergeben (joh316) 40
R5.4 ImageMagick und GDlib richtig einstellen 42
R5.5 Session-Timeout erhöhen 46
R5.6 Dateien in typo3conf/ editieren 47
R5.7 Zugang mit wechselnder IP 48
R5.8 Eigene 404 Error-Seite 49
R5.9 404 von Suchmaschinen verhindern 52
R5.10 Backend-Usern ermöglichen, Cache zu löschen 52
R5.11 Dateirechte unter Linux vernünftig setzen 53
R5.12 Eigenes vHost für das TYPO3-Backend 53
R5.13 Unterschiedliche Startseiten pro Domain definieren 54
R5.14 Eigene Copyright-Informationen im Quelltext 55
R5.15 Konfiguration ermitteln (misc/superadmin.php) 56
6 Wartung 59
R6.1 Das Changelog 59
R6.2 TYPO3 Upgrade 59
R6.3 Seitenbaum exportieren 62
R6.4 TYPO3 Installation auf einen anderen Server migrieren 65
R6.5 Statistiken mit AWStats einrichten 66
R6.6 AWStats für Redakteure verfügbar machen 67
7 TYPO3 4.1/4.2/4.3 69
R7.1 TYPO3 4.1 – Übersicht 69
R7.2 TYPO3 4.1 – IRRE (Inline Relational Record Editing) 75
R7.3 TYPO3 4.1 – Kommandozeile (CLI-Skript) zur Datenbankpflege 81
R7.4 TYPO3 4.2 – Übersicht 90
R7.5 TYPO3 4.3 – Übersicht 98
8 Fehlersuche im Frontend 101
R8.1 localconf.php is not found! 101
R8.2 Datenbankfehler (Database error) 102
R8.3 Error: No pages are found on the rootlevel! 105
R8.4 Error: No template found! 106
R8.5 Error: The requested page does not exist! 108
R8.6 Error: ID was not an accessible page 109
R8.7 Error: Subsection was found and not accessible 110
R8.8 Error: ID was outside the domain 111
R8.9 Error: The requested page alias does not exist 112
R8.10 Error: The page is not configured! [type= xx][] 113
R8.11 Error: Page is not available in the requested language 113
R8.12 Error: Page is not available in default language 114
R8.13 Error: Page is not available in the requested language (strict) 115
R8.14 Error: Segment xxx was not a keyword for a postVarSet as expected! 116
9 Fehlersuche im Backend 119
R9.1 Important notice! 119
R9.2 The password of your Install Tool is still using the default value "joh316" 120
R9.3 The backend user "admin" with password "password" is still existing 121
R9.4 The encryption key is not set! Set it in $TYPO3_CONF_VARS[SYS][encryptionKey] 121
R9.5 This installation is not configured for the TYPO3 version it is running … 122
R9.6 The Reference Index table is empty which is … 123
R9.7 In the source distribution of TYPO3, the install script is disabled by a die() function call 124
R9.8 Install Tool Meldungen 126
10 TypoScript Debugging 131
R10.1 TypoScript Object Browser und Template Analyzer 131
R10.2 TypoScript Debugging im Frontend mit dem Admin Panel 139
R10.3 Offsite-Debugging von TypoScript mit PSPad und SweeTS 140
11 TYPO3 Debugging 149
R11.1 TYPO3 (PHP) Debugging mittels Eclipse 149
R11.2 Debugging mit der debug()-Funktion 165
R11.3 Erweiterung der debug()-Funktion durch Extensions 166
R11.4 Debugging mit der Funktion t3lib_div::devLog() 170
R11.5 FE Debug/lnfo output und BE Env-Info 173
12 Backend anpassen 175
R12.1 Anmeldemaske anpassen 175
R12.2 Backend-User auf das Frontend umleiten 178
R12.3 Das Backend-Design ändern 180
13 Arbeiten mit dem Backend 183
R13.1 Passwort zurücksetzen 183
R13.2 Backend für schmale Bildschirme 185
R13.3 Anzahl der Inhaltsspalten ändern 187
R13.4 Inhaltsspalten umbenennen 188
R13.5 Auswahllisten bearbeiten 190
R13.6 Das Feld Page/Layout für verschiedene CSS-Stylesheets verwenden 193
R13.7 Eingabefelder und Bearbeitungsmöglichkeiten reduzieren 194
R13.8 Formularanordnung ändern 196
R13.9 Eingabefelder ändern 200
R13.10 Formulareingaben überprüfen 201
R13.11 Der TypoScript-Editor 204
R13.12 Cache automatisch leeren 205
14 Ordnung und Übersicht im Backend schaffen 207
R14.1 Shortcuts verwenden 207
R14.2 Die zuletzt bearbeiteten Datensätze öffnen 208
R14.3 IDs von Seiten und Datensätzen ermitteln 208
R14.4 Weitere Datensätze im Seitenmodul anzeigen 209
R14.5 Die Übersicht im Seitenbaum behalten 211
R14.6 Neue Suche im Backend ab TYPO3 4.2 211
R14.7 Zusätzliche Daten im Listenmodul anzeigen 212
R14.8 Mithilfe von Befehlen Vorgänge automatisieren 214
R14.9 Element-Browser konfigurieren 217
R14.10 Kontextmenü im Seitenbaum deaktivieren 218
R14.11 Die Größe des RTE ändern 219
15 Inhalte eingeben 221
R15.1 Mehrere Seiten schnell erzeugen 221
R15.2 Schnelle Inhaltseingabe 222
R15.3 Inhaltsfelder anderer Datentypen nutzen 224
R15.4 Standardwerte für Eingabefelder vorgeben 226
R15.5 Sichtbarkeit vordefinieren 227
R15.6 Upload-Beschränkungen anheben 228
R15.7 Typolinks erstellen 229
16 Inhalte verwalten 231
R16.1 Mehrere Seiten/Datensätze verschieben 231
R16.2 Mehrere Dateien/Verzeichnisse kopieren 233
R16.3 Mehrere Datensätze gleichzeitig bearbeiten 233
R16.4 Rekursives Löschen und Kopieren 236
R16.5 Seiten sortieren 236
R16.6 Einfaches Bearbeiten von Datumsfeldern 237
R16.7 Änderungen rückgängig machen 238
R16.8 Gelöschte Inhalte wieder herstellen 239
R16.9 Gelöschte Inhalte per Undo/Redo wiederherstellen 240
R16.10 Nur eigene Datensätze verwalten 241
17 Inhalte ausgeben – Design 247
R17.1 Quellcode gehighlighted darstellen 247
R17.2 Dynamische Stylesheets 249
R17.3 Headerbild auf jeder Seite anzeigen 250
R17.4 Klickvergrößerung für Bilder anpassen 252
R17.5 clear.gif und Abstände nach Elementen löschen 253
R17.6 Überschrift für jede Spalte anders formatieren 254
18 Inhalte ausgeben – Funktion 255
R18.1 Standardinhalt für leere Content-Spalten255
R18.2 P-Tags in Textabsätzen entfernen 256
R18.3 Dateiliste gefiltert und sortiert ausgeben 257
R18.4 Das aktuelle Datum ausgeben 258
R18.5 Einen Abreißkalender generieren 261
R18.6 Inhalte auf jeder Seite anzeigen lassen 264
R18.7 E-Mail-Adressen vor Spammern schützen 265
R18.8 Inhalte von anderen Seiten verknüpfen 266
R18.9 RSS-Feeds anbieten 267
R18.10 Druckversion der Website erstellen 271
R18.11 PDF-Version der Website erstellen 273
R18.12 RealMedia im Multimedia-Content-Element 274
R18.13 Eigene PHP-Skripte als Seiteninhalt einbinden 274
19 Suche integrieren (indexed_search) 277
R19.1 Basiskonfiguration und Grundeinstellungen 277
R19.2 indexed_search auf jeder Seite per TypoScript einbinden 281
R19.3 Es werden keine Seiten indiziert 282
R19.4 Suche auf bestimmte Inhalte begrenzen 286
R19.5 Suche auf Teilbereiche der Site beschränken 286
R19.6 Meta-Tags nicht in die Suchergebnisse übernehmen 287
R19.7 Suchergebnisse anpassen 288
R19.8 Alternative zur indexed_search (Search in tables) 288
20 Formulare 291
R20.1 Formularlayout anpassen 291
R20.2 Mailform plus als Alternative zum Mailformular 293
R20.3 Mailform Plus mit CAPTCHA 295
R20.4 Formulare mit einem Fieldset umgeben 297
R20.5 Standard-Mailform mit Rollover-Effekt 300
R20.6 Mail an mehrere Empfänger senden 302
R20.7 Felder mit Werten aus der Datenbank vorbelegen 302
R20.8 Frontend Userdaten in Standard Mailform nutzen 303
R20.9 Absender eine Bestätigungsmail senden 304
R20.10 Absender des Kontaktformulars aus Mailfeld vorbelegen 305
21 Passwortgeschützte Bereiche 307
R21.1 Frontendbenutzer und Benutzergruppen 307
R21.2 Zugriffsrechte für Frontendbenutzer einrichten 310
R21.3 Nach Anmeldung weiterleiten 311
R21.4 Logout realisieren 313
R21.5 Passwörter MD5-verschlüsselt ablegen 313
R21.6 Die Extension newloginbox einsetzen 314
R21.7 Benutzerliste anzeigen 315
R21.8 Automatisches Login im Frontend 318
R21.9 Besuchern die Registrierung als Benutzer ermöglichen 318
R21.10 sr_feuser_register um eigene Felder erweitern 321
R21.11 Benutzername auf der Webseite anzeigen 325
R21.12 Zugriffsschutz für fileadmin 326
R21.13 Login über LDAP (Active Directory) 328
22 TypoScript-Tricks 333
R22.1 TypoScript aus externen Dateien einbinden 333
R22.2 Tageszeitabhängiger Content 334
R22.3 Favicon einbinden 335
R22.4 Datum der letzten Änderung der Seite anzeigen 336
R22.5 Letzte Änderung in Datensätzen von Extensions 337
R22.6 Neue Seiten sollen im selben Fenster geöffnet werden 338
R22.7 Aktuelle URL anzeigen 338
R22.8 TypoScript in PHP über eine userfunc verwenden 339
23 Templates erstellen und einsetzen 343
R23.1 Header-Daten richtig setzen 343
R23.2 Doctype Switching 344
R23.3 JavaScript und CSS-Dateien extern verlinken 345
R23.4 Mehrere Stylesheets einbinden 346
R23.5 Static Templates 346
R23.6 Marker und Subparts 349
R23.7 Template Auto-Parser 352
R23.8 YAML 357
R23.9 Kompatibilitätsmodus des Webbrowsers prüfen 361
24 TemplaVoilà 363
R24.1 TemplaVoilà – Grundkonfiguration 363
R24.2 Template-Objekt, Datenstruktur und Mapping 368
R24.3 Anordnung der Elemente im Backend verändern 385
R24.4 Content-Slide in TemplaVoilà realisieren 388
R24.5 Flexible Content Element (FCE) 390
25 Benutzerverwaltung 401
R25.1 User und Gruppen anlegen 401
R25.2 Neue Benutzer aus einer Vorlage heraus erstellen 407
R25.3 Inhaltselemente in bestimmten Seiten verbieten 408
R25.4 Benutzern Zugriff auf das Filesystem erlauben 409
R25.5 Seiteneinstiegspunkt setzen 411
R25.6 Seitenrechte einrichten 412
R25.7 Benutzerrechte vergleichen 415
R25.8 Standardrechte bei Seitenerstellung 416
R25.9 Mehreren Gruppen Rechte auf Seiten geben 416
R25.10 Benutzereinstellungen 417
26 Arbeiten im Redaktionsteam 421
R26.1 Einfacher Workflow mit Bordmitteln 421
R26.2 Arbeiten mit Workspaces 422
R26.3 Eigene Workspaces anlegen und benutzen 426
R26.4 E-Mail-Benachrichtigungen 429
27 Frontend Editing 431
R27.1 Frontend Editing aktivieren 431
R27.2 Frontend Editing anpassen und optimieren 434
R27.3 Editierleiste anpassen 436
R27.4 Editierleiste und Symbole ohne Admin Panel 437
R27.5 Neue Seite im Frontend anlegen 437
R27.6 Neue Datensätze im Frontend anlegen 438
R27.7 tt_news-Datensätze bearbeiten 439
28 RTE – HTMLArea anpassen 441
R28.1 Das RTE-Transformationsdiagramm 441
R28.2 Die RTE-Basiskonfiguration 443
R28.3 Die erweiterte Konfiguration des RTE 445
R28.4 Eigene Text- und Absatz-Klassen verwenden 449
R28.5 Anpassung des RTE für einzelne Benutzer bzw Benutzergruppen 451
29 Der GIFBUILDER 453
R29.1 Bilder mit Wasserzeichen 453
R29.2 Dynamisches Logo im Web 2.0-Stil 455
R29.3 Spiegelnde Bilder 459
R29.4 Corporate Identity bei Überschriften 461
R29.5 Grafiken mit mehrzeiligem Text 461
30 Navigation 443
R30.1 Menü auf Basis ungeordneter Listen 443
R30.2 Textmenü mit Icon 444
R30.3 Textmenü mit CSS-Auszeichnung der Zustände 445
R30.4 Menüeinträge konfigurieren (Positionsabhängigkeit) 447
R30.5 Geschütze Seiten anzeigen und auf Login umleiten 449
R30.6 Grafikmenü auf Basis ungeordneter Listen 450
R30.7 Rootline- bzw Breadcrumb-Navigation erstellen 452
R30.8 Eine Sitemap anlegen und konfigurieren 453
R30.9 Liste der zuletzt aktualisierten Seiten 455
R30.10 Blätternavigation 456
R30.11Jump-Menü/Drop-Down-Menü 459
R30.12 Haupt- und Unternavigation räumlich trennen 461
R30.13 Grafikmenü mit bestehenden Grafiken realisieren 462
31 Barrierefreiheit 485
R31.1 Den richtigen Doctype setzen 485
R31.2 Validierung und XHTML-Cleaning 486
R31.3 HTML-Quellcode aufräumen und optimieren mit Tidy 488
R31.4 Überprüfung der Validität (HTML-Validator) 489
R31.5 Browserweichen einrichten 491
R31.6 Barrierefreie Templates mit dem YAML-Framework 493
R31.7 Semantisch korrekte Überschriften 495
R31.8 Barrierefreie Menüs mit Accesskeys einrichten 498
R31.9 Barrierefreie Grafikmenüs erstellen 500
R31.10 Multimedia-Inhalte wie Flash und Video einbinden 502
R31.11 Schriftgrößen-Umschalter realisieren 503
R31.12 Barrierefreie grafische Header verwenden 506
32 Mehrsprachigkeit 511
R32.1 Die richtigen Vorbereitungen treffen 511
R32.2 Multi-Tree und One-Tree-Fits-All Ansatz 515
R32.3 Flagge für die Default-Sprache setzen 516
R32.4 Eigene Sprachen und Flaggen hinzufügen 517
R32.5 Mehrsprachigkeit aktivieren 519
R32.6 Übersetzungen anlegen 523
R32.7 Einen Sprachumschalter realisieren 524
R32.8 Mehrsprachige Texte und Bilder 527
R32.9 Japanische Sprachversion (chinesisch, koreanisch) 529
R32.10 Lokalisierungsansicht 534
33 Der Extension Manager 537
R33.1 Extensions aus dem TER2 laden 537
R33.2 Extensions aktualisieren 541
R33.3 Extensions importieren 542
R33.4 Extension Manager findet keine Extensions 543
R33.5 Installierte Extensions ermitteln 544
R33.6 Extensions exportieren 545
R33.7 Extensions deinstallieren 545
R33.8 Extensions im TER2 veröffentlichen 546
R33.9 Extension Manager meldet Fehler 548
R33.10 Sprachen installieren 548
R33.11 Firefox Suchfeld für TER2 549
R33.12 Neue Extension verursacht schweren Fehler 550
34 Extensions anwenden und konfigurieren 553
R34.1 Entfernen des Standard-CSS einer Extension 553
R34.2 tt_news einrichten 554
R34.3 tt_news-Liste unterschiedlich formatieren 561
R34.4 tt_news-Autor und E-Mail-Anschrift voreinstellen 563
R34.5 Neuer News-Eintrag löscht Cache automatisch 564
R34.6 Einrichten von ve_guestbook 565
R34.7 Einen Blog mit timtab einrichten 568
R34.8 timtab erweitern 573
R34.9 RealURL (realurl) einrichten 582
R34.10 Einen Onlineshop mit commerce aufbauen 587
35 Extensions erstellen und programmieren 609
R35.1 Extension Key festlegen 610
R35.2 Extension Key registrieren 611
R35.3 Anlegen einer Basis-Extension 613
R35.4 Plugins und Module anlegen 618
R35.5 Anlegen von eigenen Datenbanktabellen 622
R35.6 Statischen TypoScript-Code zu Ihrer Extension hinzufügen 628
R35.7 Datenbank-Relationen 630
R35.8 Das TCA (Table Configuration Array) verstehen 635
R35.9 Anzeige eines Frontend-Plugins realisieren 638
R35.10 Links in Frontend-Plugins generieren 645
R35.11 Mehrsprachigkeit bei der Anzeige 646
R35.12 Eigene Anzeige-Optionen erstellen 649
R35.13 Eigene HTML-Templates verwenden 652
R35.14 Flexform-Felder verwenden und konfigurieren 655
R35.15 AJAX in Backend-Formularen 672
R35.16 Eigene Tags realisieren 674
36 Suchmaschinen-Optimierung 681
R36.1 SEO-Basiskonzepte und -konfiguration 681
R36.2 Meta-Daten zufügen 683
R36.3 Fehlercodes richtig konfigurieren 688
R36.4 Seitentitel optimieren 689
R36.5 Zusätzliche Inhalte mit Suchwörtern in Klick-Layer einbinden 691
R36.6 Optimierte Pfade und Dateinamen mit StaticDocuments bzw RealURL 693
R36.7 Bilder suchmaschinenfreundlich einbinden 695
R36.8 Extension Google Sitemap einrichten 697
R36.9 Extension Tooltip für Keywords einrichten 700
R36.10 Kontrolle über die Optimierung mit der Extension AWStats 702
R36.11 Google Analytics in TYPO3 einbauen 706
R36.12 Google von bestimmten Inhalten aussperren 707
37 TYPO3-Sicherheit 709
R37.1 Install Tool absichern 709
R37.2 Backend-Zugang über SSL 710
R37.3 Session an IP-Adresse binden 711
R37.4 PHP-Fehlermeldungen abschalten 712
R37.5 Das Backend zusätzlich per htaccess absichern 713
R37.6 Angriffsziel Admin 715
R37.7 Zugriff auf das Filesystem 715
R37.8 Gefährliche Inhaltselemente einschränken 716
R37.9 Sicherheit der Webserver-Umgebung 716
R37.10 Der Umgang mit Sicherheitslücken 717
R37.11 Diff und Patch 718
R37.12 Nachvollziehbarkeit durch Log-Dateien 718
R37.13 Sichere PHP-Skripte schreiben 719
38 TYPO3-Tuning 721
R38.1 Grundlagen und Methode 721
R38.2 Apache-Tuning 726
R38.3 PHP-Tuning 728
R38.4 MySQL-Tuning 734
R38.5 Aufbau eines Proxy-Servers mittels mod_proxy 739
R38.6 TYPO3-Tuning + Caching 741
R38.7 TYPO3-Extension fl_staticfilecache 748
39 TYPO3-Backstage 753
R39.1 Das TYPO3-Framework 753
R39.2 TYPO3 Frontend-Ablaufdiagramm (Flow) 754
R39.3 Die TYPO3-Verzeichnisstruktur verstehen 761
R39.4 t3x-Datenstruktur und -Viewer 767
R39.5 TYPO3 Coding Guidelines (CGL) 771
R39.6 Bugs melden und neue Features vorschlagen 791
R39.7 TYPO3 FORGE 797
R39.8 Die Struktur der TYPO3-Community 800
R39.9 TYPO3-Zertifizierung 816
40 Ausblick auf TYPO3 5.0 – FLOW3 819
R40.1 Ausblick auf TYPO3 5.0 – FLOW 3819