Shipping Classes
Добавляет поля веса, размеров и класса доставки в коллекции товаров и вариантов Payload с каноническим хранением в граммах и миллиметрах.
Установка
pnpm add payload-shipping-classes Описание
Плагин расширяет коллекции `products` и `variants` из `@payloadcms/plugin-ecommerce`, но работает с любой коллекцией, совпадающей по slug. Каждый товар и вариант получает поле `weight`, группу `dimensions` (length, width, height) и связь с коллекцией `shipping-classes`. Введённое значение сохраняется как есть, а рядом записывается скрытое значение только для чтения в фиксированной единице измерения. Вес хранится в граммах, размеры в миллиметрах. Для перевода используется экирпудный фунт (453.59237 г) и дюйм (ровно 25.4 мм) с округлением до целого. Хук `beforeChange` пересчитывает канонические значения при каждом сохранении: если в частичном обновлении поле отсутствует, берётся ранее сохранённое значение, а при очистке веса записывается `null`, а не `0`. Целочисленная арифметика исключает накопление ошибок с плавающей точкой. Вариант переопределяет измерение товара по каждому параметру отдельно. Вес `0` считается переопределением, а `null`, `undefined`, нечисловое или отрицательное значение наследуется от товара. Группа `dimensions` разрешается как единое целое: если вариант задан только `length`, он заменяет длину, ширину и высоту товара разом. Функция `resolveShippingLine` указывает источник значения через `'variant'`, `'product'` или `'none'`. Плагин экспортирует чистую функцию `totalCartShipping`, которая суммирует строки корзины и возвращает `weightGrams`, `volumeMm3`, `quantity`, `shippingClasses` и `unitsWithoutWeight`. Поле `unitsWithoutWeight` отличает корзину, где у всех позиций указан вес, от корзины с позициями без веса, что важно для расчёта стоимости доставки. Возвращается обычный JSON, поэтому потребитель может прочитать результат без установки плагина. Имена полей, slug коллекций, единицы измерения и коллекция классов доставки настраиваются через опции. Плагин не имеет runtime-зависимостей и не содержит admin-компонентов, что совместимо с минорными релизами Payload.
О пакете
- Имя пакета
payload-shipping-classes- Последняя версия
1.0.0- Размер
- 32 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 1
- Последняя публикация
- 21 авг. 2026 г.
Ещё от Poseidonas
Профиль автораBarcodes
Добавляет штрихкоды Code 128, EAN-13 и QR в коллекции товаров Payload с печатью этикеток и опциональными кнопками в админке.
AI Manager
Плагин Payload для автогенерации товарных описаний, заголовков, атрибутов и переводов через Claude, ChatGPT, Gemini или Kimi с пропуском уже сгенерированного контента.
EU VAT
Рассчитывает НДС ЕС для магазинов на Payload и записывает разбивку по каждому заказу: ставки, реверсивный заряд, проверку VIES и отчёт OSS.
Stock Reservation
Проверяет наличие варианта и цену до оплаты, резервирует остатки до подтверждения и закрывает пробелы чекаута в официальном плагине Payload ecommerce.
Stock Alerts
Отправляет письмо при падении остатков товара или варианта ниже порога, с поддержкой бэкордера и публичным полем статуса.
Shipping Rates
Добавляет зоны доставки, расчет стоимости и endpoint для quoted в магазинах на @payloadcms/plugin-ecommerce.
Похожие плагины
Ещё в категории «Коммерция»Product Reviews
Плагин добавляет в Payload v3 коллекцию reviews с оценкой от 1 до 5, модерацией статусов и данными aggregateRating для Google.
Stripe
Связывает коллекции Payload с ресурсами Stripe, обрабатывает webhook-события и проксирует вызовы API.
Tpay E-commerce Payment Adapter
Платёжный адаптер Tpay для @payloadcms/plugin-ecommerce: BLIK, банковские переводы и карты с проверкой вебхуков и учётом склада.
Google Merchant Center Ecommerce Integration
Синхронизируйте продукты из Payload CMS с Google Merchant Center.