Themesync ermöglicht die bidirektionale Synchronisation von REDAXO-Modulen und Templates zwischen:
- FTP-Servern (Download)
- Lokalem Dateisystem (bidirektional, Git-versionierbar)
- REDAXO-Datenbank
- ✅ Theme-Addon Kompatibilität: Nutzt
/theme/Pfade wenn Theme-Addon verfügbar - ✅ Config.yml Support: Metadaten (Key, Version, Autor, Git-Info) in YAML-Format
- ✅ Key-Feld Support: Vorbereitet für REDAXO 5.15+ Template Key-Felder
- ✅ Git-Integration: Automatische Extraktion von Commit-Hash, Branch und Timestamp
- ✅ Flexible Pfade: Theme-Addon (
/theme/) oder Repository (/data/addons/themesync/repository/)
Nach dem Installieren die Konfiguration über das Backend setzen oder repo.yml im data-Ordner bearbeiten.
Lädt Module/Templates von einem externen FTP-Server (nur Download, keine bidirektionale Sync).
classname: 'rex_themesync_repo_ftp'
host: 'ftp.example.com'
user: 'username'
pass: 'password'
dir: '/httpdocs/theme/'Bidirektionale Synchronisation mit lokalem Dateisystem. Unterstützt Git-Versionierung.
Theme-Addon Modus (empfohlen):
classname: 'rex_themesync_repo_localfilesystem'
use_theme_paths: trueNutzt automatisch:
/theme/modules/für Module/theme/templates/für Templates
Repository Modus (Fallback):
classname: 'rex_themesync_repo_localfilesystem'
repo: 'repository/' # relativ zu /redaxo/data/addons/themesync/Oder mit absolutem Pfad:
classname: 'rex_themesync_repo_localfilesystem'
repo: '/absolute/path/to/repository/'/theme/
├── modules/
│ ├── 01-text-bild-video-link/
│ │ ├── input.php
│ │ ├── output.php
│ │ └── config.yml
│ └── 02-bildergalerie/
│ ├── input.php
│ ├── output.php
│ └── config.yml
└── templates/
├── 01-standard/
│ ├── template.php
│ └── config.yml
└── 02-fullwidth/
├── template.php
└── config.yml
/redaxo/data/addons/themesync/repository/
├── modules/
│ └── ...
└── templates/
└── ...
Jedes Modul/Template kann eine config.yml mit Metadaten haben:
name: "Text, Bild, Video, Link"
key: "01" # Numerischer Key (optional in REDAXO 5.13, führend in 5.15+)
description: "Universalmodul für Text, Medien und Links"
version: "2.1.0"
author: "Stefan Beyer"
category: "content"
# Git-Informationen (automatisch generiert)
git:
commit: "abc123def456"
branch: "main"
last_update: "2025-11-14T12:00:00+01:00"
# Dateien
files:
input: "input.php"
output: "output.php"name: "Standard"
key: "01"
description: "Standard-Template mit Sidebar"
version: "1.5.0"
author: "Stefan Beyer"
git:
commit: "def789ghi012"
branch: "main"
last_update: "2025-11-14T12:00:00+01:00"
files:
template: "template.php"Themesync extrahiert automatisch numerische Keys aus Ordnernamen:
01-text-bild-video-link→ Key:"01"02_bildergalerie→ Key:"02"0010_excel_2_table→ Key:"0010"
Diese Keys werden:
- In
config.ymlgespeichert - Für die Sortierung verwendet
- In REDAXO 5.15+ als Template-Key verwendet (wenn verfügbar)
- REDAXO-Backend: Modul bearbeiten
- Themesync: "Export to Filesystem"
- Git:
cd /theme git add modules/01-text-bild-video-link/ git commit -m "Update module" git push
- Themesync Config: FTP-Verbindung konfigurieren
- Themesync: Modul auswählen
- Aktion: "Download to Filesystem"
- Aktion: "Import to REDAXO"
Themesync ist vorbereitet für REDAXO 5.15+ Template Key-Felder:
- Key wird aus Ordnernamen extrahiert und in
config.ymlgespeichert - Bei Import in REDAXO 5.15+ wird Key verwendet (wenn verfügbar)
- Abwärtskompatibel mit REDAXO 5.13
Siehe THEMESYNC_MODERNIZATION_PLAN.md für:
- Detaillierte Architektur
- Implementations-Roadmap
- Technische Details
- Workflow-Beispiele