https://github.com/magesuite/in-store-pickup
This module provides the possibility to choose a DHL packstation as a delivery method. It adds an additional field to the address: Dhl Customer number
and adds a search field selecting packstation
Installation
This module is optional.
composer require "creativestyle/magesuite-in-store-pickup": "^1.0.0"
Admin settings
In Stores -> Configuration -> Sales -> Delivery Methods
a new tab - In-Store Delivery
is available.
The following options can be configured (in described scopes) :
Name | Value | Comment |
---|---|---|
Enabled | Yes/No | by default this module is disabled |
Method name | ||
Title |
| |
Price | ||
Search radius |
| |
Displayed error message |
Backend
Frontend
Frontend screens
In the checkout delivery method section a new method is displayed:
After DHL packstation is selected the address form is hidden, Dhl Customer number
is shown along with the Select packstation
button.
In the modal, it is possible to enter a postal code and select a pack station.
The address of the packstation is displayed in the shipping step of checkout.
Styling
As the module is optional styling is not provided by default. The following import must be uncommented in a child theme that inherits from theme-creativeshop, in src/entries/checkout.ts
file:
import 'MageSuite_PackstationDhl';
Scripts
magesuite-packstation-dhl/view/frontend/web/js/model/packstations-service.js
magesuite-packstation-dhl/view/frontend/web/js/view/dhl-packstation.js
magesuite-packstation-dhl/view/frontend/web/js/view/packstation-selector.js
are the most important scripts with packstation logic.
Additionally the following mixins are added to Magento checkout scripts:
mixins: { 'Magento_Checkout/js/action/select-shipping-address': { 'MageSuite_PackstationDhl/js/action/select-shipping-address-ext': true, }, 'Magento_Checkout/js/model/quote': { 'MageSuite_PackstationDhl/js/model/quote-ext': true, }, 'Magento_Checkout/js/view/shipping-information': { 'MageSuite_PackstationDhl/js/view/shipping-information-ext': true, }, },