lunarphp / table-rate-shipping
农历表率运费插件
1.0.0-beta.2
2024-09-17 08:45 UTC
Requires
- php: ^8.2
- lunarphp/lunar: 1.0.0-beta.2
- 1.x-dev
- 1.0.x-dev
- 1.0.0-beta.2
- 1.0.0-beta.1
- 1.0.0-alpha.37
- 1.0.0-alpha.36
- 1.0.0-alpha.35
- 1.0.0-alpha.34
- 1.0.0-alpha.33
- 1.0.0-alpha.32
- 1.0.0-alpha.31
- 1.0.0-alpha.30
- 1.0.0-alpha.29
- 1.0.0-alpha.28
- 1.0.0-alpha.27
- 1.0.0-alpha.26
- 1.0.0-alpha.25
- 1.0.0-alpha.24
- 1.0.0-alpha.23
- 1.0.0-alpha.22
- 1.0.0-alpha.21
- 1.0.0-alpha.20
- 1.0.0-alpha.19
- 1.0.0-alpha.18
- 1.0.0-alpha.17
- 1.0.0-alpha.16
- 1.0.0-alpha.15
- 1.0.0-alpha.14
- 1.0.0-alpha.13
- 1.0.0-alpha.12
- 1.0.0-alpha.11
- 1.0.0-alpha.10
- 1.0.0-alpha.9
- 1.0.0-alpha.8
- 1.0.0-alpha.7
- 1.0.0-alpha.6
- 1.0.0-alpha.5
- 1.0.0-alpha.4
- 1.0.0-alpha.3
- 1.0.0-alpha.2
- 1.0.0-alpha.1
- dev-1.0.0-beta
- dev-1.0.0-alpha
This package is auto-updated.
Last update: 2024-09-18 12:44:07 UTC
README
要求
- LunarPHP Admin
>
1.x
安装
通过Composer安装
composer require lunarphp/table-rate-shipping
然后在你的服务提供者中注册插件
use Lunar\Admin\Support\Facades\LunarPanel; use Lunar\Shipping\ShippingPlugin; // ... public function register(): void { LunarPanel::panel(function (Panel $panel) { return $panel->plugin(new ShippingPlugin()); })->register(); // ... }
入门指南
此插件提供了一种简单的方法,让您可以为您的商店添加不同的运费,并允许您的客户根据区域、最低消费等因素选择您设置的运费
运费方式
运费方式是指您的商店向客户发送订单的不同方式,您还可以允许客户从您的商店取货,此插件支持此功能。
运费区域
运费区域允许您将您要运输的国家/地区划分为不同的区域,为您提供一种简单的方法,为每个区域提供不同的运费方式和价格,每个区域可以通过以下方式限制:
- 邮政编码
- 国家
- 州/省(基于国家)
运费
运费是指您为每个运费区域提供的价格,它们与运费方式相关联。例如,您可能有一个快递区域运费区域和一个其他所有地区的运费区域,您可以使用相同的运费方式提供不同的定价限制。
运费排除列表
有时,您可能不想将某些物品运送到特定的运费区域,这就是排除列表发挥作用的地方。您可以关联可购买的商品到列表中,然后将该列表关联到运费区域,如果购物车包含任何这些商品,则它们将无法选择运费率。
商店使用
此插件使用Lunar核心提供的运费修改器,因此您不需要更改现有的实现。
$options = \Lunar\Base\ShippingManifest::getOptions( $cart );
高级使用
返回可用驱动器
\Lunar\Shipping\Facades\Shipping::getSupportedDrivers();
直接使用驱动器
\Lunar\Shipping\Facades\Shipping::with('ship-by')->resolve( new \Lunar\Shipping\DataTransferObjects\ShippingOptionRequest( shippingRate: \Lunar\Shipping\Models\ShippingRate $shippingRate, cart: \Lunar\Models\Cart $cart ) );
运费区域
每个方法都是可选的,添加的方法越多,限制就越严格。
$shippingZones = Lunar\Shipping\Facades\Shipping::zones() ->country(\Lunar\Models\Country $country) ->state(\Lunar\Models\State $state) ->postcode( new \Lunar\Shipping\DataTransferObjects\PostcodeLookup( country: \Lunar\Models\Country $country, postcode: 'NW1' ) )->get() $shippingZones->map(/* .. */);
运费
$shippingRates = \Lunar\Shipping\Facades\Shipping::shippingRates( \Lunar\Models\Cart $cart );
运费选项
$shippingOptions = \Lunar\Shipping\Facades\Shipping::shippingOptions( \Lunar\Models\Cart $cart );