Demystifying TYPO3
für Rookies
TYPO3 ist echt umfangreich
Und aller Anfang ist schwer ...
Da kann man verzweifeln und sich hilflos fühlen.
Themen
-
01. TypoScript
-
02. CMS
-
03. Translation
-
04. AJAX
TypoScript Object Browser
-
TYPO3 Konfiguration checken
Welche Konfiguration kommt im TYPO3 an? -
TypoScript Linter
Gibt es Syntax-Fehler? -
Zeilennummern, Konstanten
Woher kommt die Konfiguration? Zeile, Datei, Konstante
TYPO3 default TypoScript
-
TypoScript für alle Seiten per PHP hinzfügen
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants( '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TypoScript/Constants.typoscript">' ); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup( '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $extKey . '/Configuration/TypoScript/Setup.typoscript">' ); $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_constants'] $GLOBALS['TYPO3_CONF_VARS']['FE']['defaultTypoScript_setup']
-
Der Core macht's genauso
typo3/sysext/frontend/ext_localconf.php
Content Rendering
-
TypoScript CONTENT Objects (cObjects)
styles.content.get = CONTENT
-
renderObj
Fallback auftt_content
Fluid Styled Content Rendering
-
Weniger TypoScript, mehr Fluid
Einfacher zu lesen und schreiben.
Wiederverwendung durch Partials. -
Neues Content Element
tt_content.list =< lib.contentElement tt_content.list { templateName = List }
Custom Page Types
-
TYPO3 als CMS verstehen
TYPO3 ist ein CMS (=Content Management System)
Es braucht nicht immer eine neue Extension mit PHP Code
Oft reicht die Konfiguration von TYPO3 -
Dokumentation
https://docs.typo3.org/typo3cms/CoreApiReference/PageTypes/Index.html#page-types
TCA Konfigurieren
-
Wozu?
Neue Datentypen, in Verbindung mit ext_tables.sql Vorhandene Daten erweitern / anpassen.
-
Validierung des TCA
Konfigurations-Modul -
Dokumentation
https://docs.typo3.org/typo3cms/TCAReference/ columnsOverrides
User / Page TSConfig
-
Alternative zum TCA
Im Gegensatz zum TCA nicht global,
wird auf Nutzer und Seiten beschränkt -
Nicht so umfangreich wie das TCA
Fast geschafft
XLIFF
-
XML Localisation Interchange File Format
Einheitliches Format zum übersetzen https://en.wikipedia.org/wiki/XLIFF -
Wird von Flow / Neos und TYPO3 genutzt
-
Vorhandene GUI Programme für Übersetzer
Override XLIFF
-
Einzelne Labels ersetzen
Einheitliches Format zum übersetzen https://docs.typo3.org/typo3cms/CoreApiReference/Internationalization/Translation/Index.html#xliff-translating-custom
TypoScript
-
Labels können auch per TypoScript überschrieben werden
plugin { tx_searchcore { _LOCAL_LANG.default { url_with_search_term = {$url_with_search_term} } } }
-
Nicht nur zum übersetzen
z.B. per Condition labels unter Umstäden setzen und im Fluid abfragen.
eID
-
Für schlichte, schnelle AJAX Requests
-
Kein Extbase, aber TYPO3
Keine Seite, da keine ID, dadurch kein spezifisches TS
Datenbank
Request, Response Instanzen -
Utility für
Frontend-User
TSFE
PageType
-
Zum Nachladen von Seiten
-
Für komplexe AJAX Requests
-
Volles Framework
mit Extbase
mit Seite, ergo mit spezifischem TypoScript
Geschafft