Shipping Classes

Erweitert Payload-Produkte und -Varianten um Gewicht, Abmessungen und Versandklassen, mit kanonischen Werten in Gramm und Millimetern.

Community 1 1/Wo. MIT v1.0.0

Installation

pnpm add payload-shipping-classes

Über

Das Plugin erweitert die `products`- und `variants`-Collections von `@payloadcms/plugin-ecommerce` um ein Gewichtsfeld, eine Dimensionsgruppe (Länge, Breite, Höhe) und eine Relation zur `shipping-classes`-Collection. Es funktioniert mit jeder Produkt-Collection, die diese Slugs verwendet. Der eingegebene Wert bleibt in der ursprünglichen Einheit erhalten. Ein zweites, verdecktes Feld speichert den kanonischen Wert: Gewicht in Gramm, Abmessungen in Millimetren. Die Umrechnung nutzt das Avoirdupois-Pfund (453,59237 g) und das Zoll (exakt 25,4 mm), gerundet auf ganze Zahlen. Ein `beforeChange`-Hook berechnet die kanonischen Werte bei jedem Speichern neu. Wenn ein partieller Update den Wert nicht enthält, liest der Hook den gespeicherten Wert. Wenn das eingegebene Gewicht gelöscht wird, setzt der Hook den kanonischen Wert auf `null` statt auf `0`. Die Ganzzahlarithmetik verhindert Float-Drift. Eine Variante überschreibt die Produktmesswerte einzeln. Ein Variantengewicht von `0` ist ein Override, kein Fallthrough. Nur `null`, `undefined`, eine Nicht-Zahl oder eine negative Zahl führt zum Fallthrough an das Produkt. Die Dimensionsgruppe wird als Ganzes aufgelöst, nicht pro Seite. Wenn eine Variante nur `length` setzt, überschreibt sie Länge, Breite und Höhe des Produkts zusammen. `resolveShippingLine` gibt an, woher jeder Wert stammt: `'variant'`, `'product'` oder `'none'`. Der Plugin exportiert eine reine `totalCartShipping`-Funktion. Sie summiert die Zeilen eines Warenkorbs zu `weightGrams`, `volumeMm3`, `quantity`, `shippingClasses` und `unitsWithoutWeight`. Letzteres Feld unterscheidet einen Warenkorb, bei dem alle Artikel gewogen wurden, von einem mit fehlenden Gewichtsangaben. Das Ergebnis ist ein Plain-JSON-Objekt, das ohne Installation des Packages ausgelesen werden kann. Fieldnamen, Collection-Slugs, Einheiten und die Versandklassen-Collection sind konfigurierbar. Der Plugin hat keine Runtime-Dependencies und keine Admin-Komponenten.

Paketinformationen

Paketname
payload-shipping-classes
Neueste Version
1.0.0
Entpackte Größe
32 kB
Lizenz
MIT
Wöchentliche Downloads
1
Zuletzt veröffentlicht
21. Aug. 2026

Mehr von Poseidonas

Profil ansehen

Ähnliche Plugins

Mehr in Commerce