Demystifying TYPO3

für Rookies

TYPO3 ist echt umfangreich

Und aller Anfang ist schwer ...
Da kann man verzweifeln und sich hilflos fühlen.

Das ist okay

Hilfe suchen

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 auf
    tt_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

TCA Konfigurieren

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

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

Paypal me

2,50

Danke

Hoffentlich hat Euch dieser Talk geholfen.
Feedback und Rückfragen sind jederzeit willkommen.

Slack: danielsiepmann
Twitter: @layneobserdia

Fast alle Informationen gibt es auf Englisch unter https://concepts.daniel-siepmann.de/typo3/

Euer,
Daniel Siepmann.