You are here

private function KernelEventsSubscriber::getCheckoutStepIndex in Commerce Google Tag Manager 8.2

Same name and namespace in other branches
  1. 8 src/EventSubscriber/KernelEventsSubscriber.php \Drupal\commerce_google_tag_manager\EventSubscriber\KernelEventsSubscriber::getCheckoutStepIndex()

Returns an index for the current checkout step, starting at index 1.

Parameters

\Drupal\commerce_order\Entity\OrderInterface $order: The order entity.

Return value

int Get the Checkout step number.

1 call to KernelEventsSubscriber::getCheckoutStepIndex()
KernelEventsSubscriber::onFinishRequest in src/EventSubscriber/KernelEventsSubscriber.php
Tracks an Enhanced Ecommerce checkout event.

File

src/EventSubscriber/KernelEventsSubscriber.php, line 120

Class

KernelEventsSubscriber
Event handler for Kernel events.

Namespace

Drupal\commerce_google_tag_manager\EventSubscriber

Code

private function getCheckoutStepIndex(OrderInterface $order) {
  $checkoutFlow = $this->checkoutOrderManager
    ->getCheckoutFlow($order);
  $checkoutFlowPlugin = $checkoutFlow
    ->getPlugin();
  $steps = $checkoutFlowPlugin
    ->getSteps();
  $requestedStepId = $this->routeMatch
    ->getParameter('step');
  $currentStepId = $this->checkoutOrderManager
    ->getCheckoutStepId($order, $requestedStepId);
  $currentStepIndex = array_search($currentStepId, array_keys($steps));
  if ($currentStepIndex === FALSE) {
    return 0;
  }
  return ++$currentStepIndex;
}