Zum Hauptinhalt springen

Zusatzfelder-Referenz für Import und API

Diese Seite richtet sich an alle, die Einheitenartikel nicht von Hand im Adminbereich pflegen, sondern über die Shopware-API, einen Importer oder eine Warenwirtschaft befüllen.

Das Plugin legt zwei Zusatzfeld-Sets an der Entität product an:

SetAnzeigenameInhalt
neon_unitarticlesKonfiguration EinheitenartikelGrundeinstellungen, Dimension 1 und 2, Preisberechnung, Aufschläge
neon_unitarticles_additional_dimensionsEinheitenartikel (weitere Dimensionen)Dimension 3 bis 10
hinweis

Zusatzfelder sind in Shopware übersetzbar. Sie liegen an der Übersetzung des Artikels, nicht am Artikel selbst. Wenn du über die Admin-API customFields schreibst, landen die Werte in der Sprache des jeweiligen Requests. Ein Artikel, der nur in Deutsch gepflegt ist, verhält sich in einer anderen Sprache nicht als Einheitenartikel.

Grundeinstellungen

Technischer NameTypBedeutung
neon_unitarticles_isunitarticleboolAktiviert die Einheitenfunktion für diesen Artikel
neon_unitarticles_unitlabel1textMaßeinheit, zum Beispiel m
neon_unitarticles_basepricevaluefloatGrundeinheit, auf die sich der Artikelpreis bezieht
neon_unitarticles_basepricevaluelabeltextAbweichende Maßeinheit für den Grundpreis bei mehreren Dimensionen, zum Beispiel
neon_unitarticles_hidequantityselectionboolMengenfeld ausblenden, Einheit als Lagerbestand nutzen
neon_unitarticles_mergeuservaluesboolEingaben desselben Artikels im Warenkorb aufsummieren
neon_unitarticles_hidereferencepriceboolGrundpreisanzeige ausblenden

Preisberechnung

Technischer NameTypBedeutung
neon_unitarticles_pricecalculationselectBerechnungsart, siehe Werte unten
neon_unitarticles_pricecalculation_customtextEigene Formel beziehungsweise JsonLogic-Regel

Gültige Werte für neon_unitarticles_pricecalculation:

WertEntspricht
1Keine Preisberechnung
{unitvalue1}Basispreis * Einheitwert 1 + Zuschläge
{unitvalue1} * {unitvalue2}Basispreis * Einheitwert 1 * Einheitwert 2 + Zuschläge
CUSTOMEigene Preisberechnung aus neon_unitarticles_pricecalculation_custom
CUSTOM_JSONLOGICEigene Preisberechnung mit JsonLogic aus neon_unitarticles_pricecalculation_custom

Dimensionen

Die Felder der Dimensionen sind durchnummeriert. n steht für 1 bis 10; die Felder für n = 1 und 2 gehören zum Set neon_unitarticles, ab n = 3 zum Set neon_unitarticles_additional_dimensions.

Technischer NameTypBedeutung
neon_unitarticles_hasdimension{n}boolDimension aktivieren (erst ab Dimension 2 vorhanden)
neon_unitarticles_description{n}textBezeichnung, zum Beispiel Länge
neon_unitarticles_unitlabel{n}textMaßeinheit dieser Dimension — für n = 1 ist das dasselbe Feld wie die Maßeinheit oben
neon_unitarticles_minvalue{n}floatKleinster bestellbarer Wert
neon_unitarticles_maxvalue{n}floatGrößter bestellbarer Wert
neon_unitarticles_stepsize{n}textSchrittgröße
neon_unitarticles_defaultvalue{n}floatVorbelegter Wert
neon_unitarticles_excludedvalues{n}textAusgeschlossene Werte, kommagetrennt
hinweis

Die Schrittgröße ist bewusst ein Textfeld. Neben einer Zahl wie 0.5 kann sie auch eine JsonLogic-Regel enthalten — erkennbar daran, dass der Wert mit { beginnt. Damit lassen sich unterschiedliche Schrittgrößen für unterschiedliche Wertebereiche abbilden.

Aufschläge

Technischer NameTypBedeutung
neon_unitarticles_surcharge1labeltextBezeichnung des ersten Aufschlags
neon_unitarticles_surcharge1valuetextBetrag des ersten Aufschlags
neon_unitarticles_surcharge2labeltextBezeichnung des zweiten Aufschlags
neon_unitarticles_surcharge2valuetextBetrag des zweiten Aufschlags
Technischer NameTypBedeutung
neon_unitarticles_infopageselect (Entität cms_page)ID der Erlebniswelt-Seite, die im Overlay geöffnet wird
neon_unitarticles_infopage_labeltextBeschriftung neben dem Info-Symbol
neon_unitarticles_infolinktextBeliebige Adresse, öffnet in einem neuen Tab
neon_unitarticles_infolink_labeltextBeschriftung neben dem Symbol des Links

Minimalbeispiel

Ein Artikel, der von 0,5 bis 50 Meter in halben Metern verkauft wird:

{
"customFields": {
"neon_unitarticles_isunitarticle": true,
"neon_unitarticles_unitlabel1": "m",
"neon_unitarticles_basepricevalue": 1,
"neon_unitarticles_pricecalculation": "{unitvalue1}",
"neon_unitarticles_description1": "Länge",
"neon_unitarticles_minvalue1": 0.5,
"neon_unitarticles_maxvalue1": 50,
"neon_unitarticles_stepsize1": "0.5",
"neon_unitarticles_defaultvalue1": 2
}
}

Einheitenwerte in der Bestellung

Die vom Kunden eingegebenen Werte stehen in order_line_item in der Spalte payload unter dem Schlüssel neon_unitarticles:

{
"neon_unitarticles": {
"dimensions": [
{ "dimension": 1, "unitvalue": 3.0, "description": "Länge", "unitlabel": "m" }
],
"isQuantityHidden": false,
"isMergeUserValues": false,
"surcharges": []
}
}

In den Warenkorb legen

Beim Hinzufügen zum Warenkorb erwartet das Plugin die Einheitenwerte zusätzlich zu den Standardparametern:

lineItems[<Artikel-ID>][neonUnitarticleUnitValue][<Nummer der Dimension>]

Die Nummerierung der Dimensionen beginnt bei 1. Wird kein Wert übergeben, greift der hinterlegte Standardwert der jeweiligen Dimension.