TYPO3 - Distributions erstellen

Aus Wikizone
Wechseln zu: Navigation, Suche

Hinweis: Distributions enthalten eigentlich eine Anzahl von vorbereiteten Seiten. Eine Distribution ohne Seiten ist ein Sitepackage. Also sollte die Seite heißen:

TYPO3 Sitepackage erstellen

Siehe auch ältere Version:

TYPO3 - Distribution mit FLUID Templates erstellen

Links

https://speakerdeck.com/benjaminkott/the-anatomy-of-typo3-sitepackages - Guter Einstieg, Pros, Conventions
http://www.sitepackagebuilder.com/ (Package Builder)
https://github.com/benjaminkott/example_package (Beispiel Package)
https://github.com/benjaminkott/bootstrap_package


TYPO3 9 - Sitepackage

Basic Structure

Vieles benötigt man in der Regel nicht, aber wenn gehört es hier hin...

Classes/ -> Controller, ViewHelpers
Configuration/ -> TypoScript, PageTS, TCA
Documentation/ -> Anleitung (reStructuredText Format)
Initialisation/ -> Data / Assets for Fileadmin
Resouces/ -> Templates, Images, CSS, JS, ...
ext_conf_template.txt -> Konfiguration für Extension Manager
ext_emconf.php -> Konfiguration der Extension (also des Package)
ext_icon.png -> Extension Icon
ext_localconf.php -> Wird in FE und BE ausgeführt
ext_tables.php -> Wird in BE ausgeführt
ext_tables.sql -> Datenbank Tabellen
Die Distribution enthält
* TypoScript für: Basisaufbau
* PageTypoScript für '''Backend Layouts''' und '''Gridelements'''

Struktur des Classes Ordner

Controller/ -> MVC Controller
Domain/
  Model/ -> MVC Domain Model
    Repository/ -> Daten Repositories
Hook/ -> Hooks für Manipulation der Core Funktionen
ViewHelpers/ -> Custom Fluid View Helpers

Struktur des PageTS Ordners

PageTS/ -> PageTS ;-)

 RTE.txt
 TCEFORM.txt

TCA/ -> TableContentArray = Definition für eigene Tabellen

 Overrides/
   tt_content.php -> um TCA von vorhandenen Tabellen (hier tt_content) zu überschreiben
 tx_myext_record.php

TypoScript/ -> Static TypoScript Templates

 setup.txt
 constants.txt

.htaccess

Resourcen

Private/ -> Private geschützte Dateien
  Languages/ -> XLIFF/XML Dateien für lokalisierte Labels
  Layouts/ -> Hauptlayouts für die Views
  Partials/ -> Parial Layouts
  Templates/ -> Frontend Templates
  .htaccess -> Schützen des privaten Ordners
Public/ -> Öffentliche Files (Einbinden im Frontend)
  Css/
  Images/
  JavaScript/

Funktionsweise einer Distribution

Initialisierung

Assets, Datensätze kopieren

  • Dateien aus dem Files Ordner werden nach fileadmin/extensionname/ kopiert.
  • Daten aus .t3d Dateien (Seitenbaum etc.) werden auf dem root level angelegt

Minimales Sitepackage

Was benötigt man für ein funktionierendes Package ?

  • Die Extension
  • Einbinden der CSS Styled Content
  • Basis TypoScript
  • Basis PageTS
  • Fluid Template
  • CSS Datei
  • JavaScript Datei

Extension Ordner

typo3conf/ext/example_package

Configuration
Resources
ext_emconf.php
ext_icon.png
ext_localconf.php
ext_tables.php