Die lokale JSON-Synchronisierung speichert Ihre Feldgruppendefinitionen als JSON-Dateien im Ordner Ihres Themes. Diese Funktion existiert hauptsächlich für Entwicklungs-Workflows, bei denen ein Entwickler Versionskontrolle (wie Git) verwendet, um Codeänderungen zu verwalten und sie über verschiedene Umgebungen (lokale Maschine, Staging-Server, Produktionsserver) bereitzustellen. Für die meisten Inhaltsmanager läuft diese Funktion still im Hintergrund und erfordert keine Aktion, außer gelegentlich auf eine Schaltfläche “Synchronisieren” zu klicken.
Verwechseln Sie dies nicht mit dem lokalen JSON-Ordner von ACF. Field Forge schreibt standardmäßig seine eigenen Dateien in fieldforge-json/. Während der Migration von ACF kann Field Forge auch die acf-json/group_*.json-Dateien von ACF als Quelle lesen, wenn keine ACF-Feldgruppendatenbankeinträge vorhanden sind.
Dieser Abschnitt erklärt, was die JSON-Synchronisierung macht, warum sie existiert, wann Sie ihr begegnen könnten und was zu tun ist, wenn Sie Synchronisierungsbenachrichtigungen im Admin sehen.
Warum die lokale JSON-Synchronisierung existiert
Wenn ein Entwickler eine Website erstellt, erstellt er typischerweise Feldgruppen auf seiner lokalen Maschine. Ohne JSON-Synchronisierung leben die Feldgruppendefinitionen nur in der Datenbank. Um sie auf den Staging- oder Produktionsserver zu verschieben, müsste der Entwickler jedes Mal, wenn er eine Änderung vornimmt, die JSON-Dateien manuell exportieren und importieren. Die JSON-Synchronisierung automatisiert dies, indem sie die Feldgruppendefinitionen in Dateien im Theme-Ordner schreibt. Diese Dateien reisen mit dem Theme-Code durch die Versionskontrolle, und wenn der Code bereitgestellt wird, erkennt Field Forge die neuen oder geänderten Dateien und wendet sie an.
Dieser Workflow ist für Inhaltsmanager unsichtbar — die Felder erscheinen einfach oder werden aktualisiert, wenn der Entwickler Änderungen vornimmt.
So funktioniert es im Hintergrund
- Wenn die JSON-Synchronisierung aktiviert ist, schreibt Field Forge jedes Mal, wenn eine Feldgruppe im Admin gespeichert wird, eine JSON-Datei in
fieldforge-json/im aktiven Theme (der Standardordnername; kann über den Filterfieldforge/local_json/save_pathüberschrieben werden) - Die JSON-Datei enthält die vollständige Feldgruppendefinition: Felder, Typen, Einstellungen, Layout, Standortregeln, bedingte Logik und Reihenfolge
- Der Entwickler fügt diese Dateien in sein Versionskontrollrepository (Git, SVN usw.) ein
- Wenn aktualisierte Dateien auf einen Server bereitgestellt werden, erkennt Field Forge, dass die JSON-Dateien neuer sind als die Datenbankversionen
- Eine Synchronisierungsbenachrichtigung erscheint im Admin und fordert Sie auf, die Updates anzuwenden
Was Inhaltsmanager wissen müssen
Die meiste Zeit funktioniert die JSON-Synchronisierung unsichtbar. Hier sind die beiden Situationen, in denen Sie möglicherweise handeln müssen:
Situation 1: Sie sehen eine Benachrichtigung “Feldgruppen nicht synchronisiert”- Gehen Sie zu Field Forge > Feldgruppen
- Sie sehen ein Banner oder ein Badge, das anzeigt, dass eine oder mehrere Feldgruppen nicht mit ihren JSON-Dateien synchronisiert sind
- Klicken Sie auf die Schaltfläche Synchronisieren
- Field Forge aktualisiert die Datenbankfeldgruppen, um mit den JSON-Dateien übereinzustimmen
- Die Benachrichtigung verschwindet
- Das bedeutet, dass Ihr Entwickler Änderungen vorgenommen hat — die aktualisierten Felder spiegeln jetzt seine Arbeit wider
Wenn Sie eine Feldgruppe im Admin bearbeiten, während die JSON-Synchronisierung aktiviert ist, werden Ihre Änderungen in der Datenbank gespeichert UND in die JSON-Datei im Theme geschrieben. Wenn ein Entwickler später seine eigene Version dieser JSON-Datei bereitstellt, könnte es zu einem Konflikt kommen.
| Szenario | Was passiert |
|---|---|
| Nur der Entwickler hat die JSON-Datei geändert | Die Synchronisierung wendet seine Änderungen sauber an, wenn Sie auf Synchronisieren klicken |
| Nur Sie haben die Feldgruppe im Admin geändert | Ihre Änderungen sind live. Die JSON-Datei wurde mit Ihren Änderungen aktualisiert. Wenn der Entwickler Ihre aktualisierte JSON-Datei abruft, sieht er Ihre Änderungen. |
| Sowohl Sie als auch der Entwickler haben die gleiche Feldgruppe geändert | Field Forge erkennt einen Konflikt und zeigt eine Warnung an. Sie wählen aus, welche Version beibehalten werden soll. |
Aktivieren oder Deaktivieren der JSON-Synchronisierung
- Gehen Sie zu Field Forge > Einstellungen
- Finden Sie den Schalter Lokale JSON-Synchronisierung
- Schalten Sie ihn ein oder aus
- Der Speicherpfad ist
fieldforge-json/im Ordner des aktiven Themes. Es gibt keine UI-Steuerung dafür — Ihr Entwickler kann den Pfad über den Filterfieldforge/local_json/save_pathüberschreiben, wenn er einen benutzerdefinierten Speicherort benötigt. - Einstellungen speichern
Wichtige Details zu JSON-Dateien
- JSON-Dateien sind einfache Textdateien, die nur die Struktur der Feldgruppe enthalten — sie enthalten keine Beitragsinhalte, Editor-Daten, Benutzerinformationen oder Mediendateien
- Das Speichern einer Feldgruppe mit aktivierter Synchronisierung schreibt die entsprechende JSON-Datei sofort
- Das Löschen einer Feldgruppe löscht auch ihre JSON-Datei
- Der Pfad des Synchronisierungsordners kann von Ihrem Entwickler angepasst werden, wenn er eine nicht standardmäßige Ordnerstruktur verwendet
- Die JSON-Synchronisierung funktioniert mit jedem Versionskontrollsystem (Git, SVN, Mercurial usw.)
- Wenn Sie das Theme wechseln, werden die JSON-Dateien im Ordner des alten Themes nicht mehr erkannt. Ihr Entwickler muss sie möglicherweise verschieben oder kopieren.
Kommunikationstipps für Teams, die JSON-Synchronisierung verwenden
Wenn Sie eng mit einem Entwickler zusammenarbeiten, der die JSON-Synchronisierung verwendet:
- Kommunizieren Sie, bevor Sie Feldgruppen im Admin bearbeiten. Wenn der Entwickler auch an Änderungen der Feldgruppen in seinem Code arbeitet, können gleichzeitige Bearbeitungen Konflikte verursachen.
- Lassen Sie den Entwickler wissen, wenn Sie Felder hinzufügen oder entfernen. Er muss möglicherweise die Theme-Vorlagen aktualisieren, um neue Felder anzuzeigen oder Verweise auf gelöschte zu entfernen.
- Wenn Sie eine Synchronisierungsbenachrichtigung sehen, klicken Sie umgehend auf Synchronisieren. Eine Verzögerung bei der Synchronisierung bedeutet, dass Ihre Datenbank veraltete Feldddefinitionen hat, während die JSON-Dateien die neueste Version enthalten. Dies kann Verwirrung stiften, wenn Sie in der Zwischenzeit eine Feldgruppe bearbeiten.
> Gut zu wissen: Wenn Sie ein Inhaltsmanager sind, der nie mit Theme-Dateien oder Versionskontrolle arbeitet, können Sie diese Funktion vollständig ignorieren. Sie läuft still, wenn Ihr Entwickler sie aktiviert hat. Das einzige Mal, dass Sie etwas tun müssen, ist, wenn eine Synchronisierungsbenachrichtigung erscheint — klicken Sie einfach auf die Schaltfläche Synchronisieren und Sie sind fertig.
> Tipp: Wenn Sie versehentlich Änderungen an einer Feldgruppe vornehmen und stattdessen die Version des Entwicklers wünschen, verwenden Sie die Synchronisierungsfunktion, um Ihre Änderungen mit der JSON-Dateiversion zu überschreiben. Umgekehrt, wenn Sie möchten, dass Ihre Änderungen bestehen bleiben, speichern Sie die Feldgruppe im Admin — die JSON-Datei wird aktualisiert, um mit Ihrer Version übereinzustimmen.