You are here

public function ShippingRatesSubscriber::onCalculate in Commerce Shipping 8.2

Doubles each shipping rate.

Parameters

\Drupal\commerce_shipping\Event\ShippingRatesEvent $event: The event.

File

tests/modules/commerce_shipping_test/src/EventSubscriber/ShippingRatesSubscriber.php, line 26

Class

ShippingRatesSubscriber

Namespace

Drupal\commerce_shipping_test\EventSubscriber

Code

public function onCalculate(ShippingRatesEvent $event) {
  $rates = $event
    ->getRates();
  $shipment = $event
    ->getShipment();
  if (empty($rates) || !$shipment
    ->getData('alter_rate')) {
    return;
  }
  $rate = reset($rates);
  $new_amount = $rate
    ->getAmount()
    ->multiply('2');
  $rate
    ->setAmount($new_amount);
}