62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# Mailadmin – Email Template System (R17 modular)
|
||
Stand: 2026-01-17
|
||
|
||
## Kurzuebersicht
|
||
- Admin UI fuer Templates, Sections und Snippets
|
||
- GrapesJS Editor lokal eingebunden (kein CDN)
|
||
- Modularer Bridge-Core fuer Blöcke, Kategorien und Editor-Erweiterungen
|
||
- JSON API mit Dual-DB und Prefix-Support
|
||
|
||
## Struktur
|
||
mailadmin/
|
||
inc/
|
||
config.example.php # Deine echte config.php kommt hierhin (NICHT in public/)
|
||
public/
|
||
index.php # Admin UI (helles Design)
|
||
api.php # JSON API (Dual-DB + Prefix)
|
||
tools/
|
||
config-doctor.php # Prüft inc/config.php
|
||
db-doctor.php # Prüft DB-Verbindung
|
||
assets/
|
||
css/toast.css
|
||
js/
|
||
toast.js
|
||
app.js # entry (type=module)
|
||
api.js # API wrapper
|
||
ui-tabs.js # Tabs
|
||
ui-list.js # Liste + Vorschau + Löschen + Editor öffnen
|
||
ui-create.js # „Neu …“ dialog
|
||
ui-editor.js # Editor-Dialog + Handshake
|
||
editor/
|
||
editor-core.php # LÄDT NUR LOKAL (kein CDN)
|
||
bridge-core.js # Loader + Guards + Editor-Orchestrierung
|
||
config.js # Bibliothek in Block-Leiste
|
||
public/assets/js/bridge/
|
||
rte-editor.js # RichText-Editor (Modal)
|
||
table-builder.js # Table Builder (Modal)
|
||
blocks-*.js # Block-Definitionen
|
||
|
||
## Vendor (lokal bereitstellen)
|
||
Lege die GrapesJS-Dateien lokal ab (kein CDN):
|
||
- mailadmin/public/vendor/grapesjs/grapes.min.css
|
||
- mailadmin/public/vendor/grapesjs/grapes.min.js
|
||
- mailadmin/public/vendor/grapesjs-preset-newsletter/grapesjs-preset-newsletter.min.js
|
||
|
||
## Datenbank
|
||
Nutze `schema.sql` (inkl. *NULL‑fähiger* Fremdschlüssel & ON DELETE SET NULL).
|
||
Prefix standardmäßig: `emailtemplate_`.
|
||
|
||
## Editor-Flags (window.BridgeParts)
|
||
- ENABLE_EDITOR_EXTENSIONS
|
||
- ENABLE_EDITOR_BEHAVIOR
|
||
- ENABLE_PLACEHOLDERS
|
||
- ENABLE_TABLE_BUILDER
|
||
- ENABLE_RTE
|
||
|
||
## Schnellstart
|
||
1) `mailadmin/inc/config.php` anlegen (siehe `config.example.php`).
|
||
2) `schema.sql` in deiner Templates-Datenbank ausführen.
|
||
3) Vendor-Dateien in `public/vendor/...` kopieren.
|
||
4) `public/tools/config-doctor.php` & `public/api.php?action=health` prüfen.
|
||
5) `public/index.php` öffnen → „Neu …“, „Vorschau“, „Im E‑Mail‑Editor öffnen“ etc.
|