templates/premium-lite/premium-lite-sgtm.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>{% block title %}Welcome!{% endblock %}</title>
  6.     <link rel="icon"
  7.           href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text></svg>">
  8.     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"
  9.           integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
  10.     <script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"
  11.             integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
  12.             crossorigin="anonymous"></script>
  13.     <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js"
  14.             integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF"
  15.             crossorigin="anonymous"></script>
  16.     {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
  17.     {#
  18.     {% block stylesheets %}
  19.         {{ encore_entry_link_tags('app') }}
  20.     {% endblock %}
  21.     {% block javascripts %}
  22.         {{ encore_entry_script_tags('app') }}
  23.     {% endblock %}
  24.     #}
  25.     {# Axeptio TCF API #}
  26.     <script>
  27.         window.axeptioSettings = {
  28.             clientId: "66137db6ae83de5e566cfc53",
  29.             cookiesVersion: "first-id sandbox-fr-EU",
  30.         };
  31.         (function (d, s) {
  32.             var t = d.getElementsByTagName(s)[0],
  33.                 e = d.createElement(s);
  34.             e.async = false;
  35.             e.src = "//static.axept.io/tcf/sdk.js";
  36.             e.type = "module";
  37.             t.parentNode.insertBefore(e, t);
  38.         })(document, "script");
  39.     </script>
  40.     {# End Axeptio TCF API #}
  41.     <!-- Google Tag Manager -->
  42.     <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  43.     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  44.     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  45.     'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  46.     })(window,document,'script','dataLayer','GTM-5VL52TTX');</script>
  47.     <!-- End Google Tag Manager -->
  48. </head>
  49. <body>
  50. <noscript>
  51.     <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5VL52TTX"
  52.             height="0" width="0" style="display:none;visibility:hidden"></iframe>
  53. </noscript>
  54. <nav class="navbar navbar-expand-lg navbar-light bg-light">
  55.     <a class="navbar-brand" href="{{ path('app_index') }}">{{ site_name }}</a>
  56.     <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
  57.             aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  58.         <span class="navbar-toggler-icon"></span>
  59.     </button>
  60. </nav>
  61. <div class="container">
  62.     <div class="row">
  63.         <div class="col-md-12">
  64.             <p>Premium Lite will be loader by GTM web and redirect to Server Side GTM before return here</p>
  65.         </div>
  66.     </div>
  67.     <div class="row">
  68.         <div class="col-md-12">
  69.             <h3>First ID : <span id="firstid"></span></h3>
  70.         </div>
  71.     </div>
  72.     {% block body %}{% endblock %}
  73. </div>
  74. </body>
  75. <script>
  76.     function getCookieValueFromCookieName(cookieName) {
  77.         let cookieArr = document.cookie.split(";");
  78.         for (let i = 0; i < cookieArr.length; i++) {
  79.             let cookiePair = cookieArr[i].split("=");
  80.             if (cookieName === cookiePair[0].trim()) {
  81.                 return decodeURIComponent(cookiePair[1]);
  82.             }
  83.         }
  84.         return null;
  85.     }
  86.     let interval = undefined
  87.     function updateFid() {
  88.         let fid = getCookieValueFromCookieName('firstid')
  89.         if (fid) {
  90.             if (interval) {
  91.                 clearInterval(interval)
  92.             }
  93.             $('#firstid').text(fid)
  94.         } else {
  95.             $('#firstid').text('No First ID cookie find.')
  96.         }
  97.     }
  98.     interval = setInterval(updateFid, 1000)
  99.     document.addEventListener('firstId:new', (event) => console.log('New first id:', event.detail));
  100.     document.addEventListener('firstId:initialized', (event) => {
  101.         console.log('First id initialized:', event.detail)
  102.     });
  103. </script>
  104. </html>