Hier halte ich die Funktionsweise von TYPO3 fest. Keine Snippets, sondern Grundsätzliches zum Verständnis des CMS. Gedacht als kleine Alternative zur TSref und dem offiziellen Wiki. Es sind nicht immer alle möglichen Eigenschaften aufgeführt, aber die relevanten (für mich) besser erklärt.
Install Tool
Caching
Datentypen
Top Level Objects (Setup)
Inhaltselemente (cObject)
Menü-Objekte
Funktionen
Conditions
Constants
TSconfig
RTE (rtehtmlarea)
Konfigurations-Tipps
T3DataStructure
Core Register
Datenbankfelder ausgewählter Tabellen
Wichtige Werte in Datenbanktabellen
pages | Alle Seiten und die Seitenstruktur. |
---|---|
tt_content | Alle Inhaltselemente. |
be_users, be_groups | Backend-Benutzer bzw. -Gruppen inkl. der zugehörigen Einstellungen. |
fe_users, fe_groups | Frontend-Benutzer bzw. -Gruppen inkl. der zugehörigen Einstellungen. |
sys_be_shortcuts | Die von BE-Benutzern angelegten Lesezeichen (→ Stern neben Cache). |
cache_pages | Die gesamte generierte Seite im HTML-Format mit eventuellen Platzhaltern für USER_INT-Bereiche. |
cachingframework_cache_* | TYPO3 CMS 4.3 - 4.5: Teile des Caching-Framework, das von FLOW3 rückportiert wurde. |
cf_cache_* | Seit TYPO3 CMS 4.6: Das o.g. Caching-Framework (als neuer Standard). |
fe_sessions, fe_session_data | Sessioninformationen angemeldeter FE-Benutzer, falls Zugangsbeschränkungen auf Seiten gesetzt werden. |
sys_template | Die angelegten TypoScript-Templates. |
Die TypoScript Frontend Engine (TSFE) ist für die Auswertung von TypoScript verantwortlich. Sie analysiert das Array und kümmert sich um die daraus folgenden Aktionen.
Das Table Configuration Array ($TCA) ist ein globales Array in TYPO3, das die Definition von DB-Tabellen ausbaut; jenseits dessen, was mit reinem SQL möglich ist. Vor allem definiert $TCA, welche Tabellen im Backend von TYPO3 editierbar sind. DB-Tabellen ohne entsprechenden Eintrag in $TCA sind im TYPO3-Backend nicht sichtbar. Die $TCA-Definition einer Tabelle deckt weiterhin die folgenden Eigenschaften ab:
Dieses Array ist mit Extensions stark erweiterungsfähig. Extensions können Felder zu existierenden Tabellen hinzufügen und neue Tabellen erstellen.
Das $TCA wird zusammen mit weiteren globalen Variablen in t3lib/stddb/tables.php definiert. Diese Datei enthält allerdings nur den „Header“-Part, die volle Konfiguration erfolgt in weiteren PHP-Dokumenten im gleichen Ordner.
Typo3 Core Engine (TCE) ist die Klasse, die alle Daten in den DB-Tabellen verarbeitet, die im $TCA konfiguriert sind. Sie verarbeitet Befehle wie kopieren, verschieben, löschen, rückgängig, auch die Versionierung von Datensätzen und das Schreiben des sys_log wird von ihr übernommen. Grundsätzlich wird jede für die Verarbeitung bestimmte Option im $TCA Array von TCE erledigt.
Dies sorgt für die Datenintegrität innerhalb von TYPO3. Diese ist nicht gewährleistet, wenn direkt in $TCA-konfigurierte DB-Tabellen geschrieben wird. Ebenso werden die Beziehungen zu Dateien und anderen records verwaltet.
TCE benötigt einen Backend-Login, um zu funktionieren. Dies hat seinen Grund in der Tatsache, dass Berechtigungen natürlich überwacht werden und TCE einen BE-Benutzer benötigt, um diese Berechtigungen beurteilen zu können. Dies bedeutet auch, dass TCEmain nicht im Bereich des Frontends verwendet werden kann. So wird das Schreiben von Tabellen aus dem Frontend (z.B. Gästebucheinträge) ohne TCEmain durchgeführt.
TCE hat auch einen Teil, um Dateien zu handhaben. Dies beinhaltet das Kopieren, Verschieben, Löschen und Bearbeiten von Dateien und Verzeichnissen im fileadmin.