WebBlocks CMSDokumentationAnleitungenBlogsMarkePlugins

CMS-Blöcke mit dynamischen Plugin-Daten verbinden

Ein Katalog-, Handels-, Veranstaltungs- oder Nachrichten-Plugin verfügt oft über nützliche Domain-Daten. Das bedeutet nicht, dass es auch Eigentümer des Seitenlayouts und des öffentlichen Markups sein sollte, das zur Darstellung dieser Daten verwendet wird.

WebBlocks CMS-Inhaltsquellen trennen diese Verantwortlichkeiten. Ein Plugin macht typisierte Datensätze verfügbar; Redakteure verknüpfen diese Datensätze mit bekannten CMS-Blockfeldern; Die Seite behält die Kontrolle über Komposition, Übersetzung, Vorschau und Rendering.

Die Grenze: Daten vom Plugin, Darstellung vom CMS

Eine Inhaltsquelle antwortet welche Daten verfügbar sind. Ein Block antwortet wie diese Daten dargestellt werden. Die Seite und ihr Slot-Baum antworten auf , wo sie erscheinen.

Dadurch kann ein Plugin das Kernverhalten von Header, Rich Text, Bild, Schaltfläche, Linkliste, Raster, Stapel und Schieberegler wiederverwenden, anstatt einen weiteren parallelen Satz von Renderern bereitzustellen.

Binden Sie ein Blockfeld an einen Datensatz

Bearbeiten Sie einen unterstützten Block und öffnen Sie die Registerkarte Settings. Unter Content source kann jedes kompatible Feld den in Blockfelder eingegebenen Literalwert behalten oder eine Plugin-Quelle, einen stabilen Datensatz und ein deklariertes Feld auswählen.

Beispielsweise kann ein Header-Titel mit einem Textfeld aus einem Katalogeintrag verbunden werden. Redakteure wählen die Beziehung aus einer Liste aus; Es wird kein verbindlicher Ausdruck von Hand eingegeben.

WebBlocks CMS block Settings showing a Header title bound to the Northstar entry Field Notes title.

Der ursprüngliche Blockwert bleibt wichtig: Er ist der redaktionelle Fallback. Wenn das Plugin deaktiviert ist, die Quelle verschwindet, der Datensatz nicht aufgelöst werden kann oder der aufgelöste Wert leer ist, gibt die öffentliche Seite weiterhin den gespeicherten redaktionellen Wert wieder.

Wiederholen Sie eine untergeordnete Vorlage mit einer Sammlung

Sammlungsquellen verarbeiten Datensatzlisten. Fügen Sie einen sammlungsfähigen Container wie Grid oder Stack hinzu, erstellen Sie ein direktes untergeordnetes Element als visuelle Vorlage und wählen Sie dann die Sammlung und das untergeordnete Element aus, das wiederholt werden soll.

Sie können ein Datensatzlimit festlegen, nach einem deklarierten Feld filtern, in beide Richtungen sortieren und entscheiden, ob ein leeres Ergebnis oder ein Resolver-Fehler die Vorlage verbirgt oder ihr redaktionelles Fallback anzeigt.

WebBlocks CMS Grid Settings showing the Northstar journal collection, repeated block template, maximum records, and fallback behavior.
WebBlocks CMS dynamic collection Settings showing filter and sort controls followed by a three-row source preview.

Binden Sie Felder innerhalb der wiederholten Vorlage

Öffnen Sie einen unterstützten Nachkommen innerhalb der ausgewählten Vorlage. Zu den Content source-Optionen gehört jetzt auch Current collection item. Verbinden Sie die Überschrift, Beschreibung, das Bild oder den Link mit den kompatiblen Feldern im aktuellen Datensatz.

Beim Rendern klont das CMS den Vorlagenteilbaum einmal für jeden aufgelösten Datensatz und stellt diesen Datensatz als aktuelles Element bereit. Andere untergeordnete Elemente im Container bleiben manuelle redaktionelle Inhalte und behalten ihre Position.

WebBlocks CMS Header Settings showing the title bound to the current Northstar journal collection item.

Welche Blöcke funktionieren mit Inhaltsquellen?

Entitätsbindungen decken derzeit Header-Titel ab; Nur-Text- und Rich-Text-Inhalte; Bildquelle, Bildunterschrift, Alternativtext und Link; Beschriftungen und URLs für Schaltflächen und Schaltflächenlinks; und den Titel, den sekundären Text, die Beschreibung und die URL des Linklistenelements.

Die Inkassounterstützung erfolgt vertragsgebunden. Kernabschnitt, Container, Stapel, Cluster, Raster und Folie können gültige direkte untergeordnete Elemente wiederholen. Slider wiederholt Slide; Columns wiederholt das Spaltenelement; Feature Grid wiederholt Feature Item oder Column Item; und Linkliste wiederholt Linklistenelement. Strukturelle Container, die ungültige Kompositionen erzeugen würden, bieten keine Sammlungsunterstützung an.

Was Plugin-Entwickler bieten

Ein aktiviertes Plugin registriert entweder eine Entitätsquelle oder eine Sammlungsquelle mit einem Namespace-Handle, einem Resolver und typisierten Felddefinitionen. Entitätsresolver geben sichere Editoroptionen und einen Datensatz für einen stabilen Schlüssel zurück. Sammlungsresolver geben iterierbare Datensätze zurück; Große Quellen können den abfragbaren Vertrag implementieren, sodass Filterung, Sortierung, Grenzwerte, Summen und Seitenfenster in der Datenbank oder der Upstream-API verbleiben.

Für eingeschränkte Daten kann eine Zugriffsrichtlinie angehängt werden. Quellen können sich auch für begrenztes Caching entscheiden und ihre zwischengespeicherten Varianten nach Domänenschreibvorgängen ungültig machen. Die Resolver-Ausgabe wird niemals zur CMS-Quelle der Wahrheit: Revisionen und Übertragungen speichern die Bindungskonfiguration und das normale redaktionelle Fallback, nicht die ausführbare Ausgabe.

Ein sichererer Fehlermodus

Der nützliche Teil dieses Designs besteht nicht nur darin, dass Daten dynamisch sein können. Das Fehlerverhalten ist explizit. Fehlende Datensätze, deaktivierte Plugins, Zugriffsverweigerung, leere Sammlungen und Resolver-Ausnahmen müssen nicht zum Entfernen der Seite führen.

Redakteure behalten einen sichtbaren Fallback, das Einstellungsfenster meldet fehlende Quellen oder Felder und der öffentliche Renderer kann weiterhin kohärente Inhalte bereitstellen, während die Integration repariert wird.

Die vollständigen Entwicklerverträge und Internal Content API-Formen finden Sie unter Content Sources and Block Field Bindings.