templates/base.html.twig line 1
<!DOCTYPE html><html><head><!-- Google Tag Manager --><script>(function (w, d, s, l, i) {w[l] = w[l] || [];w[l].push({'gtm.start':new Date().getTime(), event: 'gtm.js'});var f = d.getElementsByTagName(s)[0],j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';j.async = true;j.src ='https://www.googletagmanager.com/gtm.js?id=' + i + dl;f.parentNode.insertBefore(j, f);})(window, document, 'script', 'dataLayer', 'GTM-NJJFCJ');</script><!-- End Google Tag Manager --><!-- Meta Pixel Code --><script>!function (f, b, e, v, n, t, s) {if (f.fbq) return;n = f.fbq = function () {n.callMethod ?n.callMethod.apply(n, arguments) : n.queue.push(arguments)};if (!f._fbq) f._fbq = n;n.push = n;n.loaded = !0;n.version = '2.0';n.queue = [];t = b.createElement(e);t.async = !0;t.src = v;s = b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t, s)}(window, document, 'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '1233084501283271');fbq('track', 'PageView');</script><noscript><img height="1" width="1" style="display:none"src="https://www.facebook.com/tr?id=1233084501283271&ev=PageView&noscript=1"/></noscript><!-- End Meta Pixel Code --><meta charset="UTF-8"><link rel="stylesheet" href="https://use.typekit.net/qir3knc.css"><title>{% block title %} {% endblock %}</title>{% block meta_description %}<meta name="description" content="{% block desc %}{% endblock %}">{% endblock %}{% block canonical %}<link rel="canonical" href="{{ app.request.uri }}">{% endblock %}<link rel="icon" type="image/png" href="{{ asset('img/favicon/favicon-96x96.png') }}" sizes="96x96"/><link rel="icon" type="image/svg+xml" href="{{ asset('img/favicon/favicon.svg') }}"/><link rel="shortcut icon" href="{{ asset('img/favicon/favicon.ico') }}"/><link rel="apple-touch-icon" sizes="180x180" href="{{ asset('img/favicon/apple-touch-icon.png') }}"/><meta name="apple-mobile-web-app-title" content="Autanet.cz"/><link rel="manifest" href="{{ asset('img/favicon/site.webmanifest') }}"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">{# Run `composer require symfony/webpack-encore-bundle` to start using Symfony UX #}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.0/jquery.min.js"integrity="sha512-3gJwYpMe3QewGELv8k/BX9vcqhryRdzRMxVfq6ngyWXwo03GFEzjsUm8Q7RZcHPHksttq7/GFoxjCVUjkjvPdw=="crossorigin="anonymous" referrerpolicy="no-referrer"></script><link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet"><link href="{{ asset('plugins/OverlayScrollbars-1.x/css/OverlayScrollbars.min.css') }}" rel="stylesheet"><link href="{{ asset('plugins/Gallery-master/css/blueimp-gallery.min.css') }}" rel="stylesheet"><link href="{{ asset('plugins/slick/slick.css') }}" rel="stylesheet"><link href="{{ asset('fonts/style.css') }}" rel="stylesheet">{% block stylesheets %}{{ encore_entry_link_tags('app') }}{% endblock %}{% block javascripts %}{{ encore_entry_script_tags('app') }}{% endblock %}{# Autanet Analytics – globální anonymní identita pro raw analytics a Partner atribuci #}<script>window.AutanetAnalytics = (() => {const VISITOR_COOKIE = 'autanet_analytics_visitor';const SESSION_STORAGE_KEY = 'autanet_analytics_session';const SESSION_TIMEOUT_MS = 30 * 60 * 1000;const CMP_RETRY_INTERVAL_MS = 100;const CMP_RETRY_LIMIT_MS = 30 * 1000;const pageviewKey = createKey();const pendingIdentityCallbacks = [];let consentKnown = false;let consentGranted = false;let cmpListenerAttached = false;let cmpStartedAt = Date.now();initConsent();function createKey() {if (window.crypto && typeof window.crypto.randomUUID === 'function') {return window.crypto.randomUUID();}return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, character => {const random = Math.random() * 16 | 0;const value = character === 'x' ? random : (random & 0x3 | 0x8);return value.toString(16);});}function getCookie(name) {const prefix = name + '=';const cookies = document.cookie ? document.cookie.split('; ') : [];for (const cookie of cookies) {if (cookie.startsWith(prefix)) {return decodeURIComponent(cookie.substring(prefix.length));}}return null;}function setVisitorCookie(value) {document.cookie = VISITOR_COOKIE+ '=' + encodeURIComponent(value)+ '; Path=/; Max-Age=31536000; SameSite=Lax; Secure';}function deleteVisitorCookie() {document.cookie = VISITOR_COOKIE+ '=; Path=/; Max-Age=0; SameSite=Lax; Secure';}function clearIdentity() {deleteVisitorCookie();try {localStorage.removeItem(SESSION_STORAGE_KEY);} catch (error) {// Pokud localStorage není dostupný, není třeba dělat nic dalšího.}}function getIdentity() {if (!consentKnown || !consentGranted) {return null;}let visitorKey = getCookie(VISITOR_COOKIE);if (!visitorKey) {visitorKey = createKey();setVisitorCookie(visitorKey);}const now = Date.now();let sessionData = null;try {sessionData = JSON.parse(localStorage.getItem(SESSION_STORAGE_KEY));} catch (error) {sessionData = null;}if (!sessionData|| typeof sessionData.key !== 'string'|| typeof sessionData.lastActivity !== 'number'|| now - sessionData.lastActivity > SESSION_TIMEOUT_MS) {sessionData = {key: createKey(),lastActivity: now};} else {sessionData.lastActivity = now;}try {localStorage.setItem(SESSION_STORAGE_KEY,JSON.stringify(sessionData));} catch (error) {sessionData = null;}return {visitorKey: visitorKey,sessionKey: sessionData ? sessionData.key : null,pageviewKey: pageviewKey};}function flushPendingIdentityCallbacks() {if (!consentKnown) {return;}const identity = consentGranted ? getIdentity() : null;while (pendingIdentityCallbacks.length > 0) {const callback = pendingIdentityCallbacks.shift();callback(identity);}}function withIdentity(callback, timeoutMs = 5000) {if (consentKnown) {callback(consentGranted ? getIdentity() : null);return;}let completed = false;const wrappedCallback = identity => {if (completed) {return;}completed = true;callback(identity);};pendingIdentityCallbacks.push(wrappedCallback);setTimeout(() => {wrappedCallback(null);}, timeoutMs);}function applyConsent(tcData) {const consents = tcData.purpose && tcData.purpose.consents? tcData.purpose.consents: {};consentKnown = true;consentGranted = (tcData.gdprApplies === false|| (consents[1] === true&& consents[8] === true&& consents[9] === true));if (!consentGranted) {clearIdentity();}flushPendingIdentityCallbacks();}function attachCmpListener() {if (cmpListenerAttached) {return;}if (typeof window.__tcfapi !== 'function') {if (Date.now() - cmpStartedAt < CMP_RETRY_LIMIT_MS) {setTimeout(attachCmpListener, CMP_RETRY_INTERVAL_MS);}return;}cmpListenerAttached = true;window.__tcfapi('addEventListener', 2, (tcData, success) => {if (!success || !tcData) {return;}if (tcData.eventStatus !== 'tcloaded'&& tcData.eventStatus !== 'useractioncomplete') {return;}applyConsent(tcData);});}function initConsent() {cmpStartedAt = Date.now();attachCmpListener();}function getState() {return {consentKnown: consentKnown,consentGranted: consentGranted,pageviewKey: pageviewKey,visitorKey: consentGranted ? getCookie(VISITOR_COOKIE) : null,session: consentGranted? localStorage.getItem(SESSION_STORAGE_KEY): null};}return {getIdentity: getIdentity,withIdentity: withIdentity,clearIdentity: clearIdentity,getState: getState};})();</script><script language="JavaScript" type="text/javascript">document.write('<img src=https://toplist.cz/dot.asp?id=61738&http=' + escape(document.referrer) + '&wi=' + escape(window.screen.width) + '&he=' + escape(window.screen.height) + '&t=' + escape(document.title) + ' width="1" height="1" border=0 alt=" " />');</script><noscript><img src=https://toplist.cz/dot.asp?id=61738 border="0" alt=" " width="1" height="1"/></noscript><!-- (C)2000-2015 Gemius SA - gemiusAudience / autanet.cz / Homepage --><script type="text/javascript">var pp_gemius_identifier = 'ogg70HNn3AMZzJdBUqRQipcPzStg1JrY61PGru.QL2P.47';var pp_gemius_use_cmp = true;function gemius_pending(i) {window[i] = window[i] || function () {var x = window[i + '_pdata'] = window[i + '_pdata'] || [];x[x.length] = arguments;};};gemius_pending('gemius_hit');gemius_pending('gemius_event');gemius_pending('pp_gemius_hit');gemius_pending('pp_gemius_event');(function (d, t) {try {var gt = d.createElement(t), s = d.getElementsByTagName(t)[0],l = 'http' + ((location.protocol == 'https:') ? 's' : '');gt.setAttribute('async', 'async');gt.setAttribute('defer', 'defer');gt.src = l + '://spir.hit.gemius.pl/xgemius.js';s.parentNode.insertBefore(gt, s);} catch (e) {}})(document, 'script');</script>{% set queryParams = app.request.query.all %}{% if isBasicDealer is defined and isBasicDealer %}<meta name="robots" content="noindex, follow">{% elseif queryParams['vehicleId'] is defined or app.environment != 'prod' %}<meta name="robots" content="noindex, nofollow">{% else %}<meta name="robots" content="all">{% endif %}{% block mobileBranding %}{% set excludedRoutes = ['app_homepage','page_vehicle_search','page_vehicle_detail','page_vehicle_detail_seo','page_dealer','page_dealer_detail','page_dealer_vehicle','page_prohlidka_ojeteho_auta','vehicle_inspection_form','vehicle_search_form','dealer_inspection_form','page_proverit_auto'] %}{% set currentRoute = app.request.attributes.get('_route') %}{% if currentRoute not in excludedRoutes %}<script async src="https://cdn.performax.cz/yi/adsbypx/px_autoads.js?aab=ulite"></script><link rel="stylesheet" href="https://cdn.performax.cz/yi/adsbypx/px_autoads.css"/>{% endif %}{% endblock %}</head><body class="{% block body_class %}{% endblock %}"><!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NJJFCJ"height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><!-- End Google Tag Manager (noscript) --></body><header class="header"><div class="header__overlay js-header__overlay"></div><div class="header__container"><a class="header__logo" href="{{ path('app_homepage') }}"><img src="{{ asset('img/header__logo.svg') }}" alt="" loading="lazy"></a><div class="header__collapse js-header__collapse"><nav class="header__nav"><div class="header__nav-dropdown"><div class="header__nav-dropdown-toggler js-header__nav-dropdown-toggler">Nabídka vozidel</div><div class="header__nav-dropdown-collapse"><div class="header__nav-submenu"><a class="header__nav-submenu-item" href="/osobni-vozidla">Osobní</a><a class="header__nav-submenu-item" href="/uzitkova-vozidla">Užitková</a><a class="header__nav-submenu-item" href="/nakladni-vozidla">Nákladní</a><a class="header__nav-submenu-item" href="/obytna-vozidla">Obytná</a><a class="header__nav-submenu-item" href="/motorky-skutry">Motorky</a><a class="header__nav-submenu-item" href="/privesy-a-navesy">Přívěsy a návěsy</a><a class="header__nav-submenu-item" href="/autobusy">Autobusy</a><a class="header__nav-submenu-item" href="/pracovni-stroje">Pracovní stroje</a><a class="header__nav-submenu-item" href="/nahradni-dily">Náhradní díly</a><a class="header__nav-submenu-item" href="/prislusenstvi">Příslušenství</a></div></div></div><a href="{{ path('page_dealer') }}">Prodejci</a><a href="{{ path('page_blog', { urlKind: 'testy-aut' }) }}">Testy aut</a><a href="{{ path('page_proverit_auto') }}">Prověřit auto</a><div class="header__nav-dropdown"><div class="header__nav-dropdown-toggler js-header__nav-dropdown-toggler">Magazín</div><div class="header__nav-dropdown-collapse"><div class="header__nav-submenu"><a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'novinky' }) }}">Novinky</a><a class="header__nav-submenu-item"href="{{ path('page_blog', { urlKind: 'rady-a-tipy' }) }}">Rady a tipy</a><a class="header__nav-submenu-item"href="{{ path('page_blog', { urlKind: 'nove-modely' }) }}">Nové modely</a><a class="header__nav-submenu-item" href="{{ path('page_blog', { urlKind: 'ojetiny' }) }}">Ojetiny</a><a class="header__nav-submenu-item"href="{{ path('page_blog', { urlKind: 'auto-a-zivot' }) }}"> Auto a život</a></div></div></div></nav></div><div class="header__toggler js-header__toggler"><span></span></div></div></header>{% include 'admin-menu.html.twig' %}<main{% block main_class %}{% endblock %}>{% if show_flash_messages is not defined or show_flash_messages %}{% for label, messages in app.flashes %}{% for message in messages %}<div class="alert alert-{{ label }}">{{ message }}</div>{% endfor %}{% endfor %}{% endif %}{% block body %} {% endblock %}<script>const bannerBasePath = '/img/partner/banner';const bannerRoutes = {desktop: '{{ path('app_banner') }}',mobile: '{{ path('app_mobile_banner') }}'};const currentPath = window.location.pathname;Promise.all([fetch(bannerRoutes.desktop).then(response => response.json()),fetch(bannerRoutes.mobile).then(response => response.json())]).then(([desktopBannerData, mobileBannerData]) => {const bannerContainer = document.getElementById('banner-container');let mobileBannerContainer = document.getElementById('banner-mobile-container');const blogTextContainer = document.getElementById('blog-text');if (blogTextContainer) {if (mobileBannerContainer) {mobileBannerContainer.dataset.autanetPartnerBannerPlacement = 'B08';}const allParagraphs = Array.from(blogTextContainer.querySelectorAll('p')).filter(p => !p.querySelector('img'));const fifthParagraph = allParagraphs[4];if (fifthParagraph) {if (!mobileBannerContainer) {mobileBannerContainer = document.createElement('div');mobileBannerContainer.id = 'banner-mobile-container';mobileBannerContainer.classList.add('banner-mobile');mobileBannerContainer.dataset.autanetPartnerBannerPlacement = 'B08';document.body.appendChild(mobileBannerContainer);}mobileBannerContainer.innerHTML = `<a href="${mobileBannerData.url}"><img src="${bannerBasePath}/${mobileBannerData.image}" alt="Partner banner"></a>`;fifthParagraph.insertAdjacentElement('afterend', mobileBannerContainer);}}if (bannerContainer && desktopBannerData) {bannerContainer.innerHTML = `<a href="${desktopBannerData.url}" data-banner-id="${desktopBannerData.id}" data-autanet-partner-id="${desktopBannerData.autanet_partner_id}" class="banner-link"><img src="${bannerBasePath}/${desktopBannerData.image}" alt="Partner banner"></a>`;}if (mobileBannerContainer && mobileBannerData) {mobileBannerContainer.innerHTML = `<a href="${mobileBannerData.url}" data-banner-id="${mobileBannerData.id}" data-autanet-partner-id="${mobileBannerData.autanet_partner_id}" class="banner-link"><img src="${bannerBasePath}/${mobileBannerData.image}" alt="Partner banner"></a>`;}const trackAutanetPartnerBannerImpression = (link, container) => {if (!container) {return;}const placement = container.dataset.autanetPartnerBannerPlacement;if (!['B01', 'B02', 'B03', 'B04', 'B05', 'B06', 'B07', 'B08'].includes(placement)) {return;}const bannerId = link.getAttribute('data-banner-id');const partnerId = link.getAttribute('data-autanet-partner-id');if (!bannerId || !partnerId || !window.AutanetAnalytics) {return;}let visibleSince = null;let impressionSent = false;const observer = new IntersectionObserver(entries => {entries.forEach(entry => {if (impressionSent) {return;}if (entry.isIntersecting && entry.intersectionRatio >= 0.5) {if (visibleSince === null) {visibleSince = Date.now();}if (Date.now() - visibleSince >= 1000) {impressionSent = true;observer.disconnect();window.AutanetAnalytics.withIdentity(identity => {if (!identity) {return;}const body = new URLSearchParams({event_type: 'banner_impression',placement: placement,banner_id: bannerId,partner_id: partnerId,device: window.matchMedia('(max-width: 767px)').matches ? 'mobile' : 'desktop',visitor_key: identity.visitorKey,session_key: identity.sessionKey,pageview_key: identity.pageviewKey});fetch('/analytics/event', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},body: body.toString(),keepalive: true});});}} else {visibleSince = null;}});}, {threshold: [0, 0.5, 1]});observer.observe(link);const timer = window.setInterval(() => {if (impressionSent || !document.body.contains(link)) {window.clearInterval(timer);return;}const rect = link.getBoundingClientRect();const visibleHeight = Math.max(0, Math.min(rect.bottom, window.innerHeight) - Math.max(rect.top, 0));const ratio = rect.height > 0 ? visibleHeight / rect.height : 0;if (ratio >= 0.5) {if (visibleSince === null) {visibleSince = Date.now();}if (Date.now() - visibleSince >= 1000) {impressionSent = true;window.clearInterval(timer);observer.disconnect();window.AutanetAnalytics.withIdentity(identity => {if (!identity) {return;}const body = new URLSearchParams({event_type: 'banner_impression',placement: placement,banner_id: bannerId,partner_id: partnerId,device: window.matchMedia('(max-width: 767px)').matches ? 'mobile' : 'desktop',visitor_key: identity.visitorKey,session_key: identity.sessionKey,pageview_key: identity.pageviewKey});fetch('/analytics/event', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},body: body.toString(),keepalive: true});});}} else {visibleSince = null;}}, 250);};document.querySelectorAll('.banner-link').forEach(link => {const container = link.closest('#banner-container, #banner-mobile-container');trackAutanetPartnerBannerImpression(link, container);link.addEventListener('click', function (e) {e.preventDefault();const bannerId = this.getAttribute('data-banner-id');const partnerId = this.getAttribute('data-autanet-partner-id');const container = this.closest('#banner-container, #banner-mobile-container');const placement = container ? container.dataset.autanetPartnerBannerPlacement : null;if (['B01', 'B02', 'B03', 'B04', 'B05', 'B06', 'B07', 'B08'].includes(placement)&& partnerId&& window.AutanetAnalytics) {window.AutanetAnalytics.withIdentity(identity => {if (identity) {const body = new URLSearchParams({event_type: 'banner_click',placement: placement,banner_id: bannerId,partner_id: partnerId,device: window.matchMedia('(max-width: 767px)').matches ? 'mobile' : 'desktop',visitor_key: identity.visitorKey,session_key: identity.sessionKey,pageview_key: identity.pageviewKey});fetch('/analytics/event', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'},body: body.toString(),keepalive: true});}});}fetch(`/banner/${bannerId}/click`, {method: 'POST'}).then(() => {window.location.href = this.href;});});});}).catch(error => console.error('Error loading banners:', error));</script></main>{% block footer %}{{ render(controller( 'App\\Controller\\PageController::footer', { request: app.request } )) }}{% endblock %}<script src="{{ asset('plugins/OverlayScrollbars-1.x/js/jquery.overlayScrollbars.min.js') }}"></script><script src="{{ asset('plugins/Gallery-master/js/blueimp-gallery.min.js') }}"></script><script src="{{ asset('plugins/slick/slick.min.js') }}"></script><script src="{{ asset('js/default.js') }}?v=2026082401"></script></html>