6. Calculating shipping cost¶
Danger
We’re sorry but this documentation section is outdated. Please have that in mind when trying to use it. You can help us making documentation up to date via Sylius Github. Thank you!
Calculating shipping cost is as simple as using the sylius.shipping_calculator
service and calling calculate
method on ShippingSubjectInterface
.
Let’s calculate the cost of existing shipment.
public function myAction()
{
$calculator = $this->get('sylius.shipping_calculator');
$shipment = $this->get('sylius.repository.shipment')->find(5);
echo $calculator->calculate($shipment); // Returns price in cents. (integer)
}
What has happened?
- The delegating calculator gets the ShippingMethod from the ShippingSubjectInterface (Shipment).
- Appropriate Calculator instance is loaded, based on the ShippingMethod.calculator parameter.
- The
calculate(ShippingSubjectInterface, array $configuration)
is called, where configuration is taken from ShippingMethod.configuration attribute.