Custom offline shipping methods
Magento provides several out-of-the-box offline shipping methods, such as Flatrate
, Freeshipping
, Pickup
, and Tablerate
. We can see those in the vendor/magento/module-offline-shipping/Model/Carrier
directory.
However, project requirements quite often are such that we need a custom coded shipping method where a special business logic is applied. Thus, the shipping price calculation can be controlled by us. In such cases, knowing how to code our own offline shipping method might come in handy.
Let's go ahead and create a small module called Foggyline_Shipbox
that provides Magento an extra offline shipping method.
Start by creating a module registration file named app/code/Foggyline/Shipbox/registration.php
with partial content, as follows:
\Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Foggyline_Shipbox', __DIR__ );
Then, create an app/code/Foggyline/Shipbox/etc/module.xml
file with...