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.
For information about a module installation in Magento 2, see Enable or disable modules.
For information about a typical file structure of a module in Magento 2, see Module file structure.
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:
<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.
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.
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
Module introduces the following resources:
Magento_Multishipping::config_multishipping
- Multishipping Settings Section
More information about Access Control List rule.
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.