templates/base.html.twig line 1

Open in your IDE?
  1. {% import 'app/_inc/macros.html.twig' as m %}
  2. <!DOCTYPE html>
  3. {% set path = app.request.attributes.get('_route') %}
  4. <html lang="{{ app.request.locale }}">
  5. <head>
  6.     <meta charset="UTF-8">
  7.     {% include 'app/_inc/_fonts.html.twig' %}
  8.     {% include 'app/_inc/_stats.html.twig' %}
  9.     {% block lcp %}
  10.     {% endblock %}
  11.     {% block seo %}
  12.         {% set entity = product is defined ? product :
  13.             category is defined ? category :
  14.             article is defined ? article :
  15.             page is defined ? page :
  16.             null %}
  17.         {{ seo.generate(app.request.get('_route'), app.request.locale,entity)|raw }}
  18.     {% endblock %}
  19.     {% block meta %}{% endblock %}
  20.     {% block libcss %}{% endblock %}
  21.     {% include 'app/_inc/_theme.html.twig' %}
  22.     {% block css %}{% endblock %}
  23.     <!-- Meta Pixel Code -->
  24.     <script>
  25.         !function (f, b, e, v, n, t, s) {
  26.             if (f.fbq) return;
  27.             n = f.fbq = function () {
  28.                 n.callMethod ?
  29.                     n.callMethod.apply(n, arguments) : n.queue.push(arguments)
  30.             };
  31.             if (!f._fbq) f._fbq = n;
  32.             n.push = n;
  33.             n.loaded = !0;
  34.             n.version = '2.0';
  35.             n.queue = [];
  36.             t = b.createElement(e);
  37.             t.async = !0;
  38.             t.src = v;
  39.             s = b.getElementsByTagName(e)[0];
  40.             s.parentNode.insertBefore(t, s)
  41.         }(window, document, 'script',
  42.             'https://connect.facebook.net/en_US/fbevents.js');
  43.         fbq('init', '927712669184361');
  44.         fbq('track', 'PageView');
  45.     </script>
  46.     <noscript><img height="1" width="1" style="display:none"
  47.                    src="https://www.facebook.com/tr?id=927712669184361&ev=PageView&noscript=1"
  48.         /></noscript>
  49.     <!-- End Meta Pixel Code -->
  50.     <!-- Reddit Pixel -->
  51.     <script>
  52.         // !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','t2_890e07gob');rdt('track', 'PageVisit', {conversion_id: track_vars.uniqSessionId});
  53.         !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0;var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);rdt('init','t2_890e07gob');rdt('track', 'PageVisit');
  54.     </script>
  55.     <!-- DO NOT MODIFY UNLESS TO REPLACE A USER IDENTIFIER -->
  56.     <!-- End Reddit Pixel -->
  57.     <!-- Google Tag Manager -->
  58.     <script>
  59.         (function (w, d, s, l, i) {
  60.             w[l] = w[l] || [];
  61.             w[l].push({
  62.                 'gtm.start':
  63.                     new Date().getTime(), event: 'gtm.js'
  64.             });
  65.             var f = d.getElementsByTagName(s)[0],
  66.                 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
  67.             j.async = true;
  68.             j.src =
  69.                 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  70.             f.parentNode.insertBefore(j, f);
  71.         })(window, document, 'script', 'dataLayer', 'GTM-N2C2JQFZ');
  72.     </script>
  73.     <!-- End Google Tag Manager -->
  74.     <script type="application/javascript" async src="https://static.klaviyo.com/onsite/js/Y837rU/klaviyo.js"></script>
  75.     <!-- Google tag (gtag.js) -->
  76.     <script async src="https://www.googletagmanager.com/gtag/js?id=AW-16752248477">
  77.     </script>
  78.     <script>
  79.         window.dataLayer = window.dataLayer || [];
  80.         function gtag(){dataLayer.push(arguments);}
  81.         gtag('js', new Date());
  82.         gtag('config', 'AW-16752248477');
  83.     </script>
  84.     {% if app.environment == 'prod' %}
  85.          <script type="text/javascript">
  86.             (function(c,l,a,r,i,t,y){
  87.                 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
  88.                 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
  89.                 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
  90.             })(window, document, "clarity", "script", "s0e0iygtc7");
  91.         </script>
  92.     {% endif %}
  93. </head>
  94. <body>
  95. <!-- Google Tag Manager (noscript) -->
  96. <noscript>
  97.     <iframe src=https://www.googletagmanager.com/ns.html?id=GTM-N2C2JQFZ height="0" width="0" style="display:none;visibility:hidden"></iframe>
  98. </noscript>
  99. <!-- End Google Tag Manager (noscript) -->
  100. <div id="app">
  101.     {% block header %}
  102.         {% include 'app/_inc/_header.html.twig' %}
  103.     {% endblock %}
  104.     {% block content %}{% endblock %}
  105.     {% block cursor %}
  106.         <div class="cursor">
  107.             <div class="dot-cursor"></div>
  108.         </div>
  109.     {% endblock %}
  110.     {% block zoom_img %}
  111.         <div class="modal-zoom">
  112.             <span class="close">&times;</span>
  113.             <img id="img01" class="zoomables zoom-content">
  114.         </div>
  115.     {% endblock %}
  116. </div>
  117. {% include 'app/_inc/_elts.html.twig' %}
  118. {% block footer %}
  119.     {% include 'app/_inc/_footer.html.twig' %}
  120. {% endblock %}
  121. {% block libjs %}{% endblock %}
  122. <div data-lg='{
  123.             "addWish": "{{ 'product.wish.addok'|trans }}",
  124.             "removeWish": "{{ 'product.wish.removeok'|trans }}",
  125.             "attr": "{{ 'product.errorAttr'|trans }}",
  126.             "error": "{{ 'all.error'|trans }}",
  127.             "successAdd": "{{ 'product.add.txt'|trans }}",
  128.             "close": "{{ 'all.close'|trans }}"
  129. }'></div>
  130. {% include 'app/_inc/_vars.html.twig' %}
  131. {% block basic_js %}
  132.     {{ encore_entry_script_tags('app-base-js') }}
  133.     <script>
  134.         const track_vars = {
  135.             'id': '{% if app.user %}{{ app.user.id }}{% endif %}',
  136.             'email': '{% if app.user %}{{ app.user.email }}{% endif %}',
  137.             'total_to_pay': '{% if app.session.get('cart') %}{{ app.session.get('cart').totalCart }}{% endif %}',
  138.             'total_paid': '{% if order is defined %}{{ order.total }}{% endif %}',
  139.             'currency': '{% if order is defined %}{{ order.cart.currency|currency }}{% endif %}',
  140.             'cart_products': {% if app.session.get('cart') %}{{ app.session.get('cart').products|json_encode|raw }}{% else %}[]{% endif %},
  141.             'order_products': {% if order_products is defined %}{{ order_products|json_encode|raw }}{% else %}[]{% endif %},
  142.             'order_id': '{% if order is defined %}{{ order.id }}{% endif %}',
  143.             // 'uniqSessionId': '{{ app.session.get('uniqSessionId') }}'
  144.         }
  145.         console.log('Track Vars:', track_vars);
  146.         // klaviyo.push(['identify', {
  147.         //     'email': track_vars.email
  148.         // }]);
  149.         rdt('init', 't2_890e07gob', {
  150.             email: track_vars.email,
  151.             externalId: track_vars.id
  152.         });
  153.     </script>
  154.     {{ encore_entry_script_tags('app-track-js') }}
  155. {% endblock %}
  156. {% block js %}{% endblock %}
  157. </body>
  158. </html>