test-magenx / module-multishipping

N/A

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:magento2-module

100.4.3 2021-10-10 22:12 UTC

README

Magento_Multishipping 模块提供了允许客户使用不同的承运商向多个地址请求配送的功能。该模块为标准结账流程提供了替代方案。

安装

有关在 Magento 2 中安装模块的信息,请参阅启用或禁用模块

结构

有关 Magento 2 中模块典型文件结构的更多信息,请参阅模块文件结构

可扩展性

开发人员可以使用类型配置功能与模块交互并更改行为。

例如,我们可以更改 paymentSpecification 用于 Magento\Multishipping\Block\Checkout\BillingMagento\Multishipping\Model\Checkout\Type\Multishipping 类。结果,我们将获得更改的行为,新的逻辑或我们业务所需的内容。

例如

<type name="Magento\Multishipping\Model\Checkout\Type\Multishipping">
     <arguments>
         <argument name="paymentSpecification" xsi:type="object">multishippingPaymentSpecification</argument>
     </arguments>
</type>

您可以在 etc/frontend/di.xml 文件中检查此配置并找到更多示例。

有关类型配置的更多信息。

扩展开发人员可以与 Magento_Multishipping 模块交互。有关 Magento 扩展机制的更多信息,请参阅Magento 插件

Magento 依赖注入机制允许您覆盖 Magento_Msrp 模块的功能。

事件

此模块观察以下事件

etc/frontend/

  • Magento\Multishipping\Observer\DisableMultishippingObserver 文件中的 checkout_cart_save_before

该模块触发以下事件

  • \Magento\Multishipping\Controller\Checkout\Success::execute() 类方法中触发 multishipping_checkout_controller_success_action 事件。参数
    • order_ids 是结账期间创建的订单 ID。
  • \Magento\Multishipping\Controller\Checkout\ShippingPost::execute() 类方法中触发 checkout_controller_multishipping_shipping_post 事件。参数
    • request 是请求对象 Magento\Framework\App\RequestInterface
    • quote 是当前结账的报价对象 Magento\Quote\Model\Quote
  • \Magento\Multishipping\Model\Checkout\Type\Multishipping::setShippingItemsInformation() 类方法中触发 checkout_type_multishipping_set_shipping_items 事件。参数
    • quote 是当前结账的报价对象 Magento\Quote\Model\Quote
  • \Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders() 类方法中触发 checkout_type_multishipping_create_orders_single 事件。参数
    • order 是用于创建 \Magento\Sales\Model\Order 的准备好的订单对象。
    • address 是地址数组。
    • quote 是当前结账的报价对象 Magento\Quote\Model\Quote
  • \Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders() 类方法中触发 checkout_submit_all_after 事件。参数
    • orders 是创建的订单对象数组 \Magento\Sales\Model\Order
    • quote 是当前结账的报价对象 Magento\Quote\Model\Quote
  • \Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders() 类方法中触发 checkout_multishipping_refund_all 事件。参数
    • orders 是创建的订单对象数组 \Magento\Sales\Model\Order

有关 Magento 2 中事件的信息,请参阅事件和观察者

布局

该模块与以下布局处理程序交互

view/frontend/layout 目录

  • checkout_cart_index

此模块引入了以下布局和处理程序

view/frontend/layout 目录

  • multishipping_checkout
  • multishipping_checkout_address_editaddress
  • multishipping_checkout_address_editbilling
  • 多配送结账地址编辑配送
  • 多配送结账地址新建账单
  • 多配送结账地址新建配送
  • 多配送结账地址选择
  • 多配送结账地址选择账单
  • 多配送结账地址
  • 多配送结账账单
  • 多配送结账客户地址
  • 多配送结账登录
  • 多配送结账概览
  • 多配送结账注册
  • 多配送结账结果
  • 多配送结账配送
  • 多配送结账成功

附加信息

访问控制列表

模块引入以下资源

  • Magento_Multishipping::config_multishipping - 多配送设置部分

有关访问控制列表规则的更多信息。

页面类型

模块引入了新的页面

etc/frontend/page_types.xml 文件。

  • checkout_cart_multishipping - 目录快速搜索表单建议
  • checkout_cart_multishipping_address_editaddress - 多配送结账单地址编辑表单
  • checkout_cart_multishipping_address_editbilling - 多配送结账账单地址编辑表单
  • checkout_cart_multishipping_address_editshipping - 多配送结账配送地址编辑表单
  • checkout_cart_multishipping_address_newbilling - 多配送结账账单地址创建
  • checkout_cart_multishipping_address_newshipping - 多配送结账配送地址创建
  • checkout_cart_multishipping_address_selectbilling - 多配送结账账单地址选择
  • checkout_cart_multishipping_addresses - 多配送结账地址(任何)表单
  • checkout_cart_multishipping_billing - 多配送结账账单信息步骤
  • checkout_cart_multishipping_customer_address - 多配送结账客户地址编辑表单
  • checkout_cart_multishipping_login - 多配送结账登录用户表单
  • checkout_cart_multishipping_overview - 多配送结账概览
  • checkout_cart_multishipping_register - 多配送结账注册用户表单
  • checkout_cart_multishipping_shipping - 多配送结账配送信息步骤
  • checkout_cart_multishipping_success - 多配送结账成功

有关布局类型的更多信息。

有关补丁版本中的重大更改信息,请参阅2.3.x 版本信息