Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Die 2. Auflage des beliebten und viel gepriesenen TYPO3 Kochbuchs bietet mehr: noch mehr kluge Rezepte, noch mehr exklusives Expertenwissen und noch mehr Tricks, die Ihnen im Arbeitsalltag mit TYPO3 wirklich weiterhelfen. Die in der TYPO3-Community wohlbekannten Autoren haben aus ihrer Projektarbeit weitere spannende Loesungen und Techniken gesammelt, die sie ihren Lesern hier zur Verfuegung stellen. Fuer die Neuauflage wurden alle Rezepte im Kochbuch auf die TYPO3-Version 4.2 aktualisiert und um zahlreiche Rezepte ergaenzt, die Themenbereiche wie Workspaces, UTF-8, IRRE, Ajax und Hooks abdecken. Breites Themenspektrum mit Praxisbezug: Dieses Kochbuch hat fuer jeden TYPO3-Entwickler etwas zu bieten: Hier finden Sie hunderte von erprobten "Rezepten" zu allen praxisrelevanten Themen rund um Ihre TYPO3-Projekte. Schwerpunkte sind dabei: die Installation und Wartung von TYPO3 die effektive und geschickte Nutzung des Backends das Verwalten und Ausgeben von Inhalten TypoScript in all seinen Facetten die Entwicklung und Optimierung von ExtensionsZusammenhaenge und Hintergruende beleuchtet: Dieses Buch bietet weit mehr als simple Schritt-fuer-Schritt-Anleitungen: Es erklaert die Hintergruende jeder Loesung und geht so weit in die Tiefe, dass Sie TYPO3 besser kennen lernen, effektiver damit arbeiten koennen und dadurch deutlich mehr aus dem komplexen Content-Management-System herausholen werden. Fuer mehr Produktivitaet und Kreativitaet: Lassen Sie sich vom TYPO3 Kochbuch inspirieren: Lesen Sie die Rezepte, um neue Ideen fuer die elegante Umsetzung Ihrer Projekte zu bekommen. Nutzen Sie die zahlreichen Querverweise, um sich Themen nach eigener Interessenlage zu erschliessen. Und lernen Sie auf diese Weise, die vielfaeltigen Features von TYPO3 virtuos einzusetzen.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1378
Veröffentlichungsjahr: 2009
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
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
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 [email protected].
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 [email protected] erreichen.
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.
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.
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.
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.
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/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 [email protected].
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.
Dieses Symbol kennzeichnet einen Tipp, Vorschlag oder allgemeinen Hinweis mit nützlichen Zusatzinformationen zum Thema.
An diesem Symbol erkennen Sie eine Warnung, die zur Vorsicht rät.
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.
Einer der großen Vorteile von TYPO3 liegt darin, dass auf Anwender- wie Entwicklerseite keinerlei Softwareinstallation notwendig ist, denn TYPO3 ist ein serverbasiertes Content Management-System. Die Nutzer benötigen zur Arbeit mit TYPO3 lediglich einen gewöhnlichen Webbrowser. Die eigentliche TYPO3-Anwendung ist in der Skriptsprache PHP implementiert und wird zentral von einem Server im Internet oder Intranet bereitgestellt.
Für die Einrichtung einer TYPO3-Serverumgebung und einen produktiv nutzbaren, sicheren und verlässlichen Betrieb der dazu notwendigen Komponenten sind entsprechende Kompetenzen und Erfahrungen im Betrieb von Servern empfehlenswert, zumindest wenn das System an das Internet angekoppelt wird. Hier müssen Sie abwägen, ob der Betrieb einer eigenen Plattform wirtschaftlich und sicherheitstechnisch sinnvoll ist oder ob auf die entsprechenden Leistungen eines im TYPO3-Hosting erfahrenen Anbieters zurückgegriffen werden sollte. Die Anforderungen für eine TYPO3-Serverumgebung können von entsprechenden Discount-Hosting-Angeboten allerdings oftmals nicht erfüllt werden. Das „1.1 Vorüberlegungen zu einem TYPO3-Projekt“ gibt Ihnen hierzu entsprechende Hinweise, die Sie zu Beginn eines TYPO3-Projekts berücksichtigen sollten.
TYPO3 wird derzeit stark weiterentwickelt, und es erscheinen regelmäßig neue Versionen, die neue Features implementieren oder auftretende Probleme beseitigen. Zu jedem TYPO3-Release gibt es mehrere Pakete, die verschiedenen Zwecken dienen. In „1.2 Das richtige TYPO3-Paket auswählen und installieren“ erfahren Sie mehr über die Bedeutung dieser TYPO3-Installationspakete und wie Sie deren Installation vornehmen. Wenn Sie vorab neue Features oder Bugfixes in einer neuen TYPO3-Version testen möchten, hilft Ihnen „1.3 Eine Entwicklerversion von TYPO3 verwenden“. Dort wird detailliert auf die Verwendung von Entwicklerversionen eingegangen. Die Bedeutung der einzelnen Ordner und Dateien einer TYPO3-Installation wird in „1.4 Die Ordnerstruktur verstehen“ dargestellt.
Entsprechend dem Framework-Charakter von TYPO3 gibt es sehr viele Parameter, die das Verhalten des Systems beeinflussen. In „1.5 Systemparameter ermitteln und verstehen“ erfahren Sie, wie Sie die in Ihrer Installation gesetzten Parameter prüfen können und welchem Zweck sie dienen. Das „1.6 Systemparameter anpassen“ erklärt, wie Sie die wichtigsten Grundeinstellungen, und damit einen Teil dieser Parameter, über das Install-Tool anpassen können. Ein häufig vorkommender Anwendungfall ist, die maximale Größe für Dateien zu erhöhen. Die dazu nötigen Schritte werden in „1.7 Größere Dateiuploads ermöglichen“ näher beschrieben. Wenn Sie planen, mehrere Websites in einer TYPO3-Instanz zu betreiben, finden Sie in „1.8 Mehrere Websites mit TYPO3 verwalten“ die notwendigen Tipps, um diese Aufgabe zu erfüllen. Außerdem sollten Sie vor der Installation Ihrer Website klären, in welchem Zeichensatz die Inhalte in der Datenbank gespeichert werden. Wir empfehlen als Standardzeichensatz UTF-8 und erläutern in „1.9 UTF-8 als Standardzeichensatz verwenden“ die nötigen Schritte, um TYPO3 und die Datenbank entsprechend einzurichten.
Sollten Sie Probleme mit Ihrer Installation haben oder beim Aufruf Ihrer Website Fehlermeldungen erhalten, können Sie in „1.10 Der richtige Umgang mit Fehlermeldungen“ erfahren, wie Sie Ihre Grundeinstellungen überprüfen und mit auftretenden Fehlermeldungen umgehen sollten.
Problem
Sie möchten TYPO3 als CMS in Ihrem Projekt einsetzen und benötigen Tipps zur geplanten Einführung.
Lösung
Zeitplanung
Planen Sie ausreichend Zeit für das Projekt ein. Unterschätzen Sie die Komplexität eines solchen Projekts nicht. Eine effiziente Projektumsetzung mit TYPO3 erfordert einiges an Erfahrung, für Neulinge entsteht ein hoher Einarbeitungsaufwand.
Vorgehen
In jedem Fall sollten Sie vor der Umsetzung mit TYPO3 ein Konzept mit einem Layout erstellen, das Sie zunächst losgelöst von TYPO3 anhand einiger statischer (X)HTML- und CSS-Dateien implementieren sollten. Bedenken Sie, dass die Inhalte einer Website zu den Ressourcen einer Organisation zählen. Um diese Ressourcen langfristig zu erhalten, ist eine entsprechende Trennung in Struktur- und Layoutinformationen, wie Sie mit XHTML und CSS erreicht werden, sinnvoll. Außerdem schaffen Sie damit die Grundlagen, um barrierearme Websites und verschiedene Ausgabeformate zu erzeugen. Neben der statischen Umsetzung ist auch ein Konzept- oder Pflichtenheft nützlich, in dem Sie die Anforderungen, Zielgruppen und Funktionalitäten, die die Website betreffen, dokumentieren.
Know-how und Beratung
Aus wirtschaftlichen Gründen sollten Sie in Erwägung ziehen, professionelle Dienstleistungen im Rahmen von Beratung, Schulung oder Support von TYPO3-Spezialisten in Anspruch zu nehmen. In der Praxis hat sich gezeigt, dass sich solche Investitionen im Projektverlauf rentieren. Dabei sollten Sie auch auf Referenzen achten. Eine Auflistung von TYPO3-Dienstleistern finden Sie unter:
http://typo3.com/Consultancies.1248.0.htmlOpen Source
Die Verwendung von TYPO3 als Open Source-Produkt ist lizenzkostenfrei. Die Entwicklung von TYPO3 wird dabei nicht direkt von einem Unternehmen getragen, sondern von einer weltweiten Gemeinschaft aus Entwicklern. Die TYPO3 Association übernimmt als gemeinnützige Organisation entsprechende Aufgaben zur Koordination der Entwicklung und Außendarstellung. Über die TYPO3 Association ist es möglich, das Projekt finanziell zu unterstützen. Die Website der TYPO3 Association ist unter http://association.typo3.org/ zu erreichen.
Diskussion
TYPO3 als komplexes Softwareprodukt
TYPO3 ist ein leistungsfähiges CMS-Framework. Die Bezeichnung Framework macht deutlich, dass es sich bei TYPO3 eigentlich um einen Baukasten handelt, mit dem Sie das CMS nach Ihren Bedürfnissen gestalten können. Ein Vorteil für Sie als Anwender gegenüber anderen Frameworks ist dabei, dass der Baukasten TYPO3 bereits mit einer sinnvollen, einsatzbereiten Grundkonstruktion ausgeliefert wird. Anders ausgedrückt, verfügt das CMS TYPO3 bereits im Standardinstallationspaket über eine endbenutzertaugliche Konfiguration und Oberfläche.
Für den Projekterfolg ist es jedoch wichtig, dass TYPO3 an die für die jeweiligen Anwender maßgeblichen Anforderungen angepasst wird. Eine solche Anpassung erfordert umfangreiche Kenntnisse und Erfahrungen, die wir mit diesem Buch vermitteln möchten.
In der Praxis sollten Sie sich bei Projektbeginn überlegen, ob Sie das notwendige Know-how organisationsintern aufbauen wollen oder stattdessen lieber auf externe Dienstleister mit entsprechenden Referenzen zurückgreifen.
Überlegungen zum laufenden Betrieb
TYPO3 besteht aus einer Sammlung von PHP-Skriptdateien. Zum Betrieb von TYPO3 werden die folgenden Komponenten benötigt:
Ein Webserver mit einer Schnittstelle für die Skriptsprache PHP
Dies ist die Komponente, auf die die Benutzer und Anwender mit ihrem Browser zugreifen, wenn sie mit dem CMS TYPO3 arbeiten. In den meisten Fällen wird diese Komponente vom Open Source-Webserver Apache (http://httpd.apache.org) bereitgestellt, es sind aber auch andere Produkte verwendbar.
PHP-Skriptinterpreter
Die TYPO3-Anwendungslogik wird von dem PHP-Skriptinterpreter (http://www.php.net) ausgeführt, der - für den Benutzer nicht direkt zugreifbar - in Zusammenarbeit mit dem Webserver seine Dienste tut. Ab TYPO3 4.2.x ist mindestens PHP-Version 5.1 erforderlich.
Datenbankdienst
Die eigentliche Datenhaltung von TYPO3 erfolgt in einem relationalen Datenbank-Management-System (RDBMS). In den meisten Fällen wird hier auf das weit verbreitete RDBMS MySQL (http://www.mysql.com) zurückgegriffen.
Für einen produktiv nutzbaren, sicheren und verlässlichen Betrieb dieser Komponenten sind entsprechende Kompetenzen im Betrieb von Internet-Services unabdingbar, zumindest wenn das System an das Internet angekoppelt wird.
Auch hier sollten Sie abwägen, ob der Betrieb einer eigenen Plattform wirtschaftlich sinnvoll ist oder ob auf die Leistungen eines auf entsprechendes Hosting spezialisierten Anbieters zurückgegriffen werden soll.
Migration
Sollten Sie bereits eine umfangreiche Website betreiben, müssen Sie überlegen, wie Sie die bereits vorhandenen Inhalte in das TYPO3-System übernehmen. Hierbei stehen derzeit noch keine wirklich nutzbaren freien Werkzeuge zur Verfügung. Viele TYPO3-Agenturen verfügen aber über entsprechene Verfahren und zum Teil auch über entsprechende interne Tools. Sollte für Sie die Übernahme eines größeren Datenbestands Thema sein, könnten Sie sich möglicherweise an einer solchen Entwicklung für das TYPO3-Projekt beteiligen, siehe dazu auch „20.2 Das TYPO3-Projekt unterstützen“.
Siehe auch
Eine Liste mit Links zu Informationen über TYPO3 finden Sie in „20.8 Weiterführende Quellen“.
Problem
Sie möchten TYPO3 installieren und benötigen eine Hilfestellung bei der Auswahl des richtigen Pakets.
Lösung
Einen Überblick über die aktuell verfügbaren und stabilen TYPO3-Pakete finden Sie auf der offiziellen Webseite unter:
http://typo3.org/download/packages/Und hier erhalten Sie eine Liste mit den verschiedenen Installationspaketen:
Dummy package
Die dummy-*-Pakete enthalten ein leeres Gerüst und ergeben erst zusammen mit einem TYPO3 Source-Paket eine lauffähige TYPO3-Installation.
TYPO3 Source
Die typo3_src-*-Pakete enthalten alle notwendigen Quellcodedateien für TYPO3.
Die typo3_src+dummy-*-Pakete enthalten zusätzlich bereits das Dummy-Paket.
Diese Aufteilung in TYPO3 Source- und Dummy-Paket kommt vor allem auf Unix-artigen Betriebssystemen zum Tragen. Dort ist es möglich, über sogenannte Symlinks (symbolische Links) einen TYPO3-Quellcode für mehrere TYPO3-Installationen zu nutzen. Unter Windows ist dieses Vorgehen ohne besondere Betriebssystemerweiterungen nicht möglich.
Jedes dieser Pakete steht in den beiden Archivformaten ZIP (.zip) und TAR (.tgz) zur Verfügung. Prinzipiell gilt dabei:
Wählen Sie für Windows-Server das ZIP-Archiv, weil dieses für einen Einsatz ohne Symlinks gedacht ist.
Wählen Sie für Linux- und Mac-Systeme das TAR-Archiv, weil dieses für die Verwendung von Symlinks vorbereitet ist.
Alle diese Pakete setzen voraus, dass die benötigten Komponenten Webserver, PHP-Skriptinterpreter und Datenbank bereits funktionsfähig auf Ihrem System vorhanden sind.
Windows
Zur Installation auf einem Windows-System wählen Sie folgendes Paket:
typo3_src+dummy-*.zipDas Paket entpacken Sie in das Hauptverzeichnis Ihres Webservers, das typischerweise mit htdocs/ bezeichnet ist.
Linux/Mac OS X
Zur Installation auf einem Unix-System laden Sie am besten die folgenden Pakete getrennt herunter:
typo3_src*.tgz dummy-*.tgzDie beiden Pakete entpacken Sie jeweils in das Hauptverzeichnis Ihres Webservers. In diesem Fall brauchen Sie keine weiteren Anpassungen am Symlink des dummy-Pakets vorzunehmen.
Install-Tool aufrufen
Sind alle Dateien ausgepackt und befinden sich an der passenden Stelle, sollten Sie in Ihrem Browser die URL http://www.ihre-website.tld/typo3/install/ aufrufen. Bei einer Neuinstallation begrüßt Sie das Install-Tool mit dem 1-2-3-Modus, in den Sie die wichtigsten Parameter eingeben, um Ihre Installation abzuschließen.
Wenn TYPO3 nicht auf dem lokalen Rechner installiert, ist müssen Sie zunächst noch im Verzeichnis typo3conf eine leere Datei mit der Bezeichnung ENABLE_INSTALL_TOOL anlegen. Dies ist eine zusätzliche Sicherheitsmaßnahme, um unberechtigte Zugriffe zu verhindern. Nach einer erfolgten Installation wird empfohlen, die Datei wieder zu löschen.
Geben Sie den Benutzernamen, das Passwort und den Rechnernamen zur Verbindung mit der Datenbank ein.
Wählen Sie, so gewünscht, eine vorhandene Datenbank für Ihre TYPO3-Installation aus. Beachten Sie dabei, dass möglicherweise vorhandene Inhalte in dieser Datenbank dadurch verloren gehen! Alternativ können Sie eine Bezeichnung für eine neu zu erstellende Datenbank angeben.
Importieren Sie die notwendigen Datenbankdaten. Im 1-2-3-Modus wird dabei automatisch der Benutzer admin mit dem Passwort password angelegt.
Nach diesen ersten Schritten wechseln Sie in die Normalansicht des Install-Tools. Sie sollten nun unbedingt das Passwort Ihres Install-Tools ändern und unter Basic Configuration sowie All Configuration die Systemparameter prüfen und anpassen.
Nach dem ersten Login ins Backend mit dem Benutzer admin und dem Passwort password sollten Sie auf alle Fälle das Passwort ändern.
In „1.6 Systemparameter anpassen“ erhalten Sie Hilfestellung, um die Installation über den 1-2-3-Modus hinaus anzupassen.
Weitere Hilfe zur Installation erhalten Sie im TYPO3-Wiki unter der folgenden URL:
http://wiki.typo3.org/index.php/Category:Topic/installationDiskussion
Installer-Pakete
Neben den reinen Source-Paketen gibt es einige Ready-to-go-Installationspakete. Diese stellen eine komplett lauffähige Umgebung bereit und beinhalten auch die benötigten Komponenten Apache, MySQL und PHP. Diese Pakete sollen einen einfachen Einstieg auch für diejenigen mit gar keiner bis wenig Erfahrung im Betrieb von Webservern ermöglichen. Grundsätzlich sind sie nicht für den Produktivbetrieb gedacht, vereinfachen die Nutzung von TYPO3 aber auf wenige Mausklicks. Eine Übersicht über diese Pakete finden Sie unter:
http://typo3.org/download/installers/Beispielprojekte
Neben den Basis-Installationspaketen gibt es spezielle TYPO3-Pakete, mit denen Sie Beispielprojekte in Ihre TYPO3-Installation einspielen können. Diese sind vor allem zur Analyse und als Anschauungsbeispiele hilfreich:
QuickStart package
Die Website eines fiktiven Fußballvereins. Ein Paket, das zum Ausprobieren und Stöbern einlädt. Besondere Merkmale: Ein Admin-Benutzer und ein Redakteur sind schon vorhanden. Mehrere Extensions sind dabei, sodass umgehend gearbeitet werden kann. Nicht für den Produktivbetrieb gedacht.
Testsite package
Dieses Paket enthält mehrere Websites, in denen exemplarisch unterschiedliche Szenarien und Beispiele vorinstalliert sind. Besondere Merkmale: Enthält zahlreiche Beispiele zur Lösung unterschiedlicher Problemstellungen mit TypoScript und PHP-Erweiterungen, Muster für alle Arten von Menüs und die dynamische Grafikerzeugung. Ebenfalls nicht für den Produktivbetrieb gedacht.
Diese beiden Pakete enthalten möglicherweise noch TYPO3-Sourcen in Version 3.8.1 Nach der Installation kann aber problemlos wie in „2.1 TYPO3 auf eine neue Version aktualisieren“ beschrieben ein Update der Sourcen auf eine aktuelle TYPO3-Version vorgenommen werden.
Siehe auch
In „1.6 Systemparameter anpassen“ erfahren Sie, wie Sie Ihre Installation über den 1-2-3-Modus hinaus anpassen. Sollten Sie bei der Installation Fehlermeldungen erhalten, lernen Sie in „1.10 Der richtige Umgang mit Fehlermeldungen“ die Gründe für die am häufigsten auftretenden Meldungen kennen. In „2.1 TYPO3 auf eine neue Version aktualisieren“ erfahren Sie, wie Sie Ihre TYPO3-Installation aktualisieren. Bleiben Sie auf dem aktuellsten Stand, indem Sie sich den RSS-Feed auf der Website http://news.typo3.org/xml-feeds/ abonnieren.
Problem
Sie möchten die aktuellste TYPO3-Version testen, bevor sie öffentlich zum Download angeboten wird, etwa um ein neues Feature frühzeitig zu evaluieren oder Bugfixes zu testen. Wenn Sie selbst Bugfixes erstellen möchten, sollten Sie dafür auch die aktuellste Entwicklerversion nutzen, um sicherzustellen, dass Ihre Änderungen auch mit den anderen Änderungen am Code zusammenspielen. Die Entwicklerversionen sind zwar in aller Regel stabil, von einem produktiven Einsatz ist jedoch abzusehen.
Lösung
Holen Sie sich die aktuellsten Quelldateien aus dem TYPO3-Subversion-Repository von dieser Adresse:
http://svn.typo3.org/Um die Dateien herunterladen zu können, müssen Sie die Adresse noch entsprechend erweitern:
Die veröffentlichten stabilen Releases von TYPO3 4.x finden Sie unter:
http://svn.typo3.org/TYPO3v4/Core/tags/Die Entwicklungszweige für die stabilen Releases von TYPO3 4.x befinden sich in:
https://svn.typo3.org/TYPO3v4/Core/branches/Den jeweils aktuellsten Entwicklungsstand für das nächste Release von TYPO3 4.x erhalten Sie hier:
https://svn.typo3.org/TYPO3v4/Core/trunk/Legen Sie mit Ihrem Subversion-Client eine lokale Arbeitskopie des gewünschten Source-Zweigs an.
Mit dem folgenden svn-Kommando laden Sie den aktuellen Stand des Release-Zweigs 4.2 in das lokale Verzeichnis TYPO3_4-2:
svn co https://svn.typo3.org/TYPO3v4/Core/branches/TYPO3_4-2Diskussion
TYPO3 ist ein Open Source-Projekt mit einer weltweiten Entwicklergemeinde. Mehrere Entwickler arbeiten von verschiedenen Orten aus gleichzeitig am Programmcode. Diese verteilte Entwicklung ist nur mithilfe von Source-Code-Management (kurz SCM) zu bewältigen. TYPO3 setzt als SCM-Werkzeug das freie Subversion (SVN) ein. Subversion versioniert den Programmcode und protokolliert detailliert alle Änderungen am Code. Änderungen können dadurch zum Beispiel sichtbar und notfalls auch rückgängig gemacht werden.
Über den Subversion-Server http://svn.typo3.org/ besteht jederzeit lesender Zugriff auf die aktuellen Ressourcen des TYPO3-Projekts. Wenn Sie die Adresse in Ihren Webbrowser eingeben, können Sie sich durch die Verzeichnisstruktur der einzelnen Projekte klicken.
Um sich die Quelldaten auf den lokalen Rechner zu laden, benötigen Sie jedoch entweder einen sogenannten Subversion-Client, also ein Programm, das mit dem SVN-Protokoll umgehen kann, oder Sie greifen über die WebDav-Schnittstelle Ihres Betriebssystems direkt auf den Webserver zu und laden sich die gewünschten Verzeichnisse herunter.
Der Subversion-Client ist in vielen aktuellen Entwicklungsumgebungen für PHP bereits enthalten. Eine ausführliche Liste an Subversion-Clients finden Sie unter http://subversion.tigris.org/.
In Mac OS X und Windows kann das SVN-Repository auch als Netzwerklaufwerk eingebunden werden.
Unter Max OS X richten Sie die Netzwerkressource mit diesen Schritten ein:
Öffnen Sie im Finder mit Apfel + K das Fenster Mit Server verbinden.
Geben Sie dort in das Feld Serveradresse die gewünschte URL ein.
Bestätigen Sie Ihre Eingabe mit dem Button Verbinden.
Danach steht Ihnen unter Freigaben ein neues Laufwerk zur Verfügung.
Um die Netzwerkressource unter Windows einzurichten, gehen Sie wie folgt vor:
Öffnen Sie die Windows-Netzwerkumgebung und wählen Sie den Punkt Netzwerkumgebung hinzufügen. Klicken Sie dann zweimal auf den Button Weiter.
Geben Sie die gewünschte URL in das Eingabefeld ein. Bestätigen Sie Ihre Eingabe wieder durch einen Klick auf Weiter.
Ändern Sie die Bezeichnung der Ressource nach Wunsch. Bestätigen Sie das Anlegen mit einem Klick auf Fertigstellen.
Auf diese Weise haben Sie jederzeit bequemen Zugriff auf den aktuellsten Quelltext und können wie gewohnt Dateien lesen und auf die Festplatte kopieren.
Eine lokale Versionskontrolle ist jedoch im Gegensatz zum Checkout mit dem SVN-Client bei dieser Methode nicht möglich, da die Daten nur vom Server geladen werden und lokal keine automatische Versionierung angelegt wird.
Siehe auch
Weitere Informationen zu Subversion finden Sie unter der Webadresse http://subversion.tigris.org. Viele TYPO3-Extensions werden auch mit Subversion verwaltet und können unter https://svn.typo3.org/TYPO3v4/Extensions/ abgerufen werden. Als weiterführende Literatur zum Thema Subversion empfehlen wir das Buch Versionskontrolle mit Subversion von Ben Collins-Sussman, Brian W. Fitzpatrick & C. Michael Pilato, O'Reilly Verlag.
Problem
Sie möchten sich in Ihrer TYPO3-Installation zurechtfinden und Dateien oder Ordner richtig zuordnen.
Lösung
Die Ordnerstruktur einer TYPO3-Installation ist in zwei Teile aufgeteilt: Zum einen gibt es Dateien und Ordner, die den TYPO3-Kern über das sogenannte Source-Paket bilden. Zum anderen enthält die TYPO3-Installation bestimmte Ordner, die projektspezifische Daten speichern. Diese Ordner werden auch als Dummy-Paket bezeichnet und zusammengefasst.
Der TYPO3-Kern besteht aus den Ordnern misc, t3lib und typo3 sowie deren Unterordnern und der Datei index.php. Die Textdateien enthalten spezielle Informationen zur Verwendung von TYPO3.
Im Ordner misc liegen diverse Dateien, die für den Betrieb von TYPO3 nicht notwendig sind. Wenn Sie keine dieser Dateien benötigen, können Sie diesen Ordner auch ruhigen Gewissens entfernen.
Im Ordner t3lib finden Sie sämtliche Programmbibliotheken und Vorgaben, die essenziell für die Kernfunktionen von TYPO3 sind.
Im Ordner typo3 liegen die Dateien, über die das TYPO3-Backend sowie wichtige System-Extensions bereitgestellt werden, die notwendig sind, damit Sie über das Backend komfortabel Inhalte eingeben und wieder über die TypoScript-Engine ausgeben können. Besonderes Augenmerk gilt dabei der System-Extension cms im Ordner typo3/sysext/.
Die Dateien README.txt und INSTALL.txt geben Antworten auf allgemeine Fragen zu TYPO3 und der Installation. In den beiden Dateien LICENSE.txt und GPL.txt werden lizenztechnische Belange beschrieben. Wenn Sie unsicher sind, ob Sie TYPO3 in Ihrem gewünschten Umfeld einsetzen dürfen, sollten Sie diese Dateien lesen.
Die Dateien des TYPO3-Kerns sollten Sie unberührt lassen und mit einem Schreibschutz versehen, um sie vor versehentlichen Änderungen zu schützen. Wenn Sie allerdings globale Extensions installieren möchten, sollte der Webserver für den Ordner typo3/ext/ Schreibrechte besitzen.
Den TYPO3-Kern können Sie über Extensions sehr flexibel erweitern und anpassen (in Kapitel 15 und folgenden erfahren Sie mehr über diese Erweiterungsmöglichkeiten). Änderungen an diesen Dateien sind nur in sehr speziellen Fällen nötig und sollten ausschließlich von sehr erfahrenen Anwendern durchgeführt werden. Bei einem Update werden nur diese Ordner und Dateien aktualisiert.
Projektspezifische Dateien werden hingegen in den Ordnern fileadmin, typo3conf, typo3temp und uploads gespeichert. Hier werden TYPO3-Erweiterungen (Extensions), Cache-Dateien sowie sämtliche Konfigurations- und Grafikdateien abgelegt. Diese Ordner müssen vom Webserver beschrieben werden können. Die Datei _.htaccess können sie als Vorlage für eine individuelle .htaccess-Datei verwenden oder löschen, wenn Sie nicht benötigt wird. Die Datei clear.gif dient als Platzhaltergrafik für Positionierungen und ist vor allem noch aus historischen Gründen vorhanden, da sie beispielsweise im Backend oft zur Positionierung von Formularelementen genutzt wird. Bei einem Update auf eine neue TYPO3-Version bleiben diese Ordner und die genannten Dateien unberührt.
Diskussion
TYPO3 ist sehr modular aufgebaut. So besteht der TYPO3-Kern aus weit über 500 PHP-Dateien und -Klassen, die beispielsweise die Basisfunktionalitäten zur Benutzerverwaltung, für Datenbankoperationen, das Dateihandling oder die Formularerzeugung bereitstellen. Diese Dateien sind je nach Anwendungsbereich in mehrere Unterordner gegliedert. Im Folgenden finden Sie Informationen zu den Aufgaben und Funktionen der einzelnen Ordner und Dateien, die Sie dabei unterstützen sollen, sich in der Struktur von TYPO3 besser zurechtzufinden. Diese Informationen dienen auch als Grundlage für eine Reihe von Rezepten in diesem Kochbuch - hier können Sie nach Bedarf die Details nachlesen. Diese Struktur finden Sie standardmäßig wieder, wenn Sie das Wurzelverzeichnis Ihrer TYPO3-Installation öffnen:
fileadmin misc/t3libtypo3/ typo3conf typo3temp uploadsAlle hervorgehobenen Ordner oder Dateien befinden sich im Source-Paket, das Sie mit einem Schreibschutz versehen sollten. Die restlichen Ordner müssen inklusive aller Unterordner für den Webserver beschreibbar sein.
fileadmin/
In diesem Ordner können Sie beliebige Dateien ablegen und verwalten. Sämtliche Unterordner können Sie mit dem Modul Dateiliste über das Backend verwalten. Der Webserver muss diesen Ordner samt Unterordner beschreiben können, wenn Sie dieses Modul einsetzen möchten.
misc/
In diesem Ordner finden Sie diverse Vorlagen für Sprach-, SQL- und .htaccess-Dateien. Außerdem gibt Ihnen die Datei superadmin.php nützliche Funktionen an die Hand, mit denen Sie mehrere TYPO3-Installationen komfortabel verwalten können. Dieser Ordner sollte daher nicht öffentlich zugänglich sein und in Produktivumgebungen gelöscht werden. Weitere Informationen zur Datei superadmin.php finden Sie im Quellcode der Datei.
t3lib/
In diesem Ordner befinden sich sämtliche TYPO3-Codebibliotheken, die für den Betrieb von TYPO3 essenziell sind. Diese Funktionen bilden das TYPO3-Framework, auf das Sie beispielsweise auch in eigenen Projekten zugreifen können. Da es sich um eine Bibliothek handelt, werden diese PHP-Dateien nie direkt vom Browser aufgerufen. In der Datei config_default.php werden sämtliche Voreinstellungen für die Systemparameter festgelegt. Diese Standardwerte können Sie bequem über das Install-Tool anpassen. Sämtliche Werte, die Sie hierüber festlegen, werden in die Datei localconf.php geschrieben und überschreiben damit automatisch diese Standardwerte. Im Unterordner stddb finden Sie die grundlegende Tabellenkonfiguration, die für den Betrieb von TYPO3 notwendig ist. Diese Minimalkonfiguration wird anschließend über Extensions ausgebaut. Ändern Sie niemals Werte direkt in der Datei config_default.php. Um die Werte anzupassen, sollten Sie das Install-Tool oder eigene Extensions verwenden. Die Werte überschreiben Sie dann entweder über die Datei localconf.php im Ordner typo3conf oder über ext_localconf.php-Dateien in den Extension-Ordnern.
t3lib/interfaces/
In diesem Ordner liegen Interface-Definitionen, die von TYPO3 genutzt werden, um Schnittstellen in der TYPO3-API fest zulegen.
t3lib/stddb/
In diesem Ordner finden Sie Dateien, in denen die Vorgabewerte für die grundlegenden TYPO3-Tabellen gesetzt werden (daher auch der Name stddb für standard database). Dazu gehören beispielsweise die Standardwerte für Seitentypen, Backend-Farben sowie Feldbeschriftungen und die wichtigsten Inhalte für die Kontexthilfe. Ändern Sie diese Voreinstellungen niemals direkt in diesen Dateien, sondern verwenden Sie dazu Extensions. Die Werte der Datei tables.php überschreiben Sie über ext_tables.php-Dateien, die Sie in den Extension-Ordnern anlegen. In diesem Kochbuch finden Sie zahlreiche Anwendungsbeispiele dazu, wie Sie diese Methode effektiv einsetzen. In den Kapitel 15, Kapitel 16 und Kapitel 17 erfahren Sie mehr über Extensions „6.7 Eingabefelder anpassen“ zeigt beispielsweise, wie Sie Eingabeformulare im Backend anpassen können.
typo3/
In diesem Ordner sind sämtliche Dateien abgelegt, die für Darstellung und Funktionen des TYPO3-Backends zuständig sind. Wenn Sie diesen Ordner über die Adresszeile in Ihrem Browser ansprechen, erreichen Sie das Backend Ihrer TYPO3-Installation und können Ihre Website bearbeiten und verwalten. In „3.4 Das Backend absichern“ erfahren Sie, wie Sie diesen Ordner gegen Fremdzugriffe absichern oder umbenennen können.
typo3/classes/
Der Ordner enthält Klassen, die Kernfunktionen im Backend bereitstellen, wie zum Beispiel die seitenübergreifende Suche oder das Menü zum Leeren der unterschiedlichen Caches.
typo3/contrib/
In diesem Ordner werden Softwarebibliotheken von Drittanbietern abgelegt.
typo3/css/
In diesem Ordner werden separate modulare CSS-Dateien verwaltet, die für die Darstellung des Backends verantwortlich sind.
typo3/ext/
In diesem Ordner legen Sie global verfügbare Extensions ab. Global verfügbar bedeutet, dass diese Extensions für sämtliche TYPO3-Installationen zur Verfügung stehen, die diesen TYPO3-Kern verwenden. Dieses Verzeichnis muss existent sein, auch wenn keine globalen Extensions vorhanden sind. Außerdem muss der Webserver in dieses Verzeichnis schreiben können, wenn Sie globale Extensions installieren möchten.
typo3/gfx/
In diesem Ordner finden Sie alle Grafiken, die im TYPO3-Backend verwendet werden. Manche davon werden auch im Frontend benutzt, beispielsweise wenn Sie Seiteninhalte im Frontend bearbeiten (in „4.7 Inhaltseingabe über das Frontend ermöglichen“ erfahren Sie mehr über diese Bearbeitungsmöglichkeit).
typo3/install/
In diesem Ordner befindet sich die Installationsroutine von TYPO3. Wenn Sie das TYPO3-Backend zum ersten Mal aufrufen, werden Sie automatisch zu diesem Ordner geführt, um Ihre TYPO3-Installation einzurichten. In „1.2 Das richtige TYPO3-Paket auswählen und installieren“ erfahren Sie mehr über die grundlegenden Installationsschritte. Haben Sie die Installation abgeschlossen, sollten Sie diesen Ordner entfernen oder zumindest gegen Fremdzugriff schützen, indem Sie die Datei ENABLE-INSTALL-TOOL aus dem Verzeichnis typo3conf/ entfernen.
typo3/interfaces/
In diesem Ordner liegen Interface-Definitionen, die dazu genutzt werden, Schnittstellen im TYPO3-Backend zu vereinheitlichen.
typo3/js/
Dieser Ordner dient der Speicherung von JavaScript-Dateien, die für Benutzeraktionen im Backend verantwortlich sind.
typo3/sysext/cms/tslib/
In diesem Ordner finden Sie Dateien, die für die Darstellung der Inhalte auf den einzelnen Webseiten sorgen, daher erwähnen wir diese Extension explizit. Sie bildet die Grundlage für die CMS-Eigenschaften von TYPO3 sowie für die TypoScript-Implementierung. Beispielsweise werden in der Datei class.tslib_content.php sämtliche Inhaltsobjekte definiert, die Sie über TypoScript verwenden können. Die Kapitel 8-14 befassen sich eingehend mit den Möglichkeiten von TypoScript.
typo3/templates/
In diesem Ordner finden Sie HTML-Templates, die für die Darstellung des TYPO3-Backends eingesetzt werden.
typo3conf/
In diesem Ordner liegen Konfigurationsdateien, über die Sie Einstellungen für die lokale TYPO3-Installation vornehmen können. Außerdem speichert TYPO3 in diesem Ordner standardmäßig die Konfiguration aller aktiven Extensions in Cache-Dateien. Diese Cache-Dateien beginnen mit dem Präfix temp_CACHED_. In der Datei localconf.php speichert TYPO3 sämtliche Einstellungen, die Sie über das Install-Tool vornehmen, wie etwa das Passwort für das Install-Tool, die Zugangsdaten für die Datenbank oder die Liste der momentan aktiven Extensions. Über die Datei extTables.php können Sie zusätzliche Einstellungen an den tables.php-Werten vornehmen. Wir empfehlen die Verwendung dieser Datei nur sehr erfahrenen Benutzern und ziehen hier im TYPO3 Kochbuch Anpassungen von tables.php-Inhalten über eigene Extensions vor. Der Webserver muss dieses Verzeichnis sowie die Datei localconf.php beschreiben können, da TYPO3 sonst keine Cache-Dateien anlegen kann und Konfigurationseinstellungen nicht in der Datei localconf.php verwaltet werden können.
typo3conf/ext/
In diesem Ordner finden Sie sämtliche lokalen Extensions. Diese Extensions sind ausschließlich für die jeweilige TYPO3-Installation gültig und stehen nicht - wie beispielsweise globale oder System-Extensions - für weitere Installationen zur Verfügung (in Kapitel 15 erfahren Sie mehr über die unterschiedlichen Extension-Typen). Dieser Ordner muss vom Webserver beschrieben werden können, damit es möglich ist, lokale Extensions zu installieren.
typo3conf/l10n/
In diesem Ordner befinden sich die jeweiligen Sprachdateien für die Übersetzungen der TYPO3-Oberfläche. Dabei enthält dieser Ordner, je nachdem, welche Sprachpakete Sie installiert haben, weitere Unterordner, die wiederum - abhängig von den installierten Extensions - in unterschiedliche Ordner gegliedert sind. Der Ordnername l10n steht für den englischen Begriff »localization« (die 10 Zeichen zwischen l und n werden dabei der Einfachheit halber durch die 10 ersetzt). Dieser Ordner muss vom Webserver beschrieben werden können, wenn Sie lokale Sprachpakete installieren möchten.
typo3temp/
In diesem Ordner finden Sie temporäre Dateien, die von TYPO3 erzeugt werden, um Daten zwischenzuspeichern. Dies können beispielsweise Bilddateien sein, die TYPO3 für grafische Menüs oder Bildverkleinerungen erzeugt. Da der Ordner im Laufe der Zeit sehr umfangreich wird, sollten Sie daraus in regelmäßigen Abständen nicht benötigte Dateien entfernen („2.6 Im Dateisystem aufräumen“ beschreibt Funktionen, die Ihnen diese Arbeit erleichtern). Dieser Ordner muss vom Webserver beschrieben werden können, damit TYPO3 diese temporären Dateien anlegen kann.
uploads/
In diesem Ordner befinden sich Dateien, die über das Backend mit Inhaltselementen verknüpft wurden. Der Hintergrund hierfür ist folgender: TYPO3 kopiert standardmäßig jede Datei, die mit einem Inhaltselement verknüpft wird, in diesen Ordner (oder einen entsprechenden Unterordner). Ist die Datei dort schon vorhanden - etwa, weil sie bereits mit einem anderen Inhaltselement verknüpft wurde -, fügt TYPO3 dem Dateinamen einen fortlaufenden Zahlenwert an. Außerdem legt TYPO3 in der Datenbanktabelle eine entsprechende Verknüpfung zu dieser eindeutigen Datei ab. So ist sichergestellt, dass die Datei stets eindeutig zugeordnet werden kann und der Inhalt auf der Website auch dann vollständig erhalten bleibt, wenn die ursprüngliche Datei gelöscht wird. Zusätzlich ordnet TYPO3 diese Dateien je nach Verwendung in weitere Unterordner. So finden Sie beispielsweise Bilder im Unterordner pics. PDF-Dokumente und Multimedia-Dateien speichert TYPO3 im Ordner media. Dateien, die mit Datensätzen von Extensions verknüpft sind, werden wiederum in Ordnern gespeichert, deren Namen sich aus einem tx_ sowie dem Extension-Key zusammensetzen. Der Ordner uploads/ muss samt Unterordnern vom Webserver beschrieben werden können, damit die Dateien mit den Inhaltselementen verknüpft werden können.
Im Wurzelverzeichnis liegen noch folgende Dateien:
/_.htaccess
In dieser Datei finden Sie eine vollständig kommentierte Vorlage für eine individuelle .htaccess-Datei, mit der Sie für die jeweilige TYPO3-Installation Einstellungen am Apache-Webserver vornehmen können. Die Vorgaben dienen als Orientierung für die gebräuchlichsten Einstellungen am Apache-Webserver und können je nach Anforderungen angepasst und erweitert werden. Um die Datei zu verwenden, müssen Sie den Unterstrich vor dem Dateinamen entfernen.
/clear.gif
Eine 1 x 1 Pixel große, transparente GIF-Grafik, die - mehr aus historischen Gründen - vor allem im Backend und im Admin-Panel für die Positionierung oder Darstellung von Eingabeformularen verwendet wird.
/index.php
Diese Datei bindet die zentrale Datei index_ts.php der System-Extension cms ein und wird bei jedem Seitenaufruf im Frontend verarbeitet. In der Datei index_ts.php werden zentrale Prozesse für die Erstellung der Webseite koordiniert und Seiteninhalte gemäß der jeweiligen TypoScript-Anweisungen ausgegeben. Sie spielt daher in der Darstellung der Website eine entscheidende Rolle. Die ursprüngliche Quelldatei finden Sie im Ordner typo3/sysext/cms/tslib/.
Zusätzlich können noch weitere Dateien vorhanden sein, die für das Verständnis der Ordnerstruktur nicht entscheidend sind, jedoch nützliche Hintergrundinformationen über das TYPO3-Projekt oder die verwendete TYPO3-Version liefern und erste Schritte erläutern:
ChangeLog
In dieser Datei werden von sämtlichen Kernentwicklern die Änderungen am Programmcode protokolliert. Wenn Sie erfahren möchten, was sich zwischen zwei Versionen geändert hat, sollten Sie einen Blick in diese Datei werfen.
GPL.txt
Diese Datei enthält eine vollständige Kopie der GNU GENERAL PUBLIC-Lizenz, unter der TYPO3 vertrieben wird.
INSTALL.txt
Diese Datei beschreibt erste Installationsschritte. Tiefer gehende Details zur Installation können Sie „1.2 Das richtige TYPO3-Paket auswählen und installieren“ entnehmen.
LICENSE.txt
Diese Datei enthält weitere Anmerkungen über die Lizenzbestimmungen von TYPO3. Details zu diesen Bestimmungen erfahren Sie auch auf der Webseite http://typo3.com/License.1316.0.html.
NEWS.txt
Diese Datei erläutert Änderungen und Verbesserungen im Programmcode, gegliedert in Kategorien wie Backend, TypoScript oder wichtige Bugfixes.
README.txt
Diese Datei liefert viele allgemeine Hintergrundinformationen zu TYPO3.
RELEASE_NOTES.txt
Diese Datei liefert Anmerkungen und Hinweise zur aktuellen Version. Wenn Sie ein Update auf eine neue Version planen, sollten Sie vorab die Release-Notes lesen, um sich über die Neuerungen dieser Version einen Überblick zu verschaffen. Alle Release-Notes werden im TYPO3-Wiki gespeichert. Unter dieser Adresse finden Sie eine Liste aller Release-Notes: http://wiki.typo3.org/Category:ReleaseNotes.
TODO.txt
Diese Datei dient den Entwicklern als Notizblock für offene Punkte. Lesen Sie „20.2 Das TYPO3-Projekt unterstützen“, um zu erfahren, wie Sie mithelfen können, diese Liste zu verkleinern.
Siehe auch
In „3.4 Das Backend absichern“ wird erläutert, wie Sie den Ordner typo3/ umbenennen können. In „2.5 Die Datenbank prüfen und warten“ erfahren Sie mehr über die Datenbankstruktur von TYPO3. Weiterführende Informationen zu Interfaces finden Sie im PHP-Handbuch unter der Adresse http://www.php.net/manual/de/language.oop5.interfaces.php.
Problem
Sie möchten die aktuellen TYPO3-Einstellungen einsehen oder suchen eine Möglichkeit, die passenden Optionen zu finden, beispielsweise um einen bestimmten Systemparameter anzupassen.
Lösung
Wechseln Sie in das Modul Konfiguration im Bereich Admin-Werkzeuge. Dort erhalten Sie Einblick in sämtliche Wert der aktuellen Systemvariablen, mit denen TYPO3 momentan arbeitet. Über den Baum können Sie komfortabel alle Wertepaare einsehen. Klicken Sie auf einen Wert, erscheint ein Feld, aus dem Sie die entsprechende Variable samt Wert kopieren können. Diesen Wert können Sie wiederum in eigenen Extensions anpassen. Entscheiden Sie nun über die Auswahlliste, welchen Variablenbereich Sie über die Baumstruktur einsehen wollen.
$TYPO3_CONF_VARS
Im Array $TYPO3_CONF_VARS werden alle grundlegenden TYPO3-Einstellungen gespeichert. Dazu zählen Installationsoptionen und Extension-Parameter. In der Diskussion dieses Rezepts werden die einzelnen Unterbereiche dieses Arrays tiefer gehend beleuchtet. Die Werte innerhalb von $TYPO3_CONF_VARS können Sie über eigene Extensions in der Datei ext_localconf.php anpassen.
$TCA (tables.php)
Im Bereich $TCA (tables.php) finden Sie sämtliche Informationen über das Table Configuration Array, in dem TYPO3 Informationen über die vorhandenen Datenbanktabellen und deren Felder speichert. Das TCA spielt außerdem eine zentrale Rolle im Zusammenspiel von Datenbanken mit der Eingabemaske (Näheres über die einzelnen TCA-Eigenschaften erfahren Sie in „16.3 Zusätzliche Datenbanktabellen und Felder hinzufügen“). Werte im TCA können Sie über eigene Extensions in der Datei ext_tables.php anpassen.
$TYPO3_LOADED_EXT
$TYPO3_LOADED_EXT zeigt eine Übersicht der momentan aktiven Extensions. Wenn Sie die Einträge mit dem Pluszeichen öffnen, erhalten Sie weitere Informationen, und zwar zum Extension-Typ, den Pfadangaben und den Pfaden zu den relevanten Dateien der Extension, wie etwa ext_tables.php, ext_tables.sql und ext_localconf.php.
$TBE_STYLES
Im Array $TBE_STYLES speichert TYPO3 sämtliche Angaben, die das Erscheinungsbild des Backends beeinflussen (der Variablenname liest sich daher auch TYPO3 Backend-Styles). Indem Sie diese Werte anpassen, beeinflussen Sie die Darstellung und können beispielsweise eine völlig neue Farbumgebung schaffen.
Wenn Sie sich mit dem grundlegenden Aufbau der hier aufgeführten Arrays vertraut machen, können Sie über dieses Modul sehr schnell Werte ermitteln, die Sie dann über eigene Extensions anpassen.
Diskussion
Bevor Sie Änderungen an den oben genannten TYPO3-Einstellungen vornehmen, sollten Sie genau wissen, was Sie tun. Die folgende Übersicht zeigt die Anwendungsbereiche mit Schwerpunkt auf der Extension-Entwicklung. Sie soll Ihnen helfen, sich schneller innerhalb der umfangreichen Einstellungsmöglichkeiten zurechtzufinden. Vor allem die Bereiche $TYPO3_CONF_VARS und $TCA (tables.php) spielen bei der Extension-Entwicklung eine entscheidende Rolle und werden daher im Folgenden genauer beleuchtet.
$TYPO3_CONF_VARS
Wie der Name schon andeutet, speichert dieses Array sämtliche Konfigurationsvariablen von TYPO3. Wenn Sie mit den Installationsoptionen aus „1.6 Systemparameter anpassen“ schon vertraut sind, werden Sie feststellen, dass die Einstellungen, die Sie im Install-Tool oder über Extensions vornehmen, hier übersichtlich als Baum dargestellt werden. Die Unterbereiche von $TYPO3_CONF_VARS haben dabei folgende Bedeutung:
GFX
Einstellungen für die grafischen Bearbeitungsfunktionen.
SYS
Grundlegende Systemeinstellungen, die sowohl das Backend als auch das Frontend betreffen.
EXT
Einstellungen für den Umgang mit Extensions, die sowohl das Backend als auch - indirekt - das Frontend betreffen.
BE
Backend-Einstellungen.
FE
Frontend-Einstellungen.
MODS
Hier wurden früher Einstellungen für Backend-Module gespeichert. Dieses Vorgehen ist veraltet, da diese Einstellungen nun in den Backend-Modulen selbst vorgenommen werden. Dieser Punkt wird daher nur der Vollständigkeit halber erwähnt.
USER
Hier wurden früher Parameter für eingebundene PHP-Skripten gespeichert. Dieses Vorgehen wird seit der Version 3.5 durch den Extension-Mechanismus ersetzt, dieser Punkt wird daher nur der Vollständigkeit halber erwähnt. In „18.1 TypoScript in eigenen Frontend-Plugins verwenden“ erfahren Sie, wie Sie diesen Mechanismus effektiv nutzen und TypoScript als zentralen Konfigurationsmechanismus in eigenen Extensions verwenden können.
SC_OPTIONS
Script-Class-Optionen, über die TYPO3 die Verwendung von sogenannten Hooks verwaltet.
EXTCONF
Extension-Parameter, mit denen Sie Eigenschaften in Ihren Extensions beeinflussen können (in „17.14 Extension-Parameter zentral verwalten“ erfahren Sie mehr über diese Möglichkeiten).
SVCONF
Parameter, mit denen TYPO3-Services gesteuert und konfiguriert werden.
