templates/base.html.twig line 1

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <!-- Google Tag Manager -->
  5.     <script>(function(w,d,s,l,i){ w[l]=w[l]||[];w[l].push({ 'gtm.start':
  6.     new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  7.     j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  8.     'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  9.     })(window,document,'script','dataLayer','GTM-NJJFCJ');</script>
  10.     <!-- End Google Tag Manager -->
  11.     <!-- Meta Pixel Code -->
  12.     <script>
  13.     !function(f,b,e,v,n,t,s)
  14.     { if(f.fbq)return;n=f.fbq=function(){ n.callMethod?
  15.     n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  16.     if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  17.     n.queue=[];t=b.createElement(e);t.async=!0;
  18.     t.src=v;s=b.getElementsByTagName(e)[0];
  19.     s.parentNode.insertBefore(t,s)}(window, document,'script',
  20.     'https://connect.facebook.net/en_US/fbevents.js');
  21.     fbq('init', '1233084501283271');
  22.     fbq('track', 'PageView');
  23.     </script>
  24.     <noscript><img height="1" width="1" style="display:none"
  25.     src="https://www.facebook.com/tr?id=1233084501283271&ev=PageView&noscript=1"
  26.     /></noscript>
  27.     <!-- End Meta Pixel Code -->
  28.     <meta charset="UTF-8">
  29.     <link rel="stylesheet" href="https://use.typekit.net/qir3knc.css">
  30.     <title>{% block title %} {% endblock %}</title>
  31.     {% block meta_description %}
  32.         <meta name="description" content="{% block desc %}{% endblock %}">
  33.     {% endblock %}
  34.     <link rel="canonical" href="{{ app.request.uri }}">    
  35.     <link rel="icon" type="image/png" href="{{ asset('img/favicon/favicon-96x96.png') }}" sizes="96x96" />
  36.     <link rel="icon" type="image/svg+xml" href="{{ asset('img/favicon/favicon.svg') }}" />
  37.     <link rel="shortcut icon" href="{{ asset('img/favicon/favicon.ico') }}" />
  38.     <link rel="apple-touch-icon" sizes="180x180" href="{{ asset('img/favicon/apple-touch-icon.png') }}" />
  39.     <meta name="apple-mobile-web-app-title" content="Autanet.cz" />
  40.     <link rel="manifest" href="{{ asset('img/favicon/site.webmanifest') }}" />
  41.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  42.     {# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}
  43.     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js"
  44.             integrity="sha512-3gJwYpMe3QewGELv8k/BX9vcqhryRdzRMxVfq6ngyWXwo03GFEzjsUm8Q7RZcHPHksttq7/GFoxjCVUjkjvPdw=="
  45.             crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  46.     <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet">
  47.     <link href="{{ asset('plugins/OverlayScrollbars-1.x/css/OverlayScrollbars.min.css') }}" rel="stylesheet">
  48.     <link href="{{ asset('plugins/Gallery-master/css/blueimp-gallery.min.css') }}" rel="stylesheet">
  49.     <link href="{{ asset('plugins/slick/slick.css') }}" rel="stylesheet">
  50.     <link href="{{ asset('fonts/style.css') }}" rel="stylesheet">
  51.     {% block stylesheets %}
  52.         {{ encore_entry_link_tags('app') }}
  53.     {% endblock %}
  54.     {% block javascripts %}
  55.         {{ encore_entry_script_tags('app') }}
  56.     {% endblock %}
  57.     <script language="JavaScript" type="text/javascript">
  58.         document.write('<img src=https://toplist.cz/dot.asp?id=61738&amp;http=' + escape(document.referrer) + '&amp;wi=' + escape(window.screen.width) + '&amp;he=' + escape(window.screen.height) + '&amp;t=' + escape(document.title) + ' width="1" height="1" border=0 alt=" " />');
  59.     </script>
  60.     <noscript><img src=https://toplist.cz/dot.asp?id=61738 border="0" alt=" " width="1" height="1"/></noscript>
  61.     <!-- (C)2000-2015 Gemius SA - gemiusAudience / autanet.cz / Homepage -->
  62.     <script type="text/javascript">
  63.         var pp_gemius_identifier = 'ogg70HNn3AMZzJdBUqRQipcPzStg1JrY61PGru.QL2P.47';
  64.         var pp_gemius_use_cmp = true;
  65.         function gemius_pending(i) {
  66.             window[i] = window[i] || function () {
  67.                 var x = window[i + '_pdata'] = window[i + '_pdata'] || [];
  68.                 x[x.length] = arguments;
  69.             };
  70.         };
  71.         gemius_pending('gemius_hit');
  72.         gemius_pending('gemius_event');
  73.         gemius_pending('pp_gemius_hit');
  74.         gemius_pending('pp_gemius_event');
  75.         (function (d, t) {
  76.             try {
  77.                 var gt = d.createElement(t), s = d.getElementsByTagName(t)[0],
  78.                     l = 'http' + ((location.protocol == 'https:') ? 's' : '');
  79.                 gt.setAttribute('async', 'async');
  80.                 gt.setAttribute('defer', 'defer');
  81.                 gt.src = l + '://spir.hit.gemius.pl/xgemius.js';
  82.                 s.parentNode.insertBefore(gt, s);
  83.             } catch (e) {
  84.             }
  85.         })(document, 'script');
  86.     </script>
  87.     {% set queryParams = app.request.query.all %}
  88.     {% if isBasicDealer is defined and isBasicDealer %}
  89.         <meta name="robots" content="noindex, follow">
  90.     {% elseif queryParams['vehicleId'] is defined or app.environment != 'prod' %}
  91.         <meta name="robots" content="noindex, nofollow">
  92.     {% else %}
  93.         <meta name="robots" content="all">
  94.     {% endif %}
  95. </head>
  96. <body class="{% block body_class %}{% endblock %}">
  97. <!-- Google Tag Manager (noscript) -->
  98. <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJJFCJ"
  99. height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  100. <!-- End Google Tag Manager (noscript) -->
  101. </body>
  102. <header class="header">
  103.     <div class="header__overlay js-header__overlay"></div>
  104.     <div class="header__container">
  105.         <a class="header__logo" href="{{ path('app_homepage') }}">
  106.             <img src="{{ asset('img/header__logo.svg') }}" alt="" loading="lazy">
  107.         </a>
  108.         <div class="header__collapse js-header__collapse">
  109.             <nav class="header__nav">
  110.                 <div class="header__nav-dropdown">
  111.                     <div class="header__nav-dropdown-toggler js-header__nav-dropdown-toggler">Nabídka vozidel</div>
  112.                     <div class="header__nav-dropdown-collapse">
  113.                         <div class="header__nav-submenu">
  114.                             <a class="header__nav-submenu-item" href="/osobni-vozidla">Osobní</a>
  115.                             <a class="header__nav-submenu-item" href="/uzitkova-vozidla">Užitková</a>
  116.                             <a class="header__nav-submenu-item" href="/nakladni-vozidla">Nákladní</a>
  117.                             <a class="header__nav-submenu-item" href="/obytna-vozidla">Obytná</a>
  118.                             <a class="header__nav-submenu-item" href="/motorky-skutry">Motorky</a>
  119.                             <a class="header__nav-submenu-item" href="/privesy-a-navesy">Přívěsy a návěsy</a>
  120.                             <a class="header__nav-submenu-item" href="/autobusy">Autobusy</a>
  121.                             <a class="header__nav-submenu-item" href="/pracovni-stroje">Pracovní stroje</a>
  122.                             <a class="header__nav-submenu-item" href="/nahradni-dily">Náhradní díly</a>
  123.                             <a class="header__nav-submenu-item" href="/prislusenstvi">Příslušenství</a>
  124.                         </div>
  125.                     </div>
  126.                 </div>
  127.                 <a href="{{ path('page_dealer') }}">Prodejci</a>
  128.                 <a href="{{ path('page_blog', { urlKind: 'testy-aut'  }) }}">Testy aut</a>
  129.                 <a href="{{ path('page_proverit_auto') }}">Prověřit auto</a>
  130.                 <div class="header__nav-dropdown">
  131.                     <div class="header__nav-dropdown-toggler js-header__nav-dropdown-toggler">Magazín</div>
  132.                     <div class="header__nav-dropdown-collapse">
  133.                         <div class="header__nav-submenu">
  134.                             <a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'novinky'  }) }}">Novinky</a>
  135.                             <a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'rady-a-tipy'  }) }}">Rady a tipy</a>
  136.                             <a class="header__nav-submenu-item"
  137.                                href="{{ path('page_blog', { urlKind: 'nove-modely'  }) }}">Nové modely</a>
  138.                             <a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'ojetiny'  }) }}">Ojetiny</a>
  139.                             <a class="header__nav-submenu-item"
  140.                                href="{{ path('page_blog', { urlKind: 'auto-a-zivot'  }) }}"> Auto a život</a>
  141.                             <a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'videa'  }) }}">Videa</a>
  142.                         </div>
  143.                     </div>
  144.                 </div>
  145.             </nav>
  146.         </div>
  147.         <div class="header__toggler js-header__toggler">
  148.             <span></span>
  149.         </div>
  150.     </div>
  151. </header>
  152. {% include 'admin-menu.html.twig' %}
  153. <main{% block main_class %}{% endblock %}>
  154.     {% if show_flash_messages is not defined or show_flash_messages %}
  155.         {% for label, messages in app.flashes %}
  156.             {% for message in messages %}
  157.                 <div class="alert alert-{{ label }}">
  158.                     {{ message }}
  159.                 </div>
  160.             {% endfor %}
  161.         {% endfor %}
  162.     {% endif %}
  163.     {% block body %}  {% endblock %}
  164.     <script>
  165.         const bannerBasePath = '/img/partner/banner';
  166.         const bannerRoutes = {
  167.             desktop: '{{ path('app_banner') }}',
  168.             mobile: '{{ path('app_mobile_banner') }}'
  169.         };
  170.         const currentPath = window.location.pathname;
  171.         Promise.all([
  172.             fetch(bannerRoutes.desktop).then(response => response.json()),
  173.             fetch(bannerRoutes.mobile).then(response => response.json())
  174.         ])
  175.             .then(([desktopBannerData, mobileBannerData]) => {
  176.                 const bannerContainer = document.getElementById('banner-container');
  177.                 let mobileBannerContainer = document.getElementById('banner-mobile-container');
  178.                 const blogTextContainer = document.getElementById('blog-text');
  179.                 if (blogTextContainer) {
  180.                     const allParagraphs = Array.from(blogTextContainer.querySelectorAll('p')).filter(p => !p.querySelector('img'));
  181.                     const fifthParagraph = allParagraphs[4];
  182.                     if (fifthParagraph) {
  183.                         if (!mobileBannerContainer) {
  184.                             mobileBannerContainer = document.createElement('div');
  185.                             mobileBannerContainer.id = 'banner-mobile-container';
  186.                             mobileBannerContainer.classList.add('banner-mobile');
  187.                             document.body.appendChild(mobileBannerContainer);
  188.                         }
  189.                         mobileBannerContainer.innerHTML = `
  190.                 <a href="${mobileBannerData.url}">
  191.                     <img src="${bannerBasePath}/${mobileBannerData.image}" alt="Partner banner">
  192.                 </a>
  193.             `;
  194.                         fifthParagraph.insertAdjacentElement('afterend', mobileBannerContainer);
  195.                     }
  196.                 }
  197.                 if (bannerContainer && desktopBannerData) {
  198.                     bannerContainer.innerHTML = `
  199.             <a href="${desktopBannerData.url}" data-banner-id="${desktopBannerData.id}" class="banner-link">
  200.                 <img src="${bannerBasePath}/${desktopBannerData.image}" alt="Partner banner">
  201.             </a>
  202.         `;
  203.                 }
  204.                 if (mobileBannerContainer && mobileBannerData) {
  205.                     mobileBannerContainer.innerHTML = `
  206.             <a href="${mobileBannerData.url}" data-banner-id="${mobileBannerData.id}" class="banner-link">
  207.                 <img src="${bannerBasePath}/${mobileBannerData.image}" alt="Partner banner">
  208.             </a>
  209.         `;
  210.                 }
  211.                 document.querySelectorAll('.banner-link').forEach(link => {
  212.                     link.addEventListener('click', function (e) {
  213.                         e.preventDefault();
  214.                         const bannerId = this.getAttribute('data-banner-id');
  215.                         fetch(`/banner/${bannerId}/click`, {method: 'POST'})
  216.                             .then(() => {
  217.                                 window.location.href = this.href;
  218.                             });
  219.                     });
  220.                 });
  221.             })
  222.             .catch(error => console.error('Error loading banners:', error));
  223.     </script>
  224. </main>
  225. {% block footer %}
  226.     {{ render(controller( 'App\\Controller\\PageController::footer', { request: app.request } )) }}
  227. {% endblock %}
  228. {% block mobileBranding %}
  229.     {% set excludedRoutes = [
  230.         'app_homepage',
  231.         'page_vehicle_search',
  232.         'page_vehicle_detail',
  233.         'page_dealer',
  234.         'page_dealer_detail',
  235.         'page_dealer_vehicle',
  236.         'page_prohlidka_ojeteho_auta',
  237.         'vehicle_inspection_form',
  238.         'vehicle_search_form',
  239.         'dealer_inspection_form'
  240.     ] %}
  241.     {% set currentRoute = app.request.attributes.get('_route') %}
  242.     {% if currentRoute not in excludedRoutes %}
  243.         <script type="text/javascript" src="//delivery.r2b2.cz/get/autanet.cz/generic/fixed/mobile"></script>
  244.     {% endif %}
  245. {% endblock %}
  246. <script src="{{ asset('plugins/OverlayScrollbars-1.x/js/jquery.overlayScrollbars.min.js') }}"></script>
  247. <script src="{{ asset('plugins/Gallery-master/js/blueimp-gallery.min.js') }}"></script>
  248. <script src="{{ asset('plugins/slick/slick.min.js') }}"></script>
  249. <script src="{{ asset('js/default.js') }}"></script>
  250. </html>