burnbright/silverstripe-shop-shipping

此包已被 废弃 且不再维护。作者建议使用 silvershop/shipping 包。

SilverShop 的配送方式。

安装次数: 1,143

依赖者: 0

推荐者: 0

安全: 0

星标: 1

关注者: 6

分支: 26

公开问题: 1

类型:silverstripe-vendormodule

3.0.1 2024-04-03 17:35 UTC

This package is auto-updated.

Last update: 2024-04-03 17:36:18 UTC


README

Latest Stable Version Latest Unstable Version CI Code Coverage Scrutinizer Quality Score Total Downloads

向 SilverShop 引入配送选项

安装

composer require silvershop/shipping

将 ShippingFrameWorkModifier 添加到您的修饰器配置中,例如

SilverShop\Model\Order:
  modifiers:
    - SilverShop\Shipping\ShippingFrameworkModifier

您需要使用新的 SteppedCheckout 系统以允许客户在选择配送方式之前设置他们的地址。要设置步骤,包括配送方式步骤,请将以下内容添加到您的 mysite/_config/config.yml 文件中

SilverShop\Page\CheckoutPage:
    steps:
        'membership': 'CheckoutStep_Membership'
        'contactdetails': 'CheckoutStep_ContactDetails'
        'shippingaddress': 'CheckoutStep_Address'
        'billingaddress': 'CheckoutStep_Address'
        'shippingmethod': 'CheckoutStep_ShippingMethod' #extra line for shipping method
        'paymentmethod': 'CheckoutStep_PaymentMethod'
        'summary': 'CheckoutStep_Summary'

如果已包含,请从您的 _config.php 文件中删除 SteppedCheckout::setupSteps()(SteppedCheckout::setupSteps() 创建默认结账页面步骤,不再需要上述 YAML 条目)。

要将配送估算表单添加到您的 CartPage 模板中,请将以下内容添加到您的 CartPage.ss 模板中的某个位置

    <% include ShippingEstimator %>

如果您需要一些示例表格配送数据以填充您的网站进行测试/开发,您可以运行以下任务: yoursite.tld/dev/tasks/PopulateTableShippingTask

架构

ShippingPackage 是一个用于封装配送数据的类,包括:重量、尺寸、价值、数量。

ShippingMethod 是不同类型配送计算的基类。这些可以是固定费率、基于表格的费率或一个 TableShippingMethod

TableShippingMethod 有许多 TableShippingRate,其中 TableShippingRate extends RegionRestriction。表格配送费率还包含可选的重量、体积、价值以及数量约束字段。

DistanceShippingMethod 有许多 DistanceShippingFare,并且需要存在 shop_geocoding 模块。

地区限制

RegionRestriction 类作为提供地区限制的基类。限制由国家、州和邮政编码指定。可以为每个限制提供一个价值/费率。为了工作适当的费率,查询所有匹配的限制,并按最便宜排序。

通配符 '*' 表示限制将匹配任何地区。