Skip to main content
Der Knoten content bildet die zentrale Konfigurationsebene für alle Inhalte des Katalogs.
Hier werden die Strukturen, Felder und Einstellungen definiert, die zur Verwaltung von Produkten, Kategorien und den dazugehörigen Medien- und Attributsdaten dienen.
Zu den wichtigsten Bereichen gehören:
  • Kategorien
    Definition von Kategoriefeldern, Feldgruppen und ergänzenden Informationen zur Darstellung im Frontend.
  • Produkte
    Verwaltung von Produktfeldern, Varianten, Produkttypen und allgemeinen Produkteinstellungen.
  • Medien
    Steuerung von Bild- und Videoformaten, Speicherzielen und automatischen Konvertierungsprozessen.
  • Verknüpfungen & Erweiterungen
    Zuordnung benutzerdefinierter Felder über usedFields, Definition zusätzlicher Attribute oder Feldgruppen.
Die im Knoten content enthaltenen Konfigurationen bilden somit die Grundlage für sämtliche katalogbasierten Funktionen des Shops, von der Produktdarstellung im Frontend bis zur Datenintegration über die API. Die einzelnen Konfigurationsbereiche sind im Admin Interface unter verschiedenen Services zu finden, beispielsweise Katalog → Produkte oder Katalog → Kategorien. Sie können auch über die REST API Konfiguration bearbeitet werden.

content* - Grundstruktur

Nachfolgend der Grundaufbau des Knotens content

Parameterbeschreibungen

content.categoryField - Standard-Kategoriefelder

Dieser Knoten beschreibt die vordefinierten Systemfelder einer Kategorie. Erstellen oder Löschen zusätzlicher Felder ist an dieser Stelle nicht möglich. Je nach Feld sind bestimmte Eigenschaften editierbar, andere werden ausschließlich vom System geführt. Bestehende Werte können über das Admin Interface (Service „Katalog → Kategorien“) oder über die REST API Konfiguration geändert werden, sofern das jeweilige Feld editierbar ist. Systemverwaltete Felder wie beispielsweise Timestamps sind schreibgeschützt.

Beispielkonfiguration content.categoryField.descr

In diesem Beispiel wurde das Feld descr als Kategorie-Beschreibungsfeld definiert, das redaktionell gepflegt werden kann. Es ist nicht suchrelevant und kein Pflichtfeld.

Parameterübersicht

content.categoryFieldGroup - Kategoriefeldgruppen

Der Knoten content.categoryFieldGroup dient zur logischen Gruppierung von Kategoriefeldern innerhalb des Katalogs. Da in umfangreichen Shops eine große Anzahl individueller Kategorie-Felder existieren kann, lassen sich diese hier in thematische Gruppen zusammenfassen, etwa für SEO-Daten, Bilder, Marketinginhalte oder Stammdaten. Die Gruppierung erleichtert die Übersichtlichkeit im Admin Interface und sorgt dafür, dass Felder strukturiert dargestellt werden. Eine Feldgruppe kann mehrere bestehende Felder referenzieren. Neue Gruppen können aktuell nur über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.categoryFieldGroup.robots

Parameterübersicht

content.contentFieldDataTypes - Datentypen (oneOf)

Der Typ contentFieldDataTypes definiert, welcher Datentyp type einem Produkt- und/oder Kategoriedatenfeld zugewiesen wird. Dadurch stellt WEBSALE einheitliche, validierbare Felddefinitionen für Kategorien und Produkte zur Verfügung, beispielsweise „Text mit max. Länge“, „Ganzzahl mit Min/Max“ oder „Auswahlliste“. Es gilt das oneOf-Prinzip: Genau ein Datentyp ist aktiv, alle anderen Typobjekte sind nicht gesetzt, also null oder nicht vorhanden.

Beispielkonfiguration für die Zuweisung von Datentypen type bei einem Datenfeld

Überblick der verfügbaren Datentypen

int?, uint?, float?, string? bedeuten optional. Wird die Eigenschaft nicht gesetzt, gilt „keine zusätzliche Einschränkung“.

Details & Parametertabellen je Typ

bool

Beispiel

Parameterübersicht

dateTime

Beispiel

Parameterübersicht

enumeration

Beispiel - Produktzuordnungstyp

Parameterübersicht

float

Beispiel: Gewicht in kg

Parameterübersicht

image

Beispiel

Parameterübersicht

integer

Beispiel: Bereich -100 bis 100

Parameterübersicht

list

Beispiel: maximal 20 Einträge

Parameterübersicht

map

Beispiel: Key-Value-Struktur für Eigenschaften

Parameterübersicht

multiFormatImage

Beispiel: zwei Ausgabeformate

Parameterübersicht

price

Beispiel

Parameterübersicht

Hinweis: Währung, Steuerkontext und Rundungslogik werden außerhalb dieses Typs konfiguriert. Siehe → general - Allgemeine Shopeinstellungen
Ein Feld vom Typ price trägt neben dem Standardpreis geplante Aktionspreise mit einem Von-Bis-Zeitraum. Im Template liefert das Feld immer den zum Aufrufzeitpunkt gültigen Preis, den Standardpreis liefert rawPrice. Wie diese Preise gepflegt und ausgeliefert werden, beschreiben die Abschnitte Preis eines Produkts und Zeitgesteuerte Preise (Aktionspreise). Im Suchindex wird ausschließlich der Standardpreis abgelegt.

text

Beispiel: SEO-Text mit Volltextsuche

Parameterübersicht

uinteger

Beispiel: nur nichtnegative Werte

Parameterübersicht

video

Beispiel

Parameterübersicht

content.customCategoryField - Benutzerdefinierte Kategoriefelder

Über den Knoten content.customCategoryField werden zusätzliche, frei definierbare Felder angelegt, die zur Beschreibung von Kategorien im Katalog genutzt werden können. Damit lassen sich individuelle Informationen an Kategorien hinterlegen, etwa Texte, Bilder, SEO-Metadaten oder technische Eigenschaften. Diese können im Frontend oder in externen Systemen angezeigt oder weiterverarbeitet werden, beispielsweise in Warenwirtschaft, Suchindex oder PIM. Diese Felder ergänzen die festen Standardfelder aus content.categoryField und ermöglichen eine flexible Erweiterung der Kategoriestruktur. Neue Felder können entweder über das Admin Interface im Service „Katalog → Kategorien“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.customCategoryField.image

Parameterübersicht

Auch Kategoriefelder vom Typ price können geplante Aktionspreise tragen. Aufbau und Wirkung sind im Abschnitt Zeitgesteuerte Preise (Aktionspreise) beschrieben.

content.customProductField - Benutzerdefinierte Produktfelder

Über den Knoten content.customProductField werden zusätzliche, frei definierbare Felder für Produkte angelegt. Diese Felder ermöglichen es, individuelle Produktinformationen zu erfassen, die über die Standardfelder hinausgehen, etwa Materialien, technische Eigenschaften, zusätzliche Texte, Medieninhalte oder Marketingattribute. So können produktrelevante Zusatzdaten gepflegt werden, die im Frontend, im Suchindex oder in externen Systemen verwendet werden, beispielsweise in PIM, ERP oder WaWi. Neue Felder können entweder über das Admin Interface im Service „Katalog → Produkte“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.customProductField.material

Parameterübersicht

Felder vom Typ price können geplante Aktionspreise mit einem Von-Bis-Zeitraum tragen. Wie diese Preise über die Schnittstelle gepflegt und ausgeliefert werden, beschreibt der Abschnitt Zeitgesteuerte Preise (Aktionspreise). Im Suchindex wird ausschließlich der Standardpreis abgelegt.

content.imageFormat - Bildformate & Konvertierungseinstellungen

Über den Knoten content.imageFormat werden Bildformate und zugehörige Konvertierungsregeln definiert, die vom System beim Import, bei der automatischen Umwandlung oder bei der Ausgabe von Produkt-, Kategorie- oder CMS-Bildern verwendet werden. Ein Bildformat beschreibt, wie ein Bild verarbeitet, geprüft, gespeichert und benannt wird.
Dazu gehören Einstellungen für Skalierung, Zuschnitt, Dateigröße, DPI-Grenzen, Ausgabeordner und Kompressionsqualität.
Neue Bildformate können entweder über das Admin Interface im Service „Templates und Content → Bildkonverter“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.imageFormat.normal

Dieses Beispiel definiert ein Standard-Bildformat für Produktbilder mit 600 × 660 px, Weiß als Hintergrund, JPG-Ausgabequalität 75 %, und automatischem Speichern unter products/normal.

Parameterübersicht

content.inserts - Werbemittelkennzeichen

Der Knoten content.inserts steuert die Werbemittelkennzeichnung des Shops. Werbemittelkennzeichen (auch Werbemittelcodes genannt) ordnen Bestellpositionen einem Werbemittel wie beispielsweise einem Katalog, einer Anzeige oder einem Mailing zu und werden an die Produktnummer angehängt (beispielsweise 123456-09). Es handelt sich um einen Singleton-Knoten, der die gesamte Funktion global schaltet und ihr Anzeigeverhalten festlegt. Welche Codes für ein einzelnes Produkt gültig sind, wird nicht hier, sondern über das Produktfeld validInsertCodes gepflegt (siehe content.usedFields). Die Einstellungen können über die REST API Konfiguration erstellt und bearbeitet werden.

Beispielkonfiguration content.inserts

In diesem Beispiel ist die Werbemittelkennzeichnung aktiv. Der Code wird mit einem Bindestrich hinter die Produktnummer gesetzt (beispielsweise 123456-09). Weil kein Standardcode hinterlegt ist, erhalten Positionen ohne gültigen Code kein Kennzeichen. Weil ein Trennzeichen gesetzt ist, spielt insertCodeLength keine Rolle.

Parameterübersicht

content.inventory - Lagerverwaltung & Bestandsmeldungen

Der Knoten content.inventory steuert die Lagerbestandsverwaltung des Shops sowie die Kommunikation bei geringen oder ausverkauften Beständen. Er definiert, ab welchen Grenzwerten Produkte als verfügbar, niedrig oder nicht lieferbar gelten, und welche Texte oder E-Mail-Benachrichtigungen in diesen Fällen verwendet werden. Darüber hinaus können automatische E-Mails an Verantwortliche oder Kundinnen und Kunden konfiguriert werden, beispielsweise bei niedrigen Lagerbeständen oder wenn ein Artikel wieder verfügbar ist. Neue Grenzen und Bestandsmeldungen können über die REST API Konfiguration erstellt werden.
Die Statustexte textGreen, textYellow, textRed und textRedOrder sowie die zugehörigen Grenzwerte gelten als globale Voreinstellung für alle Produkte. Im Admin Interface kann pro Produkt im Abschnitt Lagerbestand zwischen nach globalen Einstellungen und individuelle Einstellungen gewählt werden. Bei individuelle Einstellungen überschreibt der am Produkt gepflegte Liefertext den globalen Wert. Der über $wsInventory.load().deliveryText ausgegebene Text entspricht dem für das jeweilige Produkt aktiven Wert.

Beispielkonfiguration content.inventory

In diesem Beispiel ist die Lagerbestandsüberwachung aktiv. Sobald der Bestand unter 50 Stück fällt, wird die gelbe Warnstufe angezeigt, und ab 0 Stück gilt der Artikel als ausverkauft. Zudem werden automatische Benachrichtigungen an den Lagerverantwortlichen und an Kundinnen und Kunden beim Wiedereintreffen aktiviert.

Parameterübersicht

minStockForMail ist unabhängig von den Status-Grenzen (greenYellowBorder und yellowRedBorder). Die „Wieder verfügbar”-E-Mail wird ausgelöst, sobald der absolute Bestand den Wert minStockForMail erreicht, auch wenn sich der angezeigte Status (rot/gelb/grün) dabei nicht ändert.Beispiel: Ein Produkt hat die Grenzen Rot 0 bis 10, Gelb 10 bis 20 und Grün ab 20. minStockForMail ist 15.
  • Steigt der Bestand von 0 auf 11, wechselt der Status von Rot auf Gelb. Es wird noch keine E-Mail versendet, da der Mindestbestand 15 nicht erreicht ist.
  • Steigt der Bestand danach von 11 auf 15, ändert sich der Status nicht, die E-Mails werden aber versendet, weil der Mindestbestand jetzt erreicht ist.

content.productField - Standard-Produktdatenfelder

Über den Knoten content.productField werden die vordefinierten Standardfelder der Produktdaten beschrieben. Diese Felder bilden die feste technische Basis für alle Produkte und können nicht gelöscht oder neu angelegt werden. Sie definieren, welche Eigenschaften jedes Produkt im System besitzt, etwa Name, Preis, Beschreibung oder Steuerinformationen. Je nach Feld kann festgelegt werden, ob es manuell editierbar, suchrelevant oder variantenspezifisch ist. Neue, zusätzliche Felder können nicht über diesen Knoten erstellt werden. Hierfür steht der separate Knoten content.customProductField zur Verfügung. Bestehende Werte können über das Admin Interface (Service „Katalog → Produkte“) oder über die REST API Konfiguration geändert werden, sofern das jeweilige Feld editierbar ist. Systemverwaltete Felder wie beispielsweise Timestamps sind schreibgeschützt.

Beispielkonfiguration content.productField.name

Dieses Beispiel zeigt das Standardfeld name, das für alle Produkte vorhanden ist. Es ist suchrelevant, Pflichtfeld und variantenspezifisch. Die maximale Länge beträgt 255 Zeichen.
Das Standardfeld price ist vom Typ price und trägt damit neben dem Standardpreis geplante Aktionspreise. Wie diese gepflegt und ausgeliefert werden, beschreibt der Abschnitt Zeitgesteuerte Preise (Aktionspreise).

Parameterübersicht

content.productSettings - Allgemeine Produkteinstellungen

Der Knoten content.productSettings enthält allgemeine Einstellungen, die das Verhalten der Produktdarstellung und -kennzeichnung im Shop beeinflussen. Aktuell umfasst dieser Abschnitt insbesondere die Definition, wie lange ein Produkt als „neu“ markiert werden soll. Die Settings können über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.productSettings

In diesem Beispiel werden Produkte für 14 Tage nach ihrer Erstellung als neu gekennzeichnet.
Nach Ablauf dieser Frist entfällt die Kennzeichnung automatisch.

Parameterübersicht

content.productType - Produkttypen

Der Knoten content.productType dient zur Definition von Produkttypen, über die sich unterschiedliche Produktarten im System klassifizieren lassen. Produkttypen können verwendet werden, um Funktionen, Prozesse oder Darstellungslogiken abhängig vom Typ zu steuern, beispielsweise zur Unterscheidung zwischen physischen Produkten, digitalen Gütern oder Dienstleistungen. Jeder Produkttyp besitzt eine eindeutige ID und einen Namen, der im Admin Interface angezeigt wird. Neue Produkttypen können über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.productType.digital

In diesem Beispiel wird der Produkttyp „Digital“ mit der technischen ID digital definiert.
Er kann anschließend bei Produkten verwendet werden, um beispielsweise digitale Inhalte von physischen Waren zu unterscheiden.

Parameterübersicht

content.usedFields - Zuordnung benutzerdefinierter Felder

Der Knoten content.usedFields legt fest, welche benutzerdefinierten Felder (customCategoryField / customProductField) im Shopsystem aktiv für bestimmte Funktionsbereiche genutzt werden. Damit wird definiert, welche Custom-Felder im Frontend oder im Backend für SEO, Metadaten, Cross-Selling, Rabatte, Gutscheine usw. herangezogen werden. Das bedeutet:
Ein hier hinterlegter Verweis wie "metaTitle": "content.customProductField.metaTitle"
definiert, welches benutzerdefinierte Feld tatsächlich das SEO-Titel-Feld für Produkte ist.
Dadurch können Administratoren und Entwickler individuelle Felder flexibel in die Systemlogik einbinden, ohne dass feste Systemfelder nötig sind. Die Zuordnung kann über die REST API Konfiguration erstellt und bearbeitet werden.

Beispielkonfiguration content.usedFields

In diesem Beispiel sind bestimmte Custom-Felder für SEO, Preise, Gewicht, Gutscheine und Cross-Selling explizit zugeordnet. Andere Felder wie bestPrice oder defaultSort bleiben ungenutzt (null). Für crossSelling sind im Beispiel zwei Produktfelder hinterlegt. Wie orderExportFields nimmt dieser Eintrag eine Liste auf, die übrigen Zuordnungen erwarten jeweils genau ein Feld.
Jedes Produktfeld in crossSelling erscheint im Admin-Interface auf der Produktdetailseite als eigene Cross-Selling-Liste. So lassen sich verschiedene Arten von Produktverweisen getrennt pflegen, beispielsweise Zubehör in einem Feld und Alternativprodukte in einem anderen.Früher nahm crossSelling genau ein Produktfeld als einzelnen Wert auf. Bestehende Konfigurationen mit einem einzelnen Wert wandelt der Shop bei der Aktualisierung automatisch in eine Liste mit diesem einen Eintrag um. Wer den Knoten über die REST API schreibt, übergibt den Wert als Array, auch wenn nur ein Feld zugeordnet ist.
Der Slot setOrgPrice ist entfallen. Der Referenzpreis eines Set-Produkts wird nicht mehr in einem Produktfeld gespeichert, sondern bei jedem Aufruf berechnet. Im Template steht er als setOrgPrice am Produktobjekt zur Verfügung, siehe Preise von Set-Produkten.

Parameterübersicht

content.videoSettings - Videoeinstellungen für Produkte und Kategorien

Der Knoten content.videoSettings definiert die allgemeinen Parameter für den Upload und die Ablage von Videodateien, die in Produkt- oder Kategorieinhalten verwendet werden.
Hierüber wird festgelegt, welche Formate zulässig sind, wie groß eine Videodatei maximal sein darf, und in welchen Zielverzeichnissen Videos gespeichert werden.
Diese Einstellungen greifen sowohl bei manuellen Uploads im Admin Interface als auch bei automatisierten Datenimporten. Neue und bestehende Einstellungen können über das Admin Interface (Service „Sonstige Module → Videos“) oder über die REST API Konfiguration bearbeitet werden.

Beispielkonfiguration content.videoSettings

Parameterübersicht