You are here

public function EventTrackerService::addToCart in Commerce Google Tag Manager 8.2

Same name and namespace in other branches
  1. 8 src/EventTrackerService.php \Drupal\commerce_google_tag_manager\EventTrackerService::addToCart()

Track the "addToCart" event.

Parameters

\Drupal\commerce_order\Entity\OrderItemInterface $order_item: The oder item added to the cart.

int $quantity: Quantity added to cart.

File

src/EventTrackerService.php, line 173

Class

EventTrackerService
Track different events from Google's Enhanced Ecommerce.

Namespace

Drupal\commerce_google_tag_manager

Code

public function addToCart(OrderItemInterface $order_item, $quantity) {
  $product = $this
    ->buildProductFromOrderItem($order_item);
  $data = [
    'event' => self::EVENT_ADD_CART,
    'ecommerce' => [
      'currencyCode' => $order_item
        ->getTotalPrice()
        ->getCurrencyCode(),
      'add' => [
        'products' => [
          array_merge($product
            ->toArray(), [
            'quantity' => $quantity,
          ]),
        ],
      ],
    ],
  ];
  $this->eventStorage
    ->addEvent($data);
}