templates/base_frontend.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  5.     <meta content="width=device-width,initial-scale=1.0" name="viewport">
  6.     <meta name="keywords" content="{% block meta_keywords %}{% endblock %}"/>
  7.     <meta name="description" content="{% block meta_desc %}{{ 'seo.base.desc'|trans({}, "seo") }}{% endblock %}"/>
  8.     <link rel="alternate" hreflang="fr-FR" href="https://vpauto.fr/"/>
  9.     <link rel="alternate" hreflang="fr-BE" href="https://vpauto.be/fr"/>
  10.     <link rel="alternate" hreflang="nl-BE" href="https://vpauto.be/nl"/>
  11.     <link rel="alternate" hreflang="de-DE" href="https://vpauto.de/"/>
  12.     <link rel="alternate" hreflang="es-ES" href="https://vp-auto.es/"/>
  13.     <link rel="alternate" hreflang="en-GB" href="https://vpauto.eu/"/>
  14.     <link rel="alternate" hreflang="it-IT" href="https://vpauto.it/"/>
  15.     <link rel="alternate" hreflang="nl-NL" href="https://vpauto.nl/"/>
  16.     <link rel="alternate" hreflang="pl-PL" href="https://vpauto.pl/"/>
  17.     <link rel="alternate" hreflang="pt-PT" href="https://vpauto.pt/"/>
  18.     <link rel="alternate" hreflang="ro-RO" href="https://vpauto.ro/"/>
  19.     {% if getParameter('google.verif_tag.enabled') == 1 %}
  20.         {% if is_current_country(constant('App\\Twig\\Extension\\CountryExtension::COUNTRY_PORTUGAL')) %}
  21.             <meta name="google-site-verification" content="mgE76KfgJtP-c-1JpmyDvccnpXNANXOoTmzp613ybLE"/>
  22.         {% else %}
  23.             <meta name="google-site-verification" content="iObf0KcGVor6shoX2qISqWA0ie96D3GYJaGIPBaWuaQ"/>
  24.         {% endif %}
  25.     {% endif %}
  26.     {% if getParameter('bing.verif_tag.enabled') == 1 %}
  27.         <meta name="msvalidate.01" content="063E8943A52FC508233A131E25FFE8C6"/>
  28.     {% endif %}
  29.     {% if is_current_country(constant('App\\Twig\\Extension\\CountryExtension::COUNTRY_FRANCE')) %}
  30.         <meta name="facebook-domain-verification" content="06ty1i8p3oh00l4pbguaihga4h5s6y" />
  31.     {% endif %}
  32.     {% if getParameter('cookiebot.id') %}
  33.         <script id="Cookiebot" src="https://consent.cookiebot.com/uc.js"
  34.                 data-cbid="{{ getParameter('cookiebot.id') }}"
  35.                 type="text/javascript" async></script>
  36.     {% endif %}
  37.     {% if getParameter('matomo.url') and getParameter('matomo.id') %}
  38.         <!-- Matomo -->
  39.         <script type="text/plain" data-cookieconsent="statistics">
  40.             var _paq = window._paq = window._paq || [];
  41.             /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  42.             _paq.push(['trackPageView']);
  43.             _paq.push(['enableLinkTracking']);
  44.             (function() {
  45.                 var u="{{ getParameter('matomo.url') }}";
  46.                 _paq.push(['setTrackerUrl', u+'matomo.php']);
  47.                 _paq.push(['setSiteId', '{{ getParameter('matomo.id') }}']);
  48.                 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
  49.                 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  50.             })();
  51.         </script>
  52.         <!-- End Matomo Code -->
  53.     {% endif %}
  54.     {% if sentry_dsn %}
  55.         <script src="https://browser.sentry-cdn.com/5.17.0/bundle.min.js" integrity="sha384-lowBFC6YTkvMIWPORr7+TERnCkZdo5ab00oH5NkFLeQUAmBTLGwJpFjF6djuxJ/5" crossorigin="anonymous"
  56.                 type="text/plain" data-cookieconsent="statistics"></script>
  57.         <script type="text/plain" data-cookieconsent="statistics">Sentry.init({ dsn: '{{ sentry_dsn }}' });</script>
  58.     {% endif %}
  59.     {% block meta_robot %}
  60.         {% if is_current_website('ecat')
  61.         or (app.request.locale not in get_country_proposed_locales(current_country)
  62.         and app.request.locale != get_country_default_locale(current_country))%}
  63.             <meta name="robots" content="noindex, nofollow">
  64.         {% endif %}
  65.     {% endblock %}
  66.     {% block meta_adaptime %}{% endblock %}
  67.     {% block meta_social %}{% endblock %}
  68.     <title>{% block meta_title %}{{ 'seo.base.title'|trans({}, "seo") }}{% endblock %}</title>
  69. {#    <link rel="stylesheet" href="{{ asset('bundles/vpauto-assets/sass/base.scss') }}"/>#}
  70.     <link rel="stylesheet" href="{{ asset('styles/app.scss') }}"/>
  71.     {% block stylesheets %}
  72.         <link rel="stylesheet" href="{{ asset('bundles/vpauto/js/lib/fancybox/jquery.fancybox.css') }}"/>
  73.         <link rel="stylesheet" href="{{ asset('bundles/vpauto/js/lib/owlcarousel/owl.carousel.min.css') }}"/>
  74.         <link rel="stylesheet" href="{{ asset('bundles/vpauto/frontend/css/jquery.filer.css') }}"/>
  75.         <link rel="stylesheet" href="{{ asset('bundles/vpauto/frontend/css/jquery.filer-dragdropbox-theme.css') }}"/>
  76.         <link rel="stylesheet" href="{{ asset('styles/print.scss') }}"/>
  77.         <link href="{{ asset('bundles/vpauto/frontend/css/rating.css') }}" rel="stylesheet" type="text/css"/>
  78.         <link rel="stylesheet" href="{{ asset('styles/app-ecat.scss') }}"/>
  79.     {% endblock %}
  80.     <link rel="shortcut icon" type="image/gif"
  81.           href="{{ asset(app.request.scheme ~ '://' ~ app.request.httpHost ~ '/bundles/vpauto/frontend/images/favicon.gif') }}"/>
  82.     <!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="{{ asset(app.request.scheme ~ '://' ~ app.request.httpHost ~ '/bundles/vpauto/frontend/images/favicon.ico') }}" /><![endif]-->
  83.     <!--[if IE 6]>
  84.     <link rel="stylesheet" type="text/css" href="css/ie6.css"/>
  85.     <![endif]-->
  86.     <!--[if IE 7]>
  87.     <![endif]-->
  88.     <!--[if IE 8]>
  89.         {% block ie8_stylesheet %}{% endblock %}
  90.         <![endif]-->
  91.     {% if getParameter('kameleoon_ab_testing.enabled') == 1 %}
  92.         <script type="text/plain" data-cookieconsent="statistics">
  93.             var kameleoonURL = "https://5o83il2k6q.kameleoon.eu";
  94.             var kameleoonStartLoadTime = new Date().getTime();
  95.             var kameleoonLoadingTimeout = 1000;
  96.             var kameleoonProcessMessageEvent = function(event){if (kameleoonURL == event.origin){window.removeEventListener("message", kameleoonProcessMessageEvent);window.kameleoonExternalIFrameLoaded = true;eval(event.data);Kameleoon.Analyst.load();}};
  97.             if (window.addEventListener){window.addEventListener("message", kameleoonProcessMessageEvent, false);}
  98.             if (! document.getElementById("kameleoonLoadingStyleSheet") && ! window.kameleoonDisplayPageTimeOut){
  99.             var kameleoonS = document.getElementsByTagName("script")[0];var kameleoonCc = "* { visibility: hidden !important; background-image: none !important; }";
  100.             var kameleoonStn = document.createElement("style");kameleoonStn.type = "text/css";kameleoonStn.id = "kameleoonLoadingStyleSheet";
  101.             if (kameleoonStn.styleSheet){kameleoonStn.styleSheet.cssText = kameleoonCc;}else{kameleoonStn.appendChild(document.createTextNode(kameleoonCc));}kameleoonS.parentNode.insertBefore(kameleoonStn, kameleoonS);
  102.             window.kameleoonDisplayPage = function(){if (kameleoonStn.parentNode){kameleoonStn.parentNode.removeChild(kameleoonStn);}};
  103.             window.setTimeout(function(){}, 25);
  104.             window.kameleoonDisplayPageTimeOut = window.setTimeout(window.kameleoonDisplayPage, kameleoonLoadingTimeout);}
  105.             var iframeNode = document.createElement("iframe");
  106.             iframeNode.src = kameleoonURL;
  107.             iframeNode.id = "kameleoonExternalIframe";
  108.             iframeNode.style = "float: left !important; opacity: 0.0 !important; width: 0px !important; height: 0px !important;";
  109.             document.head.appendChild(iframeNode);
  110.         </script>
  111.     {% endif %}
  112.     {% block avis_verifies %}{% endblock %}
  113. </head>
  114. <body>
  115. {% block tag_manager %}{% endblock %}
  116. {% if should_show_locale_popin() %}
  117.     {% include 'Frontend/locale/select_locale_popin.html.twig' %}
  118. {% endif %}
  119. {% if true == getParameter('tracking.tag_manager') %}
  120.     <script>
  121.                 if (Array.isArray(dataLayer)) {
  122.                     dataLayer[0].dimension1 = '{{ app.user is not null and app.user is pro ? "pro" : "particulier" }}';
  123.                     dataLayer[0].customerEmail = '{{ app.user is not null ? app.user.email : "" }}';
  124.                     dataLayer[0].customerZipCode = '{{ app.user is not null ? app.user.zipCode : "" }}';
  125.                 } else {
  126.                     var dataLayer = [{
  127.                         'dimension1' : '{{ app.user is not null and app.user is pro ? "pro" : "particulier" }}',
  128.                         'customerEmail' : '{{ app.user is not null ? app.user.email : "" }}',
  129.                         'customerZipCode' : '{{ app.user is not null ? app.user.zipCode : "" }}'
  130.                     }];
  131.                 }
  132.     </script>
  133.     <!-- Google Tag Manager -->
  134.     {% if is_current_website('showvroom') %}
  135.         <script type="text/plain" data-cookieconsent="statistics" async src="https://www.googletagmanager.com/gtag/js?id=UA-163119979-1"></script>
  136.         <script type="text/plain" data-cookieconsent="statistics">
  137.             window.dataLayer = window.dataLayer || [];
  138.             function gtag(){dataLayer.push(arguments);}
  139.             gtag('js', new Date());
  140.             gtag('config', 'UA-163119979-1');
  141.         </script>
  142.     {% elseif is_current_country(constant('App\\Twig\\Extension\\CountryExtension::COUNTRY_PORTUGAL')) %}
  143.     <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M98X86F"
  144.                       height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  145.     <script type="text/plain" data-cookieconsent="statistics">
  146.             (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  147.                     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  148.             j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  149.             'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  150.             })(window,document,'script','dataLayer','GTM-M98X86F');
  151.         </script>
  152.     {% else %}
  153.     {% if true == getParameter('tracking.tag_manager.v4') %}
  154.         <!-- GA4 -->
  155.         <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WJFQ6NR"
  156.                           height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  157.         <script data-cookieconsent="statistics">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  158.                     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  159.                 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  160.                 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  161.             })(window,document,'script','dataLayer','GTM-WJFQ6NR');</script>
  162.         <!-- end GA4 -->
  163.     {% endif %}
  164.     {% if true == getParameter('tracking.tag_manager.v3') %}
  165.         <!-- GA3 -->
  166.         <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-W7BFSJ"
  167.                     height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  168.         <script data-cookieconsent="statistics">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  169.                     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  170.                     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  171.                     '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  172.                     })(window,document,'script','dataLayer','GTM-W7BFSJ');
  173.             </script>
  174.         <!-- GA4 -->
  175.     {% endif %}
  176. {% endif %}
  177.     <!-- End Google Tag Manager -->
  178. {% endif %}
  179. {% if getParameter('yandex_metrica.enabled') == 1 %}
  180.     <!-- Yandex.Metrika counter -->
  181.     <script type="text/plain" data-cookieconsent="statistics">
  182.                 (function (d, w, c) {
  183.                     (w[c] = w[c] || []).push(function() {
  184.                         try {
  185.                             w.yaCounter41789164 = new Ya.Metrika({
  186.                                 id:41789164,
  187.                                 clickmap:true,
  188.                                 trackLinks:true,
  189.                                 accurateTrackBounce:true,
  190.                                 webvisor:true
  191.                             });
  192.                         } catch(e) { }
  193.                     });
  194.                     var n = d.getElementsByTagName("script")[0],
  195.                         s = d.createElement("script"),
  196.                         f = function () { n.parentNode.insertBefore(s, n); };
  197.                     s.type = "text/javascript";
  198.                     s.async = true;
  199.                     s.src = "https://mc.yandex.ru/metrika/watch.js";
  200.                     if (w.opera == "[object Opera]") {
  201.                         d.addEventListener("DOMContentLoaded", f, false);
  202.                     } else { f(); }
  203.                 })(document, window, "yandex_metrika_callbacks");
  204.     </script>
  205.     <noscript>
  206.         <div><img src="https://mc.yandex.ru/watch/41789164" style="position:absolute; left:-9999px;" alt=""/></div>
  207.     </noscript>
  208.     <!-- /Yandex.Metrika counter -->
  209. {% endif %}
  210. <div class="maincontainer">
  211.     {% include 'flash/flash.html.twig' %}
  212.     {% block layout_content %}{% endblock layout_content %}
  213. </div>
  214. {% block javascripts %}
  215.     {% include 'translationsjs.html.twig' %}
  216.     {% include 'routesjs.html.twig' %}
  217.     {% include 'paramsjs.html.twig' %}
  218.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery-1.11.1.min.js') }}"></script>
  219.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery-migrate-1.2.1.min.js') }}"></script>
  220.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery-ui.min.js') }}"></script>
  221.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.plugin.min.js') }}"></script>
  222.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown.min.js') }}"></script>
  223.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-de.js') }}"></script>
  224.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-es.js') }}"></script>
  225.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-fr.js') }}"></script>
  226.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-hu.js') }}"></script>
  227.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-it.js') }}"></script>
  228.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-nl.js') }}"></script>
  229.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-pl.js') }}"></script>
  230.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-pt.js') }}"></script>
  231.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.countdown-ro.js') }}"></script>
  232.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/fancybox/jquery.fancybox.js') }}"></script>
  233.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.easynews.js') }}"></script>
  234.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/js.cookie.js') }}"></script>
  235.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.bxslider.min.js') }}"></script>
  236.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/owlcarousel/owl.carousel.min.js') }}"></script>
  237.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/frontend/functions.js') }}"></script>
  238.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/frontend/rating.js') }}"></script>
  239.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/jquery.filer.js') }}"></script>
  240.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/moment/moment.min.js') }}"></script>
  241.     <script type="text/javascript" src="{{ asset('bundles/vpauto/js/lib/moment/moment-timezone.min.js') }}"></script>
  242. {% endblock javascripts %}
  243. {% block tawkto %}
  244.     {% if getParameter('tawkto_chat.enabled') == 1 and is_current_country(constant('App\\Twig\\Extension\\CountryExtension::COUNTRY_FRANCE')) %}
  245.         <!--Start of Tawk.to Script-->
  246.         <script type="text/plain" data-cookieconsent="marketing">
  247.                 var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
  248.                 (function(){
  249.                     var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
  250.                     s1.async=true;
  251.                     s1.src='https://embed.tawk.to/561f61ff741c2c4e361704cc/1d74sgjng';
  252.                     s1.charset='UTF-8';
  253.                     s1.setAttribute('crossorigin','*');
  254.                     s0.parentNode.insertBefore(s1,s0);
  255.                 })();
  256.         </script>
  257.         <!--End of Tawk.to Script-->
  258.     {% endif %}
  259. {% endblock %}
  260. {% if app.user is null and app.session.has('registration-datalayer') %}
  261.     <script>
  262.         dataLayer.push({
  263.             'typeInscription': '{{ app.session.get('registration-datalayer') }}',
  264.             'event': 'inscription'
  265.         });
  266.     </script>
  267.     {% set tmp = app.session.remove('registration-datalayer') %}
  268. {% endif %}
  269.     {% include 'partials/rudderstack_script.html.twig' %}
  270. </body>
  271. </html>