commerce_signifyd-1.0.x-dev/modules/device_fingerprint/device_fingerprint.module

modules/device_fingerprint/device_fingerprint.module
<?php

/**
 * @file
 * Contains hook implementations for device_fingerprint.
 */

use Drupal\commerce_signifyd\Signifyd\Cases;

/**
 * Implements hook_page_attachments().
 */
function device_fingerprint_page_attachments(array &$attachments) {
  $carts = \Drupal::service('commerce_cart.cart_provider')->getCarts();
  $carts = array_filter($carts, function ($cart) {
    /** @var \Drupal\commerce_order\Entity\OrderInterface $cart */
    return $cart->hasItems();
  });

  if (count($carts) > 0) {
    $cart = end($carts);
    $order_session_id = Cases::getOrderSessionId($cart);
    $signifyd_javascript = 'https://cdn-scripts.signifyd.com/api/script-tag.js';
    $attachments['#attached']['html_head'][] = [
      [
        '#type' => 'html_tag',
        '#tag' => 'script',
        '#weight' => -20,
        '#attributes' => [
          'src' => $signifyd_javascript,
          'defer' => TRUE,
          'async' => TRUE,
          'id' => 'sig-api',
          'data-order-session-id' => $order_session_id,
        ],
      ],
      'signifyd_device_fingerprint',
    ];
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc