Magento_Multishipping module
Magento_Multishipping module provides functionality that allows customer to request shipping to more than one address using different carriers. The module provides alternative to standard checkout flow.
Installation
For information about a module installation in Magento 2, see Enable or disable modules.
Structure
For information about a typical file structure of a module in Magento 2, see Module file structure.
Extensibility
Developers can interact with the module and change behaviour using type configuration feature.
Namely, we can change paymentSpecification
for Magento\Multishipping\Block\Checkout\Billing
and Magento\Multishipping\Model\Checkout\Type\Multishipping
classes.
As result, we will get changed behaviour, new logic or something what our business need.
For example:
Copied to your clipboard<type name="Magento\Multishipping\Model\Checkout\Type\Multishipping"><arguments><argument name="paymentSpecification" xsi:type="object">multishippingPaymentSpecification</argument></arguments></type>
Yo can check this configuration and find more examples in the etc/frontend/di.xml
file.
More information about type configuration.
Extension developers can interact with the Magento_Multishipping module. For more information about the Magento extension mechanism, see Magento plug-ins.
The Magento dependency injection mechanism enables you to override the functionality of the Magento_Msrp module.
Events
This module observes the following event:
etc/frontend/
checkout_cart_save_before
in theMagento\Multishipping\Observer\DisableMultishippingObserver
file.
The module dispatches the following events:
multishipping_checkout_controller_success_action
event in the class\Magento\Multishipping\Controller\Checkout\Success::execute()
method. Parameters:order_ids
is order ids created during checkout
checkout_controller_multishipping_shipping_post
event in the class\Magento\Multishipping\Controller\Checkout\ShippingPost::execute()
method. Parameters:request
is a request objectMagento\Framework\App\RequestInterface
.quote
is a quote object for current checkoutMagento\Quote\Model\Quote
.
checkout_type_multishipping_set_shipping_items
event in the class\Magento\Multishipping\Model\Checkout\Type\Multishipping::setShippingItemsInformation()
method. Parameters:quote
is a quote object for current checkoutMagento\Quote\Model\Quote
.
checkout_type_multishipping_create_orders_single
event in the class\Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders()
method. Parameters:order
is a prepared order object for creating\Magento\Sales\Model\Order
.address
is an address array.quote
is a quote object for current checkoutMagento\Quote\Model\Quote
.
checkout_submit_all_after
event in the class\Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders()
method. Parameters:orders
is order object array\Magento\Sales\Model\Order
that was created.quote
is a quote object for current checkoutMagento\Quote\Model\Quote
.
checkout_multishipping_refund_all
event in the class\Magento\Multishipping\Model\Checkout\Type\Multishipping::createOrders()
method. Parameters:orders
is order object array\Magento\Sales\Model\Order
that was created.
For information about an event in Magento 2, see Events and observers.
Layouts
The module interacts with the following layout handles:
view/frontend/layout
directory:
checkout_cart_index
This module introduces the following layouts and layout handles:
view/frontend/layout
directory:
multishipping_checkout
multishipping_checkout_address_editaddress
multishipping_checkout_address_editbilling
multishipping_checkout_address_editshipping
multishipping_checkout_address_newbilling
multishipping_checkout_address_newshipping
multishipping_checkout_address_select
multishipping_checkout_address_selectbilling
multishipping_checkout_addresses
multishipping_checkout_billing
multishipping_checkout_customer_address
multishipping_checkout_login
multishipping_checkout_overview
multishipping_checkout_register
multishipping_checkout_results
multishipping_checkout_shipping
multishipping_checkout_success
Additional information
ACL
Module introduces the following resources:
Magento_Multishipping::config_multishipping
- Multishipping Settings Section
More information about Access Control List rule.
Page Types
Module introduces the new pages:
etc/frontend/page_types.xml
file.
checkout_cart_multishipping
- Catalog Quick Search Form Suggestioncheckout_cart_multishipping_address_editaddress
- Multishipping Checkout One Address Edit Formcheckout_cart_multishipping_address_editbilling
- Multishipping Checkout Billing Address Edit Formcheckout_cart_multishipping_address_editshipping
- Multishipping Checkout Shipping Address Edit Formcheckout_cart_multishipping_address_newbilling
- Multishipping Checkout Billing Address Creationcheckout_cart_multishipping_address_newshipping
- Multishipping Checkout Shipping Address Creationcheckout_cart_multishipping_address_selectbilling
- Multishipping Checkout Billing Address Selectioncheckout_cart_multishipping_addresses
- Multishipping Checkout Address (Any) Formcheckout_cart_multishipping_billing
- Multishipping Checkout Billing Information Stepcheckout_cart_multishipping_customer_address
- Multishipping Checkout Customer Address Edit Formcheckout_cart_multishipping_login
- Multishipping Checkout Login User Formcheckout_cart_multishipping_overview
- Multishipping Checkout Overviewcheckout_cart_multishipping_register
- Multishipping Checkout Register User Formcheckout_cart_multishipping_shipping
- Multishipping Checkout Shipping Information Stepcheckout_cart_multishipping_success
- Multishipping Checkout Success
More information about layout types.
For information about significant changes in patch releases, see 2.3.x Release information.