Content CMS — Benutzerhandbuch

Willkommen im Content CMS

Das Content CMS ist die zentrale Oberflaeche fuer Webseiten-Inhalte in dbXapp. Hier verwalten Sie Ordner, Seiten, Medien, Rechte und — bei mehreren Sprachen — die Uebersetzungen.

Einstieg: ?dbx_modul=dbxContent_admin&dbx_run1=cms

Die Oberflaeche auf einen Blick

┌─────────────────────────────────────────────────────────────┐ │ Kopfzeile: Speichern | Uebersetzen | Auto-Sync | Loeschen │ ├──────────┬──────────────────────────────┬────────────────────┤ │ LINKS │ MITTE │ RECHTS │ │ Seiten- │ Seiten- oder Ordner-Editor │ Hero, Gallery, │ │ baum │ + Vorschau-Button │ Medien im Text, │ │ + Sprach-│ │ Mehrsprachigkeit │ │ tabs │ │ │ └──────────┴──────────────────────────────┴────────────────────┘
  • Links: Hierarchischer Baum (Ordner und Seiten). Klick waehlt den Eintrag.
  • Mitte: Titel, Permalink, Status, Inhalt, Seitenmodule.
  • Rechts: Hero-Bild, Galerie, Inline-Medien, Uebersetzungs-Einstellungen.
  • Oben: Sprach-Tabs (z. B. DE*, EN) — Stern = Master-Sprache.

Alle Buttons der CMS-Kopfzeile

ButtonFunktionWichtiger Hinweis
Content Tree ein-/ausklappen (X/Pfeil)Blendet den linken Seitenbaum ein oder aus.Aendert keine Daten.
Speichern (Diskette)Speichert die aktuell bearbeitete Seite beziehungsweise den geoeffneten Ordner samt Einstellungen.Alternativ Strg+S. Der Statuspunkt wechselt danach auf „Gespeichert“.
Uebersetzen (Sprachen)Uebertraegt die gewaehlte Seite oder den Ordner aus der Master-Sprache in weitere Sprachen.Nur in der Master-Sprache sichtbar.
Auto-Sync (Kettenglied)Verknuepft manuell abgekoppelte Sprachversionen wieder mit dem Master.Kuenftige Master-Aenderungen koennen die Zielsprachen wieder ueberschreiben.
Loeschen (Papierkorb)Loescht nach Bestaetigung die aktuelle Seite beziehungsweise den geoeffneten Ordner.Bei mehreren Sprachen erscheint eine Auswahl der zu loeschenden Sprachversionen.
Vorschau (Auge)Oeffnet die aktuelle Seite in der Frontend-Vorschau.Ungespeicherte Aenderungen sind dort noch nicht enthalten.
Neue Seite (gruener Button mit Datei-Plus)Legt im gewaehlten Ordner eine neue Seite mit Standardinhalt an und oeffnet sie direkt.Vorher im Baum den gewuenschten Zielordner waehlen.
Seite duplizieren (zwei Dateien)Erstellt im selben Ordner eine neue, eigenstaendige Kopie der aktuell gewaehlten Seite.Erst speichern. Der Permalink wird automatisch mit -kopie, -kopie-2 usw. eindeutig gemacht.
Neu laden (Kreispfeil)Laedt Baum und aktuellen Datenstand erneut vom Server.Ungespeicherte Aenderungen koennen dabei verloren gehen.

Gespeichert/Ungespeichert ist kein Button, sondern die Zustandsanzeige fuer Aenderungen im Formular oder Editor.

Buttons im Seitenbaum und im Ordnerformular

ButtonFunktion
Neuer Ordner (Ordner-Plus)Oeffnet ein leeres Ordnerformular; der zuvor gewaehlte Ordner wird als Zuordnung vorgeschlagen.
Neue Seite im Ordner (Datei-Plus)Entspricht dem gruenen Button „Neue Seite“ und verwendet den aktuell gewaehlten Ordner.
SucheFiltert den Baum nach Seiten-/Ordnernamen; eine eingegebene numerische ID kann gezielt gefunden werden.
Sprach-Tab (DE*, EN, ...)Wechselt den CMS-Datenbestand in die gewaehlte Sprache. Der Stern kennzeichnet die Master-Sprache.
Ordner auf-/zuklappen (Pfeil)Zeigt oder verbirgt die untergeordneten Eintraege.
Ordner bearbeiten (Stift)Oeffnet Name, Zuordnung, Template und Leserechte des Ordners.
Schliessen (X im Ordnerformular)Schliesst das Ordnerformular und zeigt wieder den Seiteneditor.
Ordner loeschenLoescht einen leeren Ordner nach Bestaetigung.
Ordner speichernSpeichert alle Felder des Ordnerformulars.

Buttons fuer Hero, Galerie und Medien im Text

ButtonFunktion
Bereich auf-/zuklappen (Pfeil an Hero, Gallery oder Im Text)Blendet die Einstellungen des jeweiligen Bereichs ein oder aus.
Hero – AuswahlOeffnet den Medienbrowser und waehlt genau ein Hero-Bild oder -Video fuer die Seite.
Hero – SpeichernSpeichert Hero-Medium und alle Hero-Einstellungen zusammen mit der Seite.
Gallery – AuswahlOrdnet der Seite ein oder mehrere Medien fuer die Galerie zu.
Gallery – SpeichernSpeichert Galerie-Einstellungen und die aktuelle Reihenfolge.
Im Text – AuswahlWaehlt ein Medium aus dem Medienbrowser und fuegt es in den Editorinhalt ein.
Medium in Editor einfuegen (Bildsymbol am Medium)Fuegt das bereits zugeordnete Medium an der aktuellen Cursorposition ein.
Zuordnung entfernen (Papierkorb am Medium)Entfernt das Medium aus dieser Seite. Die Datei selbst bleibt in der Medienverwaltung erhalten.

Galerie-Medien koennen per Drag-and-drop sortiert werden. Beim Duplizieren werden keine Bild- oder Videodateien doppelt gespeichert; die neue Seite erhaelt eigene aktive Eintraege in media_usage, die auf dieselben Medien zeigen.

Buttons im Inhaltseditor

ButtonFunktion
QuelltextWechselt zwischen visueller Bearbeitung und HTML-Quelltext.
Alles speichernSpeichert Seite, Editorinhalt und Seiteneinstellungen.
TextstilSetzt Zeichenformatierungen wie fett, kursiv, unterstrichen oder durchgestrichen.
AufzaehlungErstellt eine ungeordnete Liste.
NummerierungErstellt eine geordnete Liste.
AusrueckenVerringert die Einrueckung des aktuellen Absatzes oder Listeneintrags.
EinrueckenErhoeht die Einrueckung des aktuellen Absatzes oder Listeneintrags.
AbsatzformatWaehlt Absatz, Ueberschrift oder ein anderes Blockformat.
Farbe (Pinsel)Setzt Text- beziehungsweise Hintergrundfarbe.
LinkErstellt oder bearbeitet einen Verweis.
Bild/MedienbrowserWaehlt ein Bild aus der CMS-Medienverwaltung und fuegt es ein.
ModulFuegt einen dbXapp-Modulplatzhalter mit den benoetigten Parametern ein.
Bootstrap-KomponenteFuegt vorbereitete Layout-Komponenten wie Karten oder Raster ein.
VideoFuegt ein Video beziehungsweise einen Video-Link ein.
TrennlinieFuegt eine horizontale Trennlinie ein.
MarkerFuegt einen dbXapp-Strukturmarker, zum Beispiel fuer Spalten oder Inhaltsbereiche, ein.
RueckgaengigNimmt den letzten Bearbeitungsschritt zurueck.
WiederholenStellt den zuletzt rueckgaengig gemachten Schritt wieder her.
VollbildVergroessert den Editor auf die gesamte verfuegbare Flaeche.

Alle Eingabefelder einer Seite

FeldBedeutung
TitelSichtbarer Seitentitel und Bezeichnung im Seitenbaum.
PermalinkEindeutiger URL-Pfad ohne Domain und ohne fuehrenden Slash, zum Beispiel leistungen/beratung. Beim Duplizieren wird er automatisch eindeutig erweitert.
Content-TemplateBestimmt den Rahmen und die Inhaltsbereiche der Seite. parent uebernimmt die Vorgabe des Ordners.
StatusAktiv veroeffentlicht die Seite; Inaktiv haelt sie fuer normale Besucher verborgen.
BeschreibungKurzbeschreibung der Seite mit maximal 254 Zeichen; wird je nach Ausgabe auch fuer Teaser oder Metadaten verwendet.
InhaltDer grosse visuelle Editor fuer Texte, Links, Medien, Module und Layout-Komponenten.

Die technischen Felder ID und Ordner-ID werden automatisch verwaltet und sind deshalb nicht als normale Eingabefelder sichtbar.

Alle Hero- und Galerie-Felder

FeldBedeutung
Hero – TemplateLegt fest, ob und wie das Hero-Medium ausgegeben wird. parent uebernimmt die Ordnereinstellung; none schaltet den Hero aus.
Hero – MediumWird ueber „Auswahl“ gesetzt; die Media-ID bleibt verborgen und wird automatisch verwaltet.
Hero – Abstand obenSteuert den oberen Abstand. parent uebernimmt die Vorgabe des Ordners.
Hero – HoeheSteuert die Darstellungs-Hoehe des Hero-Bereichs; parent uebernimmt die Vorgabe.
Hero – VarianteWaehlt die Farb-/Overlay-Variante, zum Beispiel original, hell, dunkel oder monochrom.
Hero stickyBestimmt, ob der Hero beim Scrollen fixiert bleibt. parent uebernimmt die Ordnereinstellung.
Scroll-EbeneLegt fest, ob der Hero beim Scrollen unter oder ueber dem Inhalt liegt.
Gallery – OverflowBestimmt die Darstellung bei vielen Medien, zum Beispiel Raster, Slider oder eine begrenzte Ansicht.
Gallery – KlickBestimmt die Aktion beim Anklicken eines Galerie-Mediums, zum Beispiel Lightbox, Link oder keine Aktion.

Alle Eingabefelder eines Ordners

FeldBedeutung
NameBezeichnung des Ordners im Seitenbaum und Grundlage fuer neue Permalinks.
ZuordnungWaehlt den Elternordner. „Root / erste Ebene“ legt den Ordner ganz oben ab.
Content-TemplateStandard-Template fuer untergeordnete Seiten. parent uebernimmt die hoehere Ebene.
LeserechteLegt fest, welche Benutzergruppen Inhalte dieses Ordners lesen duerfen. parent uebernimmt die Rechte des Elternordners; * erlaubt alle.

Weitere Auswahl- und Dialogfelder

  • Baumsuche: schraenkt die sichtbaren Seiten und Ordner ein.
  • Medien-Anzeige: filtert zugeordnete Medien nach Alle, Galerie, Hero, Im Text oder Shop.
  • Medienordner/Upload-Ziel: bestimmt, aus welchem Medienordner angezeigt beziehungsweise in welchen Ordner hochgeladen wird.
  • Dateiauswahl: waehlt eine oder mehrere lokale Dateien fuer den Upload.
  • Externe Video-URL: nimmt eine unterstuetzte Video-URL, zum Beispiel YouTube, auf.
  • Zielsprache aktivieren: legt im Uebersetzungsdialog fest, welche Sprachversionen erstellt oder aktualisiert werden.
  • Gesamten Unterbaum inkl. Seiten: uebertraegt bei Ordnern auch alle enthaltenen Unterordner und Seiten.

Grundbegriffe

  • Ordner — strukturiert den Baum (wie Verzeichnisse). Hat Leserechte und optional Hero.
  • Seite — eigentlicher Inhalt mit Titel, Text, Permalink und Medien.
  • Permalink — URL-Pfad der Seite (z. B. leistungen/beratung).
  • Master-Sprache — fuehrende Sprache (meist DE). Aenderungen hier steuern Auto-Sync.
  • Sprachversion — derselbe Inhalt in einer anderen Sprache, verknuepft ueber interne ID.

Neue Seite anlegen

  1. Im Baum den Zielordner anklicken.
  2. Button Neue Seite (gruen, Datei-Icon).
  3. Titel und Text im Editor bearbeiten.
  4. Speichern (Diskette oder Strg+S).
  5. Bei Master-Sprache: Dialog In andere Sprachen uebertragen oeffnet sich — auch beim Speichern bestehender Seiten, wenn EN/ES noch fehlen.
Beispiel: Ordner „Leistungen“ → Neue Seite → Titel „Beratung“ → Text schreiben → Speichern → EN-Version im Dialog aktivieren → Uebernehmen. EN-Seite ist zunaechst inaktiv.

Bestehende Seite duplizieren

  1. Im Baum die zu kopierende Seite anklicken.
  2. Falls „Ungespeichert“ angezeigt wird, zuerst Speichern.
  3. Rechts neben dem gruenen Button „Neue Seite“ auf Seite duplizieren (zwei Dateien) klicken.
  4. Die neue Seite wird im selben Ordner angelegt und sofort im Editor geoeffnet.

Die Kopie erhaelt eine neue Seiten-ID, eine neue Sprachverknuepfung und eine neue Sortierposition. Titel, Status, SEO-Felder, Inhalt, Hero-/Galerie-Einstellungen und Medien bleiben erhalten. Der Permalink wird automatisch auf ...-kopiegesetzt; existiert dieser bereits, folgt ...-kopie-2usw.

Medien: Die Dateien werden nicht physisch vervielfaeltigt. Fuer Hero, Galerie und weitere Bereiche entstehen eigene media_usage-Zuordnungen zur neuen Seite; Inline-Medien werden aus dem kopierten Editorinhalt neu zugeordnet.

Neuen Ordner anlegen

  1. Elternordner im Baum waehlen (oder Root).
  2. Neuer Ordner im Baum-Kontext oder ueber die Ordner-Ansicht.
  3. Name, Parent und Leserechte setzen → Speichern.
  4. Wie bei Seiten: Provision-Dialog fuer weitere Sprachen.

Seite oder Ordner bearbeiten

  1. Eintrag im Baum anklicken.
  2. Meta-Felder (Titel, Permalink, Status, Template) anpassen.
  3. Inhalt im Editor aendern — Module per Platzhalter [modul=...].
  4. Medien rechts zuordnen (Hero, Galerie, Im Text).
  5. Speichern. Der Punkt „Gespeichert“ in der Kopfzeile zeigt ungespeicherte Aenderungen.

Medien

  • Hero — grosses Kopfbild oben auf der Seite.
  • Galerie — Bildergalerie unter dem Inhalt.
  • Im Text — Bilder/Videos inline im Editor.
  • Medien werden im Medienbrowser ausgewaehlt; Dateien bleiben im Bestand, auch wenn Sie die Verknuepfung loesen.
Tipp: Nach dem Speichern in der Master-Sprache werden Medien-Verknuepfungen bei Auto-Sync-Sprachen mit uebernommen.

Mehrsprachigkeit — So funktioniert es

dbXapp trennt Inhalte pro Sprache in eigene Tabellen (content_de, content_en, …). Verknuepft sind sie ueber lng_uid.

Master (DE*) speichern │ ├─► Slave mit Auto-Sync → wird automatisch aktualisiert (Text + Struktur + Medien) │ └─► Slave mit Manuell → bleibt unberuehrt (Fork)

Sprach-Tabs und Badges im Baum

  • DE*, EN, … — Sprach-Tabs wechseln die Bearbeitungssprache.
  • Badges am Baumeintrag: Master, auto, manual oder fehlend.
  • Master (*) — nur hier: Uebertragen, Auto-Sync aktivieren, mehrsprachig Loeschen.

In andere Sprachen uebertragen (Provision)

  1. Seite oder Ordner in der Master-Sprache waehlen.
  2. Button Uebersetzen (Sprachen-Icon) in der Kopfzeile.
  3. Dialog: Zielsprachen aktivieren, Texte pruefen und ggf. anpassen.
  4. Uebernehmen — neue Sprachversionen werden angelegt (Seiten: inaktiv).

Bei Ordnern zusaetzlich: Checkbox Gesamten Unterbaum inkl. Seiten — uebertraegt alle Unterordner und Seiten in einem Schritt (Ordner zuerst, dann Seiten).

Auto-Sync beim Master-Speichern

Wenn Sie eine Seite oder einen Ordner in der Master-Sprache aktualisieren, werden alle verknuepften Slaves mit Status autoim Hintergrund synchronisiert. Sie sehen eine Meldung wie „2 Sprachversion(en) synchronisiert“.

  • Texte werden uebersetzt (je nach Provider).
  • Struktur (Template, Hero-Einstellungen, Sortierung) wird uebernommen.
  • Status aktiv/inaktiv der Slave-Seite bleibt erhalten.

Fork — Manuelle Abweichung

Speichern Sie in einer Nicht-Master-Sprache, wird die Verknuepfung getrennt (manual). Die Meldung lautet: Sprachverknuepfung getrennt (manuell).

Ab dann uebernimmt der Master diese Sprache nicht mehr automatisch.

Auto-Sync wieder aktivieren

  1. In der Master-Sprache die Seite/Ordner waehlen.
  2. Button Auto-Sync (Link-Icon) in der Kopfzeile.
  3. Bestaetigen — alle verknuepften Slaves erhalten wieder auto.
  4. Naechster Master-Save synchronisiert erneut (ueberschreibt Slave-Inhalte).

Loeschen

Slave-Sprache: Einfache Bestaetigung — nur diese Sprachversion wird geloescht.

Master mit mehreren Sprachen: Dialog mit Checkboxen pro Sprache.

  • auto-Versionen sind vorausgewaehlt.
  • manual-Versionen nicht — bewusst ankreuzen, wenn gewuenscht.
  • Ordner nur loeschbar, wenn keine Unterordner und keine Seiten enthalten sind (pro Sprache geprueft).

Uebersetzung konfigurieren (Admin)

Pfad: Admin → Content → Config oder direkt:

?dbx_modul=dbxContent_admin&dbx_run1=content&dbx_run2=config

ProviderBedeutung
copyText unveraendert kopieren (Standard, kein API-Key)
noneUebersetzungsfelder leer lassen
deeplDeepL API — API-Key erforderlich
openaiOpenAI Chat API — API-Key + Modell
customEigene Logik in dbx/modules/dbxContent/translate.php

Bei API-Fehlern: Fallback auf Originaltext, Hinweis im CMS und Eintrag unter Admin → SysMsg (Status warning, About dbxContentTranslate).

Vorschau und Veroeffentlichung

  • Vorschau (Auge-Icon) — oeffnet die Seite im Frontend.
  • Status Aktiv/Inaktiv — nur aktive Seiten sind oeffentlich erreichbar.
  • Neue Slave-Seiten starten als inaktiv — erst nach Pruefung auf aktiv stellen.

Cache

Nach dem Speichern wird der Content-Cache automatisch invalidiert. Gecacht werden nur Permalink-Aufrufe; dbxMenu und dbxHome sind im Seiten-Cache enthalten. Wenn Aenderungen live nicht sichtbar sind:

  1. Admin → Page-Cache pruefen / leeren.
  2. Seite erneut aufrufen (Hard-Reload im Browser).

Tastenkuerzel

  • Strg + S — Speichern (Seite oder Ordner)

Haeufige Fragen

Warum fehlt EN im Baum?
Seite wurde nur in DE angelegt — Provision-Dialog ausfuehren oder Uebersetzen-Button nutzen.

Warum wird EN nicht mehr aktualisiert?
Slave wurde manuell gespeichert (Fork). Auto-Sync-Button nutzen oder EN erneut bearbeiten.

Hinweis zu Ordnern im Provision-Dialog?
Fehlende Ordner in EN/ES werden beim Uebernehmen automatisch aus der Master-Struktur angelegt (inkl. Elternordner). Im Dialog erscheint ein Hinweis statt eines Fehlers.

Uebersetzung klappt nicht?
Provider und API-Key in Modul-Config pruefen → SysMsg lesen.

Wo finde ich technische Details?
Entwickler-Doku: 04_DBXApp_CMS_Mehrsprachigkeit.md im Projekt.

Typischer Workflow (Mehrsprachige Website)

1. Ordnerstruktur in DE anlegen 2. Seiten in DE schreiben + Medien 3. Provision → EN (und weitere Sprachen) 4. EN pruefen → Status „Aktiv“ 5. Aenderungen nur in DE* → Auto-Sync pflegt EN 6. Spezielle EN-Texte: in EN bearbeiten (Fork)
Beispiel Startseite: DE-Seite „Home“ mit Hero → Provision EN → Titel „Home“ / „Start“ anpassen → EN aktivieren → Permalink pruefen.

Hilfe-Button

Dieses Handbuch ist jederzeit ueber den Hilfe-Button (?) in der CMS-Kopfzeile erreichbar:

?dbx_modul=dbxContent&dbx_run1=help&topic=content