templates/homepage/vehicleDealer.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ seoTitle }}{% endblock %}
  3. {% block desc %}{{ seoDescription }}{% endblock %}
  4. {% block body %}
  5.     <section class="contact">
  6.         <header class="contact__header">
  7.             <h1>{{ seoH1 }}</h1>
  8.             <figure class="contact__logo">
  9.                 {% if dealer.logo %}
  10.                     <img
  11.                             src="{{ asset('img-dealer/')~dealer.logo }}"
  12.                             {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  13.                                 src: asset('img-dealer/')~dealer.logo
  14.                             }) }}
  15.                             width="200"
  16.                     >
  17.                 {% endif %}
  18.             </figure>
  19.         </header>
  20.         <footer class="contact__footer">
  21.             <a class="button" href="{{ path('page_dealer_detail', { url:  dealer.url }) }}">
  22.                 <i class="icon icon-car"></i>
  23.                 Zobrazit informace o prodejci
  24.             </a>
  25.         </footer>
  26.     </section>
  27.     <section id="nabidka" class="grid grid--gap40 grid--padding40 grid--padding-top0">
  28.         <div>
  29.             <form class="form">
  30.                 <div class="form__columns form__columns--filter">
  31.                     <div class="form__group">
  32.                         <label>Značka</label>
  33.                         <select id="select-manufacturer" class="js-select2-search" name="manufacturer">
  34.                             <option value="">Vybrat značku</option>
  35.                             {% for m in manufacturer %}
  36.                                 <option value="{{ m.url }}" {% if m.url == app.request.get('urlManufacturer') %}  selected {% endif %} >{{ m.name }}</option>
  37.                             {% endfor %}
  38.                         </select>
  39.                     </div>
  40.                     <div class="form__group">
  41.                         <label>Model</label>
  42.                         <select id="select-model" class="js-select2-search" name="model">
  43.                             <option value="">   {% if app.request.get('urlManufacturer') %} Vybrat model {% else %} Vyberte model  {% endif %} </option>
  44.                             {% if app.request.get('urlManufacturer') %}
  45.                                 {% for m in model %}
  46.                                     <option value="{{ m.url }}" {% if m.url == app.request.get('urlModel') %}  selected {% endif %} >{{ m.name }}</option>
  47.                                 {% endfor %}
  48.                             {% endif %}
  49.                         </select>
  50.                     </div>
  51.                 </div>
  52.             </form>
  53.             <script>
  54.                 $('#select-manufacturer').on("select2:select", function (e) {
  55.                     window.location.replace("/autobazar/{{ dealer.url }}/vozidla/" + e.target.value);
  56.                 });
  57.                 $('#select-model').on("select2:select", function (e) {
  58.                     window.location.replace("/autobazar/{{ dealer.url }}/vozidla/{{ app.request.get('urlManufacturer') }}/" + e.target.value);
  59.                 });
  60.             </script>
  61.             <hr>
  62.             <div class="grid__results">
  63.                 <h2 class="grid__title">Zobrazeno</h2>
  64.                 <div class="grid__results-label">{{ vehicles.totalItemCount }} inzerátů</div>
  65.             </div>
  66.             {% for v in vehicles %}
  67.                 {% include 'vehicle/_vehicle.html.twig' with {
  68.                         vehicle: v,
  69.                         analyticsContext: 'dealer_inventory'
  70.                     } %}
  71.                 {% if loop.index == 2 %}
  72.                     <div id="banner-mobile-container" class="banner-mobile" data-autanet-partner-banner-placement="B05"></div>
  73.                 {%  endif %}
  74.                 {% if loop.index == 4 and vehicles.totalItemCount >= 2 %}
  75.                     <div id="adform_squarem"></div>
  76.                 {% endif %}
  77.                 {% if loop.index == 8 and vehicles.totalItemCount >= 4 %}
  78.                     <div id="adform_squarem2"></div>
  79.                 {% endif %}
  80.             {% endfor %}
  81.             <div class="navigation">
  82.                 {{ knp_pagination_render(vehicles) }}
  83.             </div>
  84.         </div>
  85.         <div>
  86.             {% if vehicles.totalItemCount >= 2 %}
  87.             <div id="adform_halfpage"></div>
  88.             {% endif %}
  89.             {% if vehicles.totalItemCount >= 4 %}
  90.             <div id="banner-container" class="banner" data-autanet-partner-banner-placement="B05"></div>
  91.             {% endif %}
  92.         </div>
  93.     </section>
  94.     <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
  95.     <script>
  96.         $(".js-select2").select2({
  97.             language: "cs",
  98.             minimumResultsForSearch: -1,
  99.             width: "100%",
  100.         });
  101.         $(".js-select2-search").select2({
  102.             language: "cs",
  103.             width: "100%",
  104.         });
  105.     </script>
  106.     <script>
  107.         if (
  108.             window.AutanetAnalytics &&
  109.             typeof window.AutanetAnalytics.withIdentity === 'function'
  110.         ) {
  111.             window.AutanetAnalytics.withIdentity(function (identity) {
  112.                 if (!identity) {
  113.                     return;
  114.                 }
  115.                 const formData = new FormData();
  116.                 formData.append('event_type', 'dealer_inventory_view');
  117.                 formData.append('dealer_id', '{{ dealer.id }}');
  118.                 formData.append('visitor_key', identity.visitorKey);
  119.                 formData.append('session_key', identity.sessionKey);
  120.                 formData.append('pageview_key', identity.pageviewKey);
  121.                 fetch('{{ path('app_analytics_event') }}', {
  122.                     method: 'POST',
  123.                     body: formData
  124.                 }).catch(function () {
  125.                     // Analytics nesmí ovlivnit funkčnost stránky.
  126.                 });
  127.             }, 5000);
  128.         }
  129.     </script>
  130.     <script>
  131.         document.addEventListener('click', function (event) {
  132.             const link = event.target.closest(
  133.                 '[data-analytics-event="dealer_inventory_vehicle_click"]'
  134.             );
  135.             if (!link) {
  136.                 return;
  137.             }
  138.             if (
  139.                 !window.AutanetAnalytics ||
  140.                 typeof window.AutanetAnalytics.getIdentity !== 'function'
  141.             ) {
  142.                 return;
  143.             }
  144.             const identity = window.AutanetAnalytics.getIdentity();
  145.             if (!identity) {
  146.                 return;
  147.             }
  148.             const formData = new FormData();
  149.             formData.append('event_type', 'dealer_inventory_vehicle_click');
  150.             formData.append('dealer_id', link.dataset.analyticsDealerId);
  151.             formData.append('vehicle_id', link.dataset.analyticsVehicleId);
  152.             formData.append('visitor_key', identity.visitorKey);
  153.             formData.append('session_key', identity.sessionKey);
  154.             formData.append('pageview_key', identity.pageviewKey);
  155.             const url = '{{ path('app_analytics_event') }}';
  156.             if (navigator.sendBeacon) {
  157.                 navigator.sendBeacon(url, formData);
  158.                 return;
  159.             }
  160.             fetch(url, {
  161.                 method: 'POST',
  162.                 body: formData,
  163.                 keepalive: true
  164.             }).catch(function () {
  165.                 // Analytics nesmí ovlivnit funkčnost odkazu.
  166.             });
  167.         }, true);
  168.     </script>
  169. {% endblock %}