2.

TYPO3 Kochbuch

Christian Trabold

Jo Hasenau

Peter Niederlag

Inhalt

A Note Regarding Supplemental Files

Einleitung

An wen sich dieses Buch richtet

Die verwendete TYPO3-Umgebung

Aufbau dieses Buchs

Neues in der zweiten Auflage

Die CD-ROM und die Codebeispiele

Verwendung der Codebeispiele

Typografische Konventionen

Danksagung

1. Installation und Konfiguration

1.0 Einführung

1.1 Vorüberlegungen zu einem TYPO3-Projekt

1.2 Das richtige TYPO3-Paket auswählen und installieren

1.3 Eine Entwicklerversion von TYPO3 verwenden

1.4 Die Ordnerstruktur verstehen

1.5 Systemparameter ermitteln und verstehen

1.6 Systemparameter anpassen

1.7 Größere Dateiuploads ermöglichen

1.8 Mehrere Websites mit TYPO3 verwalten

1.9 UTF-8 als Standardzeichensatz verwenden

1.10 Der richtige Umgang mit Fehlermeldungen

2. Wartung und Systempflege

2.0 Einführung

2.1 TYPO3 auf eine neue Version aktualisieren

2.2 Die aktuell verwendete TYPO3-Version ermitteln

2.3 Den Kompatibilitätsmodus nutzen

2.4 Die Website temporär für Wartungsarbeiten sperren

2.5 Die Datenbank prüfen und warten

2.6 Im Dateisystem aufräumen

2.7 Den Referenzindex aktuell halten

2.8 Den Referenzindex nutzen

2.9 Ein Backup der TYPO3-Installation erstellen

2.10 Den Zeichensatz einer bestehenden TYPO3-Installation prüfen und auf UTF-8 umstellen

2.11 Systemprozesse mit dem Syslog protokollieren

2.12 Inhalte im Backend schnell finden

2.13 Verloren geglaubte Dateien wiederfinden

3. Der richtige Zugang zum Backend

3.0 Einführung

3.1 Yeah, that's a classic — Den Browser richtig einstellen

3.2 Am Backend anmelden

3.3 Ein verlorenes Passwort für das Backend wiederherstellen

3.4 Das Backend absichern

3.5 Die Beschriftung im Anmeldeformular ändern

3.6 Eigene Bilder im Anmeldeformular anzeigen

3.7 Das Layout der Anmeldemaske ändern

3.8 Aktuelle Meldungen unter dem Anmeldeformular anzeigen

3.9 Tipp des Tages auf der Anmeldeseite anzeigen

3.10 Backend-Benutzer auf das Frontend umleiten

3.11 Einen bestimmten Backend-Benutzer simulieren

3.12 Benutzereinstellungen vorgeben

4. Inhalte eingeben

4.0 Einführung

4.1 Seiten schnell erzeugen

4.2 Die Inhaltseingabe beschleunigen

4.3 Standardwerte für Felder vorgeben

4.4 Werte anderer Datensätze übernehmen

4.5 Seiten und Inhalte standardmäßig verstecken

4.6 Datensätze nur in bestimmten Seiten erlauben

4.7 Inhaltseingabe über das Frontend ermöglichen

4.8 Den interaktiven Texteditor RTE konfigurieren

4.9 Mehrsprachige Inhalte mit TYPO3 einpflegen

4.10 Sich in einem Workspace zurechtfinden

4.11 Die Veröffentlichung von Inhalten über einen Workflow kontrollieren

5. Inhalte verwalten

5.0 Einführung

5.1 Datensätze effektiv verwalten

5.2 Wiederkehrende Arbeiten beschleunigen

5.3 Datensätze verschieben oder kopieren

5.4 Seiteninhalt auf mehrere Seiten verteilen

5.5 Die Zwischenablage erweitern

5.6 Mehrere Datensätze gleichzeitig bearbeiten

5.7 Einen oder mehrere Datensätze löschen

5.8 Dateien oder Ordner verschieben oder löschen

5.9 Gelöschte Inhalte wiederherstellen

5.10 Inhalte lokal sichern

5.11 Inhalte zwischen unterschiedlichen TYPO3-Instanzen austauschen

5.12 Eine Suche auf der Website integrieren

5.13 Inhalte mit der Indexsuche von TYPO3 suchen und finden

5.14 Mit IRRE verknüpfte Datensätze bearbeiten

6. Das Backend anpassen

6.0 Einführung

6.1 Die Seitenaufteilung im Backend beeinflussen

6.2 Anzahl der Inhaltsspalten erhöhen

6.3 Anzahl der Inhaltsspalten verringern

6.4 Inhaltsspalten umbenennen

6.5 Auswahllisten optimieren

6.6 Eingabefelder und Bearbeitungsmöglichkeiten reduzieren

6.7 Eingabefelder anpassen

6.8 Die Auswertung von Eingabefeldern anpassen

6.9 Die Anordnung von Eingabefeldern ändern

6.10 Eingabeformulare mehrspaltig darstellen

7. Die Übersicht im Backend erhöhen

7.0 Einführung

7.1 Oft verwendete Datensätze schnell erreichen

7.2 Zuletzt bearbeitete Datensätze anzeigen

7.3 Seiten-IDs ermitteln

7.4 Längere Seitentitel im Seitenbaum ermöglichen

7.5 Tabelleninhalte nur bei Bedarf anzeigen

7.6 Anzahl der Datensätze im Listenmodus erhöhen

7.7 Eigene Datensätze im Seitenmodul anzeigen

7.8 Eigene Seiten-Icons anzeigen

8. TypoScript verstehen und verwalten

8.0 Einführung

8.1 TypoScript anstatt eigener PHP-Funktionen nutzen

8.2 TypoScript-Templates sinnvoll aufteilen

8.3 Den TypoScript-Object-Browser und den Template-Analyzer nutzen

8.4 Den TypoScript-Debugger nutzen

8.5 TypoScript aus externen Dateien einbinden

8.6 Den TypoScript-Editor nutzen

8.7 TypoScript-Konstanten zentral verwalten

8.8 Extension-Templates und Conditions nutzen

8.9 Template-Ressourcen effektiv einsetzen

8.10 Mit Wraps Inhalte für die Ausgabe verpacken

8.11 TypoScript-Werte beim Parsen dynamisch ändern – der Operator :=

9. Die Seitenausgabe steuern

9.0 Einführung

9.1 Das Seiten-Grundgerüst aufbauen

9.2 CSS-Styles in den Seitenkopf einbinden

9.3 CSS-Stylesheets dynamisch aus Vorlagen erzeugen

9.4 Die Ausgabe mehrsprachiger Websites steuern

9.5 Das Frontend-Editing optimieren

9.6 URL-Parameter an Menüs und Links übergeben

9.7 Links wie statische HTML-Dateien darstellen

9.8 Webseiten nur bestimmten Besuchern zeigen

9.9 Benutzerfreundliche Fehlerseiten integrieren und sinnvoll gestalten

10. Der stdWrap-Baukasten: Grundlegende TypoScript-Funktionen

10.0 Einführung

10.1 Daten auslesen

10.2 Die getText-Funktionen data, dataWrap und insertData verwenden

10.3 Bedingungen abfragen

10.4 Daten verarbeiten und formatieren

10.5 HTML und Text parsen

10.6 Inhalte verpacken

10.7 Links mit typolink erzeugen

10.8 Spezielle stdWrap-Funktionen verwenden

10.9 Die Hierarchie von Wraps und anderen Funktionen kennenlernen

11. Funktionale TypoScript-Elemente verwenden

11.0 Einführung

11.1 Mit COA Inhalte zusammenfassen und mit stdWrap versehen

11.2 Das Caching von Inhalten deaktivieren

11.3 Inhalt nur bei Bedarf zweispaltig anzeigen

11.4 Mit LOAD_REGISTER und RESTORE_REGISTER Elemente zwischenspeichern

11.5 Links im Fließtext als Fußnoten ausgeben

11.6 Hierarchische Abschnittsübersichten

11.7 Vorhandene TypoScript-Register finden und nutzen

11.8 Mit dem GIFBUILDER einfache Grafiken erstellen

11.9 Zugängliche grafische Header anlegen

11.10 Mehrschichtige Grafiken für Überschriften oder Menüs erstellen

11.11 Grafiken mit mehrzeiligem Text erzeugen

11.12 Eigene PHP-Funktionen als TypoScript-Element einbinden

12. Navigationselemente erstellen

12.0 Einführung

12.1 Startpunkt für Menüs festlegen

12.2 Geschützte Seiten im Menü anzeigen und auf Login-Seite umleiten

12.3 Zustände von Menüeinträgen erkennen und individuell formatieren

12.4 Menüeinträge in Abhängigkeit von ihrer Position konfigurieren

12.5 Spezielle Menütypen: Brotkrumen- oder Rootline-Navigation

12.6 Spezielle Menütypen: Liste zuletzt aktualisierter Seiten

12.7 Spezielle Menütypen: Liste themenverwandter Seiten

12.8 Spezielle Menütypen: Sprachauswahl

12.9 Spezielle Menütypen: Blätternavigation

12.10 Erweiterte Menüeigenschaften individuell anpassen

12.11 Ein einfaches Textmenü auf Basis einer ungeordneten Liste erstellen

12.12 Ein Textmenü mit komfortablen Erweiterungen erzeugen

12.13 Ein Teaser-Menü mit Bildern und Kurzbeschreibung erzeugen

12.14 Menü und Titel mit hierarchischer Nummerierung erzeugen

12.15 Ein einfaches Grafikmenü auf Basis einer ungeordneten Liste erstellen

12.16 Ein Grafikmenü mit Effekten und Erweiterungen erzeugen

12.17 Ein Jumpmenü als textbasiertes Menü konstruieren

12.18 TypoScript-Menüs als Standard-Setup für das Inhaltselement Menü/Sitemap hinterlegen

13. Statische und dynamische Inhalte ausgeben

13.0 Einführung

13.1 Textbausteine in der Seite fest verankern

13.2 Bild auf jeder Seite anzeigen

13.3 Klick-Vergrößern mithilfe eines separaten Lupen-Icons realisieren

13.4 Vergrößerte Bilder mit Copyright-Vermerk versehen

13.5 Inhalt einer Seite und ihrer Unterseiten zusammenfassen

13.6 Inhaltselemente mit optionSplit verpacken

13.7 Inhaltselemente in der Seite fest verankern

13.8 Verankerte Elemente unabhängig vom sonstigen Inhalt rendern

13.9 Wiederkehrende Inhalte zeitabhängig anzeigen

13.10 Statische Formulare individuell erstellen

13.11 Formulare mit Fieldset zusammenfassen

13.12 Eine HTML-Vorlage verwenden

14. TypoScript ausreizen

14.0 Einführung

14.1 TypoScript-Elemente intelligent als Hilfsmittel nutzen

14.2 Die Ausgabe in Abhängigkeit von Bedingungen dynamisch anpassen

14.3 Ein alphabetisches Inhaltsverzeichnis anlegen

14.4 Eine mehrseitige Navigation mit Seitenbrowser erstellen

14.5 Den Backend-Seitenbaum als Frontend-Navigation simulieren

14.6 Kopfgrafiken mit halbtransparenten Textboxen erstellen

14.7 Pseudotransparenzen für Überschriften oder Menüs erstellen

14.8 Inhalte von Extensions unabhängig von Plugins ausgeben

14.9 Ein auf Seiten basierendes Newssystem erzeugen

15. Vorhandene Extensions nutzen

15.0 Einführung

15.1 Installierte Extensions ermitteln

15.2 Eine Extension installieren und konfigurieren

15.3 Eine Extension aktualisieren

15.4 Nach Extensions recherchieren

15.5 Extensions importieren

15.6 Extensions exportieren oder sichern

15.7 Extensions deinstallieren

15.8 Den Zugriff auf ein Repository konfigurieren

15.9 Extensions über das TER veröffentlichen

15.10 Sprachpakete verwalten

16. Extensions kickstarten und ausarbeiten

16.0 Einführung

16.1 Einen passenden Extension-Key wählen

16.2 Ein Extension-Grundgerüst anlegen

16.3 Zusätzliche Datenbanktabellen und Felder hinzufügen

16.4 Eigene Inhaltselemente einbinden

16.5 Neue Überschriftentypen integrieren

16.6 Eigene Tags in Seiteninhalten umsetzen

16.7 Backend-Module erstellen und erweitern

16.8 Unterverzeichnisse umbenennen

16.9 Abhängigkeiten und Voraussetzungen für Extensions definieren

16.10 Das Extension-Icon anpassen

16.11 Änderungen am Code protokollieren

17. Einstieg in die TYPO3-API

17.0 Einführung

17.1 Sich im Quellcode zurechtfinden

17.2 Extensions sicher und standardkonform entwickeln

17.3 Dateien aus dem Dateisystem einbinden

17.4 Fehler im Programmcode analysieren

17.5 Die Datenbank-API nutzen

17.6 Mehrere Datenbanken über die Datenbank-API abfragen

17.7 Mehrsprachigkeit in eigenen Extensions unterstützen

17.8 Datensätze in Workspaces versionierbar machen

17.9 IRRE für eigene Extensions nutzen

17.10 Tabellen mit IRRE über mehrere Ebenen verschachteln

17.11 Kernfunktionen und Prozesse individuell anpassen

17.12 TYPO3-Klassen mit XClass erweitern

17.13 Prozesse mit Hooks beeinflussen

17.14 Extension-Parameter zentral verwalten

18. Frontend-Plugins weiter entwickeln

18.0 Einführung

18.1 TypoScript in eigenen Frontend-Plugins verwenden

18.2 Werte aus Flexform-Feldern auswerten

18.3 Hyperlinks erzeugen

18.4 Eigene Datensätze mit individuellen Linkfunktionen verlinken

18.5 Benutzerdaten in Sessions speichern

18.6 CSS- und JavaScript-Dateien einbinden

18.7 Schnelle Ajax-Schnittstellen per eID-Tag ermöglichen

19. Backend-Erweiterungen verfeinern

19.0 Einführung

19.1 TSconfig-Optionen in eigenen Backend-Modulen nutzen und auswerten

19.2 Flexform-Felder einbinden und konfigurieren

19.3 Backend-Module individuell gruppieren

19.4 Unterschiedliche Icons je nach Zustand des Datensatzes anzeigen

19.5 Vorschautexte von Plugins anpassen

19.6 Backend-Formulare mit einer kontextsensitiven Hilfe ausstatten

19.7 Bearbeitungsfelder mit Ajax-Funktionalität versehen

20. TYPO3 erleben

20.0 Einführung

20.1 Skårhøj richtig aussprechen

20.2 Das TYPO3-Projekt unterstützen

20.3 Handbücher schreiben

20.4 Übersetzungen anfertigen

20.5 Bugs melden oder neue Features vorschlagen

20.6 Die TYPO3-Newsgroups nutzen

20.7 Den aktuellen Projektfortschritt verfolgen

20.8 Weiterführende Quellen

Stichwortverzeichnis

Kolophon

Impressum

A Note Regarding Supplemental Files

Supplemental files and examples for this book can be found at http://examples.oreilly.com/9783897218512/. Please use a standard desktop web browser to access these files, as they may not be accessible from all ereader devices.

All code files or examples referenced in the book will be available online. For physical books that ship with an accompanying disc, whenever possible, we’ve posted all CD/DVD content. Note that while we provide as much of the media content as we are able via free download, we are sometimes limited by licensing restrictions. Please direct any questions or concerns to .

Einleitung

TYPO3 konnte seine Position unter den Enterprise-Content-Management-Systemen in den letzten Jahren behaupten und weiter ausbauen. Zunächst durch das starke Engagement und die Überzeugung des Dänen Kasper Skårhøj angetrieben, wird TYPO3 heute durch die breite Unterstützung einer aktiven Community getragen und ist im deutschsprachigen Raum zweifelsohne zu einer festen Größe unter den Open Source-CM-Systemen geworden.

TYPO3 ist aufgrund der verwendeten GPL-Lizenz lizenzkostenfrei erhältlich und wird konsequent von einer weltumspannenden und sehr engagierten Community begleitet und vorangetrieben, sodass stets zahlreiche aktuelle Entwicklungen im Bereich der Internettechnologie in das Projekt einfließen. Mit der Vision Inspiring People to share ist dadurch im Laufe der Jahre ein flexibles und vielschichtiges System entstanden, das mit seinem großen Funktionsumfang unzählige Möglichkeiten zur Umsetzung erfolgreicher Web-projekte bietet.

Diese Flexibilität bringt jedoch ohne Frage auch ein hohes Maß an Komplexität mit sich. Geht es darum, bestimmte Anforderungen umzusetzen und Redakteuren ein auf ihre Bedürfnisse optimiertes System zur Verfügung zu stellen, dann sind Sie als TYPO3-Entwickler oder Administrator gefordert, das System entsprechend einzurichten und anzupassen. TYPO3 gibt Ihnen alle dazu erforderlichen Mittel an die Hand.

In diesem Buch finden Sie eine umfangreiche Sammlung von Lösungen zu verschiedenen Anforderungen, die wir in den letzten Jahren in einer Vielzahl von Projekten entwickelt und eingesetzt haben. Wir haben uns bemüht, die Konzepte und Hintergründe jeweils so zu beleuchten, dass die Zusammenhänge zwischen den verschiedenen Thematiken deutlich werden. Zahlreiche Querverweise sorgen dabei dafür, dass die häufigsten Fragen und Problemstellungen beim Arbeiten mit TYPO3 schnell beantwortet werden können. Gleichzeitig ermöglichen diese ineinander verzahnten Inhalte einen tieferen Einblick in die Hintergründe von TYPO3.

Bei den Rezepten, die sich intensiv mit Programmierung beschäftigen, haben wir sehr viel Wert darauf gelegt, die Beispiele und Herangehensweisen so generisch wie möglich zu gestalten. Da die Anforderungen hier individuell sehr unterschiedlich sind, sollen vorrangig die allgemeine Funktionsweise sowie der Aufbau von TYPO3 im Gesamten beleuchtet werden. Auf diesem Fundament können Sie dann weiter aufbauen und Ihrer Kreativität freien Lauf lassen.

Wir würden uns freuen, Ihnen mit diesem Buch einen nützlichen Ratgeber für Ihre Arbeit mit TYPO3 an die Hand zu geben, und hoffen, dass wir Ihnen mit diesem Kochbuch darüber hinaus auch etwas von der Faszination von TYPO3 vermitteln können. Über Feedback, Kritik sowie über Anregungen für weitere Rezepte freuen wir uns, Sie können uns unter der Adresse erreichen.

An wen sich dieses Buch richtet

Mit dem TYPO3 Kochbuch sprechen wir Entwickler und Dienstleister an, die professionelle Projekte mit TYPO3 realisieren möchten und dafür praktische Lösungen suchen. Sie sollten dabei idealerweise schon die ersten Schritte mit TYPO3 unternommen haben und mit dem grundsätzlichen Umgang mit der TYPO3-Benutzeroberfläche vertraut sein. Sollten Sie noch keinerlei Erfahrung mit TYPO3 haben, empfehlen wir Ihnen für den Einstieg das Buch Praxiswissen TYPO3 von Robert Meyer, das ebenfalls im O'Reilly Verlag erschienen ist.

TYPO3 ist eine Datenbankanwendung, daher sollten für Sie Begriffe wie Tabelle und Feld nicht nur mit Fußball verbunden sein. Der Schwerpunkt der meisten Rezepte liegt auf der entsprechenden Nutzung des TYPO3-spezifischen Sprachkonstrukts TypoScript oder der Nutzung der TYPO3-Benutzeroberfläche. Da die Rezepte jeweils in sich geschlossene Lösungen beschreiben, sollten sie mit allgemeinen Kenntnissen der einschlägigen Webtechnologien nachvollziehbar sein. Ein Teil der Rezepte, insbesondere diejenigen zur Extension-Entwicklung, setzen Kenntnisse in der PHP-Programmierung voraus. Da die Rezepte bewusst ausführlich gehalten sind und deutlich erläutert werden, sind sie aber auch ohne tieferes Fachwissen nachvollziehbar.

Lesen Sie das TYPO3 Kochbuch ...

  • wenn Sie Ihr TYPO3-Wissen vertiefen möchten.

  • wenn Sie gern anhand von erläuterten Praxisbeispielen lernen.

  • wenn Sie Inspirationen zur Lösung Ihrer individuellen Problemstellungen suchen.

  • wenn Sie TYPO3 im Zusammenhang erfahren möchten.

  • wenn Sie es satt haben, Hunderte von Seiten der umfangreichen TYPO3-Dokumentation lesen zu müssen, um einen einfachen Zusammenhang zu verstehen.

  • wenn Sie schnelle Antworten auf dringende Fragen zu TYPO3 benötigen, dabei auch gern ein bisschen mehr als nötig lernen möchten und Querverweise schätzen.

Wir haben in diesem Buch bewusst auf die Behandlung von Extensions außerhalb des Standardpakets von TYPO3 4.2 verzichtet, weil wir Ihnen möglichst umfassend die Kernfunktionen des Systems erläutern wollen. Selbst die Behandlung nur der beliebtesten Extensions hätte zum einen den Rahmen dieses Buchs gesprengt, weil sie ausreichend Material für ein eigenes Buch zu diesem Thema geliefert hätten. Zum anderen werden Sie nach der Lektüre dieses Kochbuchs feststellen, dass sich viele Dinge ganz ohne separate Extensions sehr einfach und komfortabel mit den Bordmitteln des TYPO3-Kerns lösen lassen. Wenn Sie detaillierte Informationen über TemplaVoilà, News, Direct Mail, Shops, Foren oder andere Extensions suchen, sollten Sie sich auf typo3.org umsehen.

Sie finden in diesem Buch ausschließlich Rezepte, die sich in der Praxis bewährt haben und Ihnen eine wirkliche Hilfe beim Erstellen eigener TYPO3-Projekte bieten.

Abschließend sei darauf hingewiesen, dass dieses Kochbuch kein »Definitive Guide« sein kann und will. Wir erheben daher keinen Anspruch auf Vollständigkeit. Das eine oder andere TypoScript-Element wird beispielsweise nicht erwähnt werden, wobei dies meistens daran liegt, dass diese Elemente selten verwendet werden oder laut Referenz nicht mehr verwendet werden sollten.

Die verwendete TYPO3-Umgebung

TYPO3 ist ein sehr umfangreiches Projekt, das sich ständig weiterentwickelt. Die Grundlage für dieses Buchs ist TYPO3 in der Version 4.2. Fast alle Rezepte sind aber auch in älteren Versionen anwendbar, gegebenenfalls wird in den Rezepten explizit auf TYPO3-versionsspezifische Besonderheiten hingewiesen. Beachten Sie, dass die TYPO3-Version 4.2 PHP 5.2 voraussetzt.

Für TYPO3 sind neben dem Installationspaket zusätzlich Tausende weiterer Extensions verfügbar, mit denen TYPO3 auf verschiedenste Weisen beeinflusst oder erweitert werden kann. Wir behandeln in diesem Rahmen ausschließlich Extensions, die als System-Extensions bereits Bestandteil des TYPO3-Kerns sind. An geeigneten Stellen wird auf zusätzliche, optionale Extensions aus dem Extension-Repository hingewiesen.

Da es sich bei TYPO3 um ein webbasiertes System handelt, werden entsprechende Systemumgebungen bestehend aus Betriebssystem, Webserver, Datenbankserver und PHP vorausgesetzt. Als Client dient dabei ein beliebiger Webbrowser.

Aufbau dieses Buchs

Das TYPO3 Kochbuch ist eine Sammlung von Lösungen für gängige und manchmal auch nicht ganz alltägliche Aufgaben bei der Arbeit mit TYPO3. Sie werden erfahren, wie man mit TYPO3 umgeht und selbst knifflige Probleme zügig lösen kann.

Sie müssen das Buch nicht von vorne bis hinten durcharbeiten, jedes Rezept ist in sich abgeschlossen und behandelt die Lösung eines spezifischen Problems. Oftmals gibt es dabei vielfältige Optionen oder Alternativen zur Lösung eines Problems. Unter der Überschrift Lösung wird zunächst der direkte und einfachste Weg beschrieben, danach gehen wir in der Diskussion auf weitere Möglichkeiten und Alternativen sowie deren Vor- und Nachteile ein.

Wenn für das jeweilige Rezept Vorwissen nötig ist, wird dies entsprechend über Querverweise innerhalb des Texts verdeutlicht. Über diese Querverweise können Sie dann je nach Wissensstand bestimmte Themenbereiche vertiefen und ausbauen. Im Abschnitt Siehe auch enthalten die Rezepte außerdem Verweise auf weitere für die angesprochene Problemstellung relevante Rezepte sowie auf andere Online- und Offline-Ressourcen.

Die einzelnen Kapitel dieses Buchs können in sechs große inhaltliche Abschnitte eingeteilt werden. Dabei steigt der Schwierigkeitsgrad innerhalb der Kapitel von leicht bis schwer, sodass die ersten Rezepte meist leichter sind als die Rezepte am Ende eines Kapitels. Suchen Sie einen allgemeinen Einstieg in die Thematik eines Kapitels, sollten Sie zunächst die jeweilige Einführung lesen. Hier ein Überblick über die einzelnen Abschnitte und Kapitel:

Der erste Abschnitt besteht aus zwei Kapiteln und widmet sich Aspekten rund um die Installation und Wartung einer TYPO3-Umgebung:

  • Kapitel 1, Installation und Konfiguration, behandelt wichtige Arbeitsschritte bei der Installation von TYPO3 und bietet zusätzlich einige Informationen zum technischen Hintergrund Ihrer TYPO3-Installation.

  • Kapitel 2, Wartung und Systempflege, setzt den Fokus auf administrative Arbeitsschritte, die im laufenden Betrieb einer TYPO3-Installation anfallen.

Im zweiten Abschnitt wird der grundlegende Umgang mit dem TYPO3-Backend behandelt:

  • Kapitel 3, Der richtige Zugang zum Backend, erläutert nützliche Handgriffe rund ums TYPO3-Backend und die Benutzerverwaltung.

  • Kapitel 4, Inhalte eingeben, zeigt Ihnen, wie Sie Ihre Website zügig mit Inhalten füllen, und geht auf die Verwendungsmöglichkeiten von Workspaces ein.

  • Kapitel 5, Inhalte verwalten, erklärt, wie Sie die Inhalte in Ihrer Website effektiv handhaben, verwalten und für Ihre Besucher durchsuchbar machen können.

Der dritte Abschnitt zeigt Ihnen, wie Sie das TYPO3-Backend an Ihre eigenen Bedürfnisse anpassen können:

  • Kapitel 6, Das Backend anpassen, beleuchtet die wesentlichen Punkte, mit denen Sie mit wenigen Handgriffen das TYPO3-Backend für Ihre eigenen Bedürfnisse optimieren können.

  • Kapitel 7, Die Übersicht im Backend erhöhen, behandelt Arbeitsschritte, die Ihnen die tägliche Arbeit im TYPO3-Backend erheblich erleichtern können.

Im vierten Abschnitt werden die Möglichkeiten diskutiert, Inhalte mit TYPO3 auszugeben:

  • Kapitel 8, TypoScript verstehen und verwalten, bringt Ihnen die Konfigurationssprache von TYPO3 näher. Hier erhalten Sie die nötigen Grundlagen, um die weiteren Kapitel verstehen zu können.

  • Kapitel 9, Die Seitenausgabe steuern, behandelt zahlreiche Möglichkeiten, anhand derer Sie Seiteninhalte in unterschiedlichen Ausgabeformaten präsentieren können.

  • Kapitel 10, Der stdWrap-Baukasten: Grundlegende TypoScript-Funktionen, beschäftigt sich mit dem umfangreichen Funktionsangebot, das Ihnen TYPO3 im Rahmen von stdWrap zur Verfügung stellt. Es dient auch als Nachschlagewerk, um die Funktionsweise der in den weiteren Kapiteln genutzten stdWrap-Funktionen nachlesen zu können. Die Beispiele sind daher etwas knapper gehalten als die der sonstigen Rezepte zum Thema TypoScript.

  • Kapitel 11, Funktionale TypoScript-Elemente verwenden, beschreibt TypoScript-Elemente, die verschiedene Hilfsfunktionen übernehmen, wenn es darum geht, TypoScript zu strukturieren, die Zwischenablage zu verwenden, Grafiken zu erzeugen oder eigene PHP-Funktionen einzubinden.

  • Kapitel 12, Navigationselemente erstellen, erläutert die komfortablen Möglichkeiten, mithilfe von TypoScript Menüstrukturen zu erstellen. Dabei kommen sowohl textbasierte als auch grafikbasierte Versionen zum Einsatz. In den ersten Rezepten des Kapitels werden zunächst die Grundlagen der Menüelemente erläutert. Danach folgen konkrete, umfangreichere Anwendungsbeispiele.

  • Kapitel 13, Statische und dynamische Inhalte ausgeben, beschäftigt sich mit den inhaltsbezogenen TypoScript-Elementen, mit deren Hilfe Sie Texte, Bilder und Formulare ausgeben sowie HTML-Vorlagen zuweisen können.

  • Kapitel 14, TypoScript ausreizen, zeigt Ihnen, wie Sie mithilfe des in den vorigen Kapiteln erworbenen Wissens auch äußerst komplexe Problemstellungen ausschließlich durch den Einsatz von TypoScript lösen können.

Der fünfte Abschnitt zeigt Ihnen, wie Sie TYPO3 nach eigenen Wünschen erweitern können:

  • Kapitel 15, Vorhandene Extensions nutzen, beleuchtet, wie Sie in eigenen Projekten auf vorhandene Extensions zurückgreifen können, und unterstützt Sie bei der Recherche nach der richtigen Extension.

  • Kapitel 16, Extensions kickstarten und ausarbeiten, gibt Ihnen die grundlegenden Kenntnisse für den Kickstarter an die Hand, mit denen Sie dann leicht eigene Extensions erstellen und Basiseinstellungen von TYPO3 anpassen können.

  • Kapitel 17, Einstieg in die TYPO3-API, zeigt Ihnen tiefer gehende Möglichkeiten und Techniken bei der Extension-Entwicklung und führt Sie an die Nutzung der TYPO3-API heran.

  • Kapitel 18, Frontend-Plugins weiter entwickeln, behandelt spezielle Entwicklungstechniken, mit denen Sie Ihre Frontend-Plugins ausbauen können.

  • Kapitel 19, Backend-Erweiterungen verfeinern, geht auf weiterführende Methoden ein, die sich bei der Entwicklung von Backend-Modulen bewährt haben.

Im sechsten Abschnitt erhalten Sie zu guter Letzt tiefere Einblicke in die TYPO3-Community:

  • Kapitel 20, TYPO3 erleben, stellt Ihnen wichtige Quellen und Anlaufstellen vor, die Ihnen den Umgang mit TYPO3 erleichtern können.

Neues in der zweiten Auflage

Seit der ersten Auflage, die auf der TYPO3-Version 4.0 basierte, haben sich in TYPO3 einige Neuerungen ergeben, die wir natürlich in dieser Neuauflage berücksichtigen. Ohne auf die kleinen Detailveränderungen einzugehen, sind vor allem die folgenden Neuerungen aus den TYPO3-Versionen 4.1 und 4.2 erwähnenswert:

Neues Backend

Mit Version 4.2 hat ein komplett überarbeitetes Backend in TYPO3 Einzug gehalten.

Workspaces

Das Workspaces-Feature ist mittlerweile von einem rein experimentellen Status zu einem produktiv einsetzbaren Feature herangewachsen. Im deutschen Backend wird der Begriff Workspace mit Arbeitsumgebung übersetzt. Der Einfachheit halber verwenden wir oft den englischen Begriff Workspace.

IRRE

Mit IRRE, dem Inline Relational Record Editing, steht eine mächtige neue Funktion bereit, um verknüpfte Datensätze auf sehr einfache Weise zu bearbeiten.

Ajax

Der Hype geht auch an TYPO3 nicht spurlos vorbei, und so hat Ajax, vom Benutzer meist unbemerkt, im TYPO3-Backend ebenfalls Einzug gehalten. Mit Version 4.2 steht dabei im Backend auch eine nützliche Ajax-API bereit, die für Backend-Erweiterungen genutzt werden kann; ebenso gibt es mit eIb für das Frontend ein neues für Ajax geeignetes Feature.

In der vorliegenden Auflage haben wir diese Neuerungen berücksichtigt und mit ins Buch aufgenommen. Alle bestehenden Rezepte wurden vollständig überarbeitet und auf die TYPO3-Version 4.2 angepasst. Zudem haben wir den Bereich Installation und Wartung ausgebaut und in zwei Kapitel aufgeteilt.

Die Kernfunktionen IRRE und Workspaces haben wir mit mehreren Rezepten nahtlos integriert. Hierdurch werden zahlreiche Arbeitsschritte im Backend möglich bzw. vereinfacht, die vorher gar nicht oder nur über Extensions möglich waren. Ebenso erfahren Sie, wie Sie Ihre Website für Ihre Besucher mit interaktiven Suchen und geschützten Bereichen attraktiver gestalten können. In Kapitel 13 erhalten Sie noch mehr spannende und inspirierende TypoScript-Beispiele, die Sie in Ihren eigenen Projekten weiter ausbauen können.

Den Bereich Extension-Entwicklung haben wir aufgrund des Feedbacks der Leser erheblich ausgebaut. Dieser Bereich umfasst nun vier statt vormals zwei Kapitel. Im ersten Teil finden Sie Rezepte, die grundlegende Techniken für die Extension-Entwicklung beschreiben. In den darauf folgenden Kapiteln gehen wir dann detailliert auf die Ausbaumöglichkeiten Ihrer Frontend- und Backend-Erweiterungen ein. Dabei finden Sie zum Beispiel Anregungen dazu, wie Sie Ajax-Funktionalitäten in TYPO3 integrieren oder über Hooks eigene Funktionalitäten in den TYPO3-Kern implementieren können, ohne auch nur eine Zeile im TYPO3-Kern zu ändern.

Wir möchten uns bei allen Lesern bedanken, die uns mit dem durchweg positiven Feedback ermuntert haben, diese zweite Auflage in Angriff zu nehmen. Wir hoffen, dass wir mit dieser Überarbeitung einige Ihrer Vorschläge umsetzen können, und freuen uns weiterhin über Ihre Kommentare und Anregungen.

Die CD-ROM und die Codebeispiele

Auf der beiliegenden CD-ROM finden Sie die Codebeispiele aus dem TYPO3 Kochbuch. Anhand dieses Quellcodes können Sie die in den Rezepten beschriebenen Vorgänge direkt nachvollziehen, eine kurze Erklärung zum jeweiligen Code erleichtert Ihnen dabei den Einstieg. Die Beispiele sind lauffähig ab TYPO3-Version 4.2 und können meist bequem als Extension oder eigener Seitenbaum in jede bestehende TYPO3-Installation integriert werden.

Im Ordner doc finden Sie die wichtigsten Dokumente für TYPO3-Entwickler im OpenOffice- und PDF-Format (Stand: 15. September 2008). Der Ordner html enthält die Beispiele aus den Rezepten des TYPO3 Kochbuchs als statische HTML-Seiten. Wir haben dabei sehr viel Wert darauf gelegt, dass die Beispiele einfach und intuitiv nachvollziehbar bleiben. Sie lassen sich schnell über die Übersichtsseite index.html erreichen und durch einen Klick auf den Rezepttitel öffnen. Klicken Sie nach dem Einlegen der CD auf die Datei index.html und erkunden Sie die Beispiele über Ihren Webbrowser. Auf diese Weise können Sie sich schnell einen guten Überblick verschaffen. Im Ordner typo3-packages finden Sie aktuelle TYPO3-Pakete (Stand: 15. September 2008).

Eine Möglichkeit zum Download der Codebeispiele des TYPO3 Kochbuchs finden Sie außerdem auf der Website des O'Reilly Verlags unter folgender Adresse:

http://www.oreilly.de/catalog/typo3ckbk2ger/

Verwendung der Codebeispiele

Sinn und Zweck dieses Buchs ist es, Ihnen bei Ihrer Arbeit zu helfen. Sie dürfen generell den Code aus diesem Buch in Ihren Programmen und Dokumentationen verwenden, ohne uns um Erlaubnis zu fragen, es sei denn, Sie verwenden einen bedeutenden Teil des Codes. Beispielsweise brauchen Sie keine Erlaubnis, wenn Sie ein Programm schreiben, das mehrere Codestücke aus diesem Buch verwendet, doch wenn Sie eine CD-ROM mit Codebeispielen aus O'Reilly-Büchern verteilen oder verkaufen, müssen Sie eine Genehmigung einholen. Sie können nach Belieben dieses Buch und Beispielcode daraus zitieren, um Fragen zu beantworten, aber wenn Sie einen großen Teil des Beispielcodes in Ihre Produktdokumentation übernehmen, bedarf dies einer Genehmigung.

Auch wenn wir es nicht verlangen, so freuen wir uns doch über eine Quellenangabe, wenn wir zitiert werden. Zu einer Quellenangabe gehören normalerweise Titel, Autor, Verlag sowie ISBN des Werks, zum Beispiel: »TYPO3 Kochbuch, 2. Auflage, von Christian Trabold, Jo Hasenau & Peter Niederlag. Copyright 2009 O'Reilly Verlag, ISBN 3-89721- 851-2.«

Wenn Sie den Eindruck haben, Ihre Verwendung unseres Codes übersteige die Grenzen des Erlaubten, sprechen Sie uns bitte an unter .

Typografische Konventionen

In diesem Buch gelten folgende typografische Konventionen:

Kursiv

Wird für Datei- und Verzeichnisnamen, E-Mail-Adressen und URLs, aber auch bei der Definition neuer Fachbegriffe und für Hervorhebungen verwendet.

Nichtproportionalschrift

Wird für Codebeispiele sowie für Variablen, Funktionen, Befehlsoptionen, Parameter, Klassennamen und HTML-Tags verwendet, wenn sie im Text auftauchen.

Nichtproportionalschrift fett

Wird in den Codebeispielen für Benutzereingaben sowie zur Hervorhebung einzelner Zeilen oder Abschnitte im Code verwendet.

Tipp

Dieses Symbol kennzeichnet einen Tipp, Vorschlag oder allgemeinen Hinweis mit nützlichen Zusatzinformationen zum Thema.

Warnung

An diesem Symbol erkennen Sie eine Warnung, die zur Vorsicht rät.

Danksagung

Der größte Dank geht an alle, die mit ihrer Zeit, Energie und ihrem Engagement zur Weiterentwicklung von TYPO3 beitragen. Vor allem möchten wir dem Kernentwicklerteam für seinen unermüdlichen Einsatz danken, ohne den es TYPO3 nicht gäbe. Besonderer Dank geht an Kasper Skårhøj, Sebastian Kurfürst, Michael Stucki, Karsten Dambekalns, Robert Lemke, Rene Fritz, Martin Kutschker, Dmitry Dulepov, Ingmar Schlecht, Stanislas Rolland, Andreas Otto, Thorsten Kahler, Bernhard Kraft, Christian Jul Jensen, Rupert Germann, Wolfgang Klinger, Franz Holzinger und alle anderen hilfsbereiten Menschen aus Newsgroup und Bugtracker für ihre Geduld und Aufmerksamkeit. Ihr habt uns stets inspiriert und dazu angespornt, unser Bestes zu geben.

Ganz herzlich danken wir auch den Lesern, die das Manuskript der 1. Auflage vorab begutachtet haben: Sacha Vorbeck für seine Hilfe bei der Vorbereitung, Recherche und Konzeption der ersten Auflage dieses Buchs, David Zschille für seine kritischen Anmerkungen und seine unbändige Lust, uns Löcher in den Bauch zu fragen, sowie Julian Kleinhans und Sven Hartmann für ihre hilfreichen Kommentare. Zudem danken wir Birgitte Laisen für die Hilfe bei der Aussprache von »Skårhøj«, die als Grundlage für das „20.1 Skårhøj richtig aussprechen“ diente. Tak!

Ein ganz besonderes Dankeschön geht an unsere Lektorin Alexandra Follenius und ihr Team für ihre unermessliche Geduld und Unterstützung während der gesamten Entstehungszeit des TYPO3 Kochbuchs.

Jo

Mein persönlicher Dank geht zunächst mal an Christian Trabold für das Vertrauen, mich als Autor für dieses Buch mit ins Team zu holen. Ebenso möchte ich Peter Niederlag danken, der bei der 1. Auflage erst später zum Team dazugestoßen ist und trotz der kurzen Zeit in hohem Maße zur Qualität der Inhalte beigetragen hat.

Christian

Besonderen Dank sende ich an Friederike, Ursel, Albrecht und Gaby - ohne eure Unterstützung hätte ich das Buch in dieser Form nicht schreiben können. Dank auch an Daniel und David für die aufmunternden Gespräche und Tracks zwischendurch. Einen ganz herzlichen Dank auch an meine Kollegen, besonders an Chris, Olivier und Götz, für das flexible Projektmanagement. Ebenso danke ich meinen Freunden für die Geduld und das Verständnis, mich beim Schreiben ungestört zu lassen. Danke für euer Vertrauen!

Peter

Mein persönlicher Dank gilt Annelena, Julian und Fabio. Ihr habt wieder mal mit viel Geduld mein Arbeitspensum ertragen, und eure zwischenzeitlichen Aufmunterungen haben mir die Kraft gegeben durchzuhalten. Vielen Dank auch an Christian und Jo für die unendlichen, spannenden und streitbaren Diskussionen und die fruchtbare Zusammenarbeit.