Skip to content

ShippingMethods ​

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\ShippingMethods » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
2.0

Shipping method service.

View source

Public Properties ​

PropertyDescription
allShippingMethodscraft\commerce\models\ShippingMethod[] – the Commerce managed and 3rd party shipping methods
behaviorsyii\base\Behavior – List of behaviors attached to this component.

allShippingMethods ​

Type
craft\commerce\models\ShippingMethod[]
Default value
null

the Commerce managed and 3rd party shipping methods

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
deleteShippingMethodById()Delete a shipping method by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllShippingMethods()Returns the Commerce managed shipping methods stored in the database.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getMatchingShippingMethods()Get all available shipping methods to the order.
getMatchingShippingRule()Get a matching shipping rule for Order and shipping method.
getShippingMethodByHandle()Get a shipping method by its handle.
getShippingMethodById()Get a shipping method by its ID.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
saveShippingMethod()Save a shipping method.
trigger()Triggers an event.

deleteShippingMethodById() ​

Delete a shipping method by its ID.

View source

Arguments ​

Returns ​

boolean

Throws ​

getAllShippingMethods() ​

Returns the Commerce managed shipping methods stored in the database.

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection<\craft\commerce\models\ShippingMethod>

Throws ​

getMatchingShippingMethods() ​

Get all available shipping methods to the order.

View source

Arguments ​

  • $order

Returns ​

craft\commerce\models\ShippingMethod[]

getMatchingShippingRule() ​

Get a matching shipping rule for Order and shipping method.

View source

Arguments ​

  • $order
  • $method

getShippingMethodByHandle() ​

Get a shipping method by its handle.

View source

Arguments ​

  • $shippingMethodHandle
  • $storeId

getShippingMethodById() ​

Get a shipping method by its ID.

View source

Arguments ​

  • $shippingMethodId
  • $storeId

saveShippingMethod() ​

Save a shipping method.

View source

Arguments ​

  • $model
  • $runValidation (boolean) – Should we validate this method before saving.

Throws ​

Protected Methods ​

MethodDescription
clearCache()

clearCache() ​

Since
5.0.0

View source

Returns ​

void

Events ​

EVENT_REGISTER_AVAILABLE_SHIPPING_METHODS ​

Type
craft\commerce\services\RegisterShippingMethods

The event that is triggered for registration of additional shipping methods.

This example adds an instance of MyShippingMethod to the event object’s shippingMethods array:

php
use craft\events\RegisterComponentTypesEvent;
use craft\commerce\services\ShippingMethods;
use yii\base\Event;

Event::on(
    ShippingMethods::class,
    ShippingMethods::EVENT_REGISTER_AVAILABLE_SHIPPING_METHODS,
    function(RegisterComponentTypesEvent $event) {
        $event->shippingMethods[] = MyShippingMethod::class;
    }
);