Alexander Ebner, Patrick Lobacher
TYPO3 und TypoScript
Kochbuch Lösungen für die TYPO3-Programmierung mit Typo und PHP, 2. Auflage
Inhalt
6
Vorwort zur 2. Auflage
16
Vorwort
17
1 Installation unter Windows
20
R1.1 Installation mit XAMPP
20
R1.2 Installation mit dem TYPO3Winstaller
23
R1.3 Installation mit WOS
25
R1.4 Installation auf bestehenden Windows-Webserver
26
R1.5 Besonderheiten unter Windows Vista
30
2 Installation unter Linux
32
R2.1 Installation auf einem Linux Webserver
32
R2.2 Automatische Installation per Skript
35
R2.3 Zentralisierter Kern
38
3 Installation unter Mac OS X
40
R3.1 Das „Rund-um-Sorglos“-Paket installieren
40
R3.2 TYPO3 manuell installieren
42
4 Zusätzliche Tools installieren
50
R4.1 ImageMagick/GraphicsMagick installieren
50
R4.2 Installation von catdoc und pdf2text
52
5 Konfiguration
56
R5.1 PHP und Apache richtig konfigurieren
56
R5.2 Zugang zum Konfigurationsskript
58
R5.3 Aktivieren und neues Passwort vergeben (joh316)
59
R5.4 ImageMagick und GDlib richtig einstellen
61
R5.5 Session-Timeout erhöhen
65
R5.6 Dateien in typo3conf/ editieren
66
R5.7 Zugang mit wechselnder IP
67
R5.8 Eigene 404 Error-Seite
68
R5.9 404 von Suchmaschinen verhindern
71
R5.10 Backend-Usern ermöglichen, Cache zu löschen
71
R5.11 Dateirechte unter Linux vernünftig setzen
72
R5.12 Eigenes vHost für das TYPO3-Backend
72
R5.13 Unterschiedliche Startseiten pro Domain definieren
73
R5.14 Eigene Copyright-Informationen im Quelltext
74
R5.15 Konfiguration ermitteln (misc/superadmin.php)
75
6 Wartung
78
R6.1 Das Changelog
78
R6.2 TYPO3 Upgrade
78
R6.3 Seitenbaum exportieren
81
R6.4 TYPO3 Installation auf einen anderen Server migrieren
84
R6.5 Statistiken mit AWStats einrichten
85
R6.6 AWStats für Redakteure verfügbar machen
86
7 TYPO3 4.1/4.2/4.3
88
R7.1 TYPO3 4.1 – Übersicht
88
R7.2 TYPO3 4.1 – IRRE (Inline Relational Record Editing)
94
R7.3 TYPO3 4.1 – Kommandozeile (CLI-Skript) zur Datenbankpflege
100
R7.4 TYPO3 4.2 – Übersicht
109
R7.5 TYPO3 4.3 – Übersicht
117
8 Fehlersuche im Frontend
120
R8.1 localconf.php is not found!
120
R8.2 Datenbankfehler (Database error)
121
R8.3 Error: No pages are found on the rootlevel!
124
R8.4 Error: No template found!
125
R8.5 Error: The requested page does not exist!
127
R8.6 Error: ID was not an accessible page
128
R8.7 Error: Subsection was found and not accessible
129
R8.8 Error: ID was outside the domain
130
R8.9 Error: The requested page alias does not exist
131
R8.10 Error: The page is not configured! [type= xx][]
132
R8.11 Error: Page is not available in the requested language
132
R8.12 Error: Page is not available in default language
133
R8.13 Error: Page is not available in the requested language (strict).
134
R8.14 Error: Segment xxx was not a keyword for a postVarSet as expected
135
9 Fehlersuche im Backend
138
R9.1 Important notice!
138
R9.2 The password of your Install Tool is still using the default value "joh316"
139
R9.3 The backend user "admin" with password "password" is still existing
140
R9.4 The encryption key is not set! Set it in $TYPO3_CONF_VARS[SYS][encryptionKey]
140
R9.5 This installation is not configured for the TYPO3 version it is running …
141
R9.6 The Reference Index table is empty which is …
142
R9.7 In the source distribution of TYPO3, the install script is disabled by a die() function call.
143
R9.8 Install Tool Meldungen
145
10 TypoScript Debugging
150
R10.1 TypoScript Object Browser und Template Analyzer
150
R10.2 TypoScript Debugging im Frontend mit dem Admin Panel
158
R10.3 Offsite-Debugging von TypoScript mit PSPad und SweeTS
159
11 TYPO3 Debugging
168
R11.1 TYPO3 (PHP) Debugging mittels Eclipse
168
R11.2 Debugging mit der debug()-Funktion
184
R11.3 Erweiterung der debug()-Funktion durch Extensions
185
R11.4 Debugging mit der Funktion t3lib_div::devLog()
189
R11.5 FE Debug/lnfo output und BE Env-Info
192
12 Backend anpassen
194
R12.1 Anmeldemaske anpassen
194
R12.2 Backend-User auf das Frontend umleiten
197
R12.3 Das Backend-Design ändern
199
13 Arbeiten mit dem Backend
202
R13.1 Passwort zurücksetzen
202
R13.2 Backend für schmale Bildschirme
204
R13.3 Anzahl der Inhaltsspalten ändern
206
R13.4 Inhaltsspalten umbenennen
207
R13.5 Auswahllisten bearbeiten
209
R13.6 Das Feld Page/Layout für verschiedene CSS Stylesheetsverwenden
212
R13.7 Eingabefelder und Bearbeitungsmöglichkeiten reduzieren
213
R13.8 Formularanordnung ändern
215
R13.9 Eingabefelder ändern
219
R13.10 Formulareingaben überprüfen
220
R13.11 Der TypoScript-Editor
223
R13.12 Cache automatisch leeren
224
14 Ordnung und Übersicht im Backend schaffen
226
R14.1 Shortcuts verwenden
226
R14.2 Die zuletzt bearbeiteten Datensätze öffnen
227
R14.3 IDs von Seiten und Datensätzen ermitteln
227
R14.4 Weitere Datensätze im Seitenmodul anzeigen
228
R14.5 Die Übersicht im Seitenbaum behalten
230
R14.6 Neue Suche im Backend ab TYPO3 4.2
230
R14.7 Zusätzliche Daten im Listenmodul anzeigen
231
R14.8 Mithilfe von Befehlen Vorgänge automatisieren
233
R14.9 Element-Browser konfigurieren
236
R14.10 Kontextmenü im Seitenbaum deaktivieren
237
R14.11 Die Größe des RTE ändern
238
15 Inhalte eingeben
240
R15.1 Mehrere Seiten schnell erzeugen
240
R15.2 Schnelle Inhaltseingabe
241
R15.3 Inhaltsfelder anderer Datentypen nutzen
243
R15.4 Standardwerte für Eingabefelder vorgeben
245
R15.5 Sichtbarkeit vordefinieren
246
R15.6 Upload-Beschränkungen anheben
247
R15.7 Typolinks erstellen
248
16 Inhalte verwalten
250
R16.1 Mehrere Seiten/Datensätze verschieben
250
R16.2 Mehrere Dateien/Verzeichnisse kopieren
252
R16.3 Mehrere Datensätze gleichzeitig bearbeiten
252
R16.4 Rekursives Löschen und Kopieren
255
R16.5 Seiten sortieren
255
R16.6 Einfaches Bearbeiten von Datumsfeldern
256
R16.7 Änderungen rückgängig machen
257
R16.8 Gelöschte Inhalte wieder herstellen
258
R16.9 Gelöschte Inhalte per Undo/Redo wiederherstellen
259
R16.10 Nur eigene Datensätze verwalten
260
17 Inhalte ausgeben – Design
266
R17.1 Quellcode gehighlighted darstellen
266
R17.2 Dynamische Stylesheets
268
R17.3 Headerbild auf jeder Seite anzeigen
269
R17.4 Klickvergrößerung für Bilder anpassen
271
R17.5 clear.gif und Abstände nach Elementen löschen
272
R17.6 Überschrift für jede Spalte anders formatieren
273
18 Inhalte ausgeben – Funktion
274
R18.1 Standardinhalt für leere Content-Spalten
274
R18.2 P-Tags in Textabsätzen entfernen
275
R18.3 Dateiliste gefiltert und sortiert ausgeben
276
R18.4 Das aktuelle Datum ausgeben
277
R18.5 Einen Abreißkalender generieren
280
R18.6 Inhalte auf jeder Seite anzeigen lassen
283
R18.7 E-Mail-Adressen vor Spammern schützen
284
R18.8 Inhalte von anderen Seiten verknüpfen
285
R18.9 RSS-Feeds anbieten
286
R18.10 Druckversion der Website erstellen
290
R18.11 PDF-Version der Website erstellen
292
R18.12 RealMedia im Multimedia-Content-Element
293
R18.13 Eigene PHP-Skripte als Seiteninhalt einbinden
293
19 Suche integrieren (indexed_search)
296
R19.1 Basiskonfiguration und Grundeinstellungen
296
R19.2 indexed_search auf jeder Seite per TypoScript einbinden
300
R19.3 Es werden keine Seiten indiziert
301
R19.4 Suche auf bestimmte Inhalte begrenzen
305
R19.5 Suche auf Teilbereiche der Site beschränken
305
R19.6 Meta-Tags nicht in die Suchergebnisse übernehmen
306
R19.7 Suchergebnisse anpassen
307
R19.8 Alternative zur indexed_search (Search in tables)
307
20 Formulare
310
R20.1 Formularlayout anpassen
310
R20.2 Mailform plus als Alternative zum Mailformular
312
R20.3 Mailform Plus mit CAPTCHA
314
R20.4 Formulare mit einem Fieldset umgeben
316
R20.5 Standard-Mailform mit Rollover-Effekt
319
R20.6 Mail an mehrere Empfänger senden
321
R20.7 Felder mit Werten aus der Datenbank vorbelegen
321
R20.8 Frontend Userdaten in Standard Mailform nutzen
322
R20.9 Absender eine Bestätigungsmail senden
323
R20.10 Absender des Kontaktformulars aus Mailfeld vorbelegen
324
21 Passwortgeschützte Bereiche
326
R21.1 Frontendbenutzer und Benutzergruppen
326
R21.2 Zugriffsrechte für Frontendbenutzer einrichten
329
R21.3 Nach Anmeldung weiterleiten
330
R21.4 Logout realisieren
332
R21.5 Passwörter MD5-verschlüsselt ablegen
332
R21.6 Die Extension newloginbox einsetzen
333
R21.7 Benutzerliste anzeigen
334
R21.8 Automatisches Login im Frontend
337
R21.9 Besuchern die Registrierung als Benutzer ermöglichen
337
R21.10 sr_feuser_register um eigene Felder erweitern
340
R21.11 Benutzername auf der Webseite anzeigen
344
R21.12 Zugriffsschutz für fileadmin
345
R21.13 Login über LDAP (Active Directory)
347
22 TypoScript-Tricks
352
R22.1 TypoScript aus externen Dateien einbinden
352
R22.2 Tageszeitabhängiger Content
353
R22.3 Favicon einbinden
354
R22.4 Datum der letzten Änderung der Seite anzeigen
355
R22.5 Letzte Änderung in Datensätzen von Extensions
356
R22.6 Neue Seiten sollen im selben Fenster geöffnet werden
357
R22.7 Aktuelle URL anzeigen
357
R22.8 TypoScript in PHP über eine userfunc verwenden
358
23 Templates erstellen und einsetzen
362
R23.1 Header-Daten richtig setzen
362
R23.2 Doctype Switching
363
R23.3 JavaScript und CSS-Dateien extern verlinken
364
R23.4 Mehrere Stylesheets einbinden
365
R23.5 Static Templates
365
R23.6 Marker und Subparts
368
R23.7 Template Auto-Parser
371
R23.8 YAML
376
R23.9 Kompatibilitätsmodus des Webbrowsers prüfen
380
24 TemplaVoilà
382
R24.1 TemplaVoilà – Grundkonfiguration
382
R24.2 Template-Objekt, Datenstruktur und Mapping
387
R24.3 Anordnung der Elemente im Backend verändern
404
R24.4 Content-Slide in TemplaVoilà realisieren
407
R24.5 Flexible Content Element (FCE)
409
25 Benutzerverwaltung
420
R25.1 User und Gruppen anlegen
420
R25.2 Neue Benutzer aus einer Vorlage heraus erstellen
426
R25.3 Inhaltselemente in bestimmten Seiten verbieten
427
R25.4 Benutzern Zugriff auf das Filesystem erlauben
428
R25.5 Seiteneinstiegspunkt setzen
430
R25.6 Seitenrechte einrichten
431
R25.7 Benutzerrechte vergleichen
434
R25.8 Standardrechte bei Seitenerstellung
435
R25.9 Mehreren Gruppen Rechte auf Seiten geben
435
R25.10 Benutzereinstellungen
436
26 Arbeiten im Redaktionsteam
440
R26.1 Einfacher Workflow mit Bordmitteln
440
R26.2 Arbeiten mit Workspaces
441
R26.3 Eigene Workspaces anlegen und benutzen
445
R26.4 E-Mail-Benachrichtigungen
448
27 Frontend Editing
450
R27.1 Frontend Editing aktivieren
450
R27.2 Frontend Editing anpassen und optimieren
453
R27.3 Editierleiste anpassen
455
R27.4 Editierleiste und Symbole ohne Admin Panel
456
R27.5 Neue Seite im Frontend anlegen
456
R27.6 Neue Datensätze im Frontend anlegen
457
R27.7 tt_news-Datensätze bearbeiten
458
28 RTE – HTMLArea anpassen
460
R28.1 Das RTE-Transformationsdiagramm
460
R28.2 Die RTE-Basiskonfiguration
462
R28.3 Die erweiterte Konfiguration des RTE
464
R28.4 Eigene Text- und Absatz-Klassen verwenden
468
R28.5 Anpassung des RTE für einzelne Benutzer bzw. Benutzergruppen
470
29 Der GIFBUILDER
472
R29.1 Bilder mit Wasserzeichen
472
R29.2 Dynamisches Logo im Web 2.0-Stil
474
R29.3 Spiegelnde Bilder
478
R29.4 Corporate Identity bei Überschriften
480
R29.5 Grafiken mit mehrzeiligem Text
480
30 Navigation
482
R30.1 Menü auf Basis ungeordneter Listen
482
R30.2 Textmenü mit Icon
483
R30.3 Textmenü mit CSS-Auszeichnung der Zustände
484
R30.4 Menüeinträge konfigurieren (Positionsabhängigkeit)
486
R30.5 Geschütze Seiten anzeigen und auf Login umleiten
488
R30.6 Grafikmenü auf Basis ungeordneter Listen
489
R30.7 Rootline- bzw. Breadcrumb-Navigation erstellen
491
R30.8 Eine Sitemap anlegen und konfigurieren
492
R30.9 Liste der zuletzt aktualisierten Seiten
494
R30.10 Blätternavigation
495
R30.11 Jump-Menü/Drop-Down-Menü
498
R30.12 Haupt- und Unternavigation räumlich trennen
500
R30.13 Grafikmenü mit bestehenden Grafiken realisieren
501
31 Barrierefreiheit
504
R31.1 Den richtigen Doctype setzen
504
R31.2 Validierung und XHTML-Cleaning
505
R31.3 HTML-Quellcode aufräumen und optimieren mit Tidy
507
R31.4 Überprüfung der Validität (HTML-Validator)
508
R31.5 Browserweichen einrichten
510
R31.6 Barrierefreie Templates mit dem YAML-Framework
512
R31.7 Semantisch korrekte Überschriften
514
R31.8 Barrierefreie Menüs mit Accesskeys einrichten
517
R31.9 Barrierefreie Grafikmenüs erstellen
519
R31.10 Multimedia-Inhalte wie Flash und Video einbinden
521
R31.11 Schriftgrößen-Umschalter realisieren
522
R31.12 Barrierefreie grafische Header verwenden
525
32 Mehrsprachigkeit
530
R32.1 Die richtigen Vorbereitungen treffen
530
R32.2 Multi-Tree und One-Tree-Fits-All Ansatz
534
R32.3 Flagge für die Default-Sprache setzen
535
R32.4 Eigene Sprachen und Flaggen hinzufügen
536
R32.5 Mehrsprachigkeit aktivieren
538
R32.6 Übersetzungen anlegen
542
R32.7 Einen Sprachumschalter realisieren
543
R32.8 Mehrsprachige Texte und Bilder
546
R32.9 Japanische Sprachversion (chinesisch, koreanisch)
548
R32.10 Lokalisierungsansicht
553
33 Der Extension Manager
556
R33.1 Extensions aus dem TER2 laden
556
R33.2 Extensions aktualisieren
560
R33.3 Extensions importieren
561
R33.4 Extension Manager findet keine Extensions
562
R33.5 Installierte Extensions ermitteln
563
R33.6 Extensions exportieren
564
R33.7 Extensions deinstallieren
564
R33.8 Extensions im TER2 veröffentlichen
565
R33.9 Extension Manager meldet Fehler
567
R33.10 Sprachen installieren
567
R33.11 Firefox Suchfeld für TER2
568
R33.12 Neue Extension verursacht schweren Fehler
569
34 Extensions anwenden undkonfigurieren
572
R34.1 Entfernen des Standard-CSS einer Extension
572
R34.2 tt_news einrichten
573
R34.3 tt_news-Liste unterschiedlich formatieren
580
R34.4 tt_news-Autor und E-Mail-Anschrift voreinstellen
582
R34.5 Neuer News-Eintrag löscht Cache automatisch
583
R34.6 Einrichten von ve_guestbook
584
R34.7 Einen Blog mit timtab einrichten
587
R34.8 timtab erweitern
592
R34.9 RealURL (realurl) einrichten
601
R34.10 Einen Onlineshop mit commerce aufbauen
606
35 Extensions erstellen undprogrammieren
628
R35.1 Extension Key festlegen
629
R35.2 Extension Key registrieren
630
R35.3 Anlegen einer Basis-Extension
632
R35.4 Plugins und Module anlegen
637
R35.5 Anlegen von eigenen Datenbanktabellen
641
R35.6 Statischen TypoScript-Code zu Ihrer Extension hinzufügen
647
R35.7 Datenbank-Relationen
649
R35.8 Das TCA (Table Configuration Array) verstehen
654
R35.9 Anzeige eines Frontend-Plugins realisieren
657
R35.10 Links in Frontend-Plugins generieren
664
R35.11 Mehrsprachigkeit bei der Anzeige
665
R35.12 Eigene Anzeige-Optionen erstellen
668
R35.13 Eigene HTML-Templates verwenden
671
R35.14 Flexform-Felder verwenden und konfigurieren
674
R35.15 AJAX in Backend-Formularen
691
R35.16 Eigene Tags realisieren
693
36 Suchmaschinen-Optimierung
700
R36.1 SEO-Basiskonzepte und -konfiguration
700
R36.2 Meta-Daten zufügen
702
R36.3 Fehlercodes richtig konfigurieren
707
R36.4 Seitentitel optimieren
708
R36.5 Zusätzliche Inhalte mit Suchwörtern in Klick-Layer einbinden
710
R36.6 Optimierte Pfade und Dateinamen mit StaticDocuments bzw. RealURL
712
R36.7 Bilder suchmaschinenfreundlich einbinden
714
R36.8 Extension Google Sitemap einrichten
716
R36.9 Extension Tooltip für Keywords einrichten
719
R36.10 Kontrolle über die Optimierung mit der Extension AWStats
721
R36.11 Google Analytics in TYPO3 einbauen
725
R36.12 Google von bestimmten Inhalten aussperren
726
37 TYPO3-Sicherheit
728
R37.1 Install Tool absichern
728
R37.2 Backend-Zugang über SSL
729
R37.3 Session an IP-Adresse binden
730
R37.4 PHP-Fehlermeldungen abschalten
731
R37.5 Das Backend zusätzlich per .htaccess absichern
732
R37.6 Angriffsziel Admin
734
R37.7 Zugriff auf das Filesystem
734
R37.8 Gefährliche Inhaltselemente einschränken
735
R37.9 Sicherheit der Webserver-Umgebung
735
R37.10 Der Umgang mit Sicherheitslücken
736
R37.11 Diff und Patch
737
R37.12 Nachvollziehbarkeit durch Log-Dateien
737
R37.13 Sichere PHP-Skripte schreiben
738
38 TYPO3-Tuning
740
R38.1 Grundlagen und Methode
740
R38.2 Apache-Tuning
745
R38.3 PHP-Tuning
747
R38.4 MySQL-Tuning
753
R38.5 Aufbau eines Proxy-Servers mittels mod_proxy
758
R38.6 TYPO3-Tuning + Caching
760
R38.7 TYPO3-Extension fl_staticfilecache
767
39 TYPO3-Backstage
772
R39.1 Das TYPO3-Framework
772
R39.2 TYPO3 Frontend-Ablaufdiagramm (Flow)
773
R39.3 Die TYPO3-Verzeichnisstruktur verstehen
780
R39.4 t3x-Datenstruktur und -Viewer
786
R39.5 TYPO3 Coding Guidelines (CGL)
790
R39.6 Bugs melden und neue Features vorschlagen
810
R39.7 TYPO3 FORGE
816
R39.8 Die Struktur der TYPO3-Community
819
R39.9 TYPO3-Zertifizierung
835
40 Ausblick auf TYPO3 5.0 – FLOW3
838
R40.1 Ausblick auf TYPO3 5.0 – FLOW3
838
Register
852
© 2009-2024 ciando GmbH