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 m²
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.