templates/homepage/detailDealer.html.twig line 1

  1. {% extends 'base.html.twig' %}
  2. {% block title %}{{ seoTitle }}{% endblock %}
  3. {% block desc %}{{ seoDescription }}{% endblock %}
  4.         {% block stylesheets %}
  5.             {{ encore_entry_link_tags('app') }}
  6.            {% endblock %}
  7.           {% block javascripts %}
  8.               {{ encore_entry_script_tags('app') }}
  9.               <script
  10.                       src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDMvCFLEp2JWA1HQ5riIBgtCn8Hy5bS9nw&callback=initMap&v=weekly"
  11.                       defer
  12.               ></script>
  13.               <script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
  14.           {% endblock %}
  15. {% block body %}
  16.     <section class="contact">
  17.         <header class="contact__header">
  18.             <h1>{{ dealer.name }}</h1>
  19.             <figure class="contact__logo">
  20.                 {% if dealer.logo %}
  21.                 <img
  22.                         src="{{ asset('img-dealer/')~dealer.logo }}"
  23.                         {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  24.                             src: asset('img-dealer/')~dealer.logo
  25.                         }) }}
  26.                         width="200"
  27.                 >
  28.                 {% endif %}
  29.             </figure>
  30.         </header>
  31.         {% if dealer.description %}
  32.         <div class="contact__description">
  33.             <p>{{ dealer.description }}</p>
  34.         </div>
  35.         {% endif %}
  36.         <div class="contact__grid">
  37.             <div>
  38.                 <h2 class="contact__heading">Adresa</h2>
  39.                 <div class="contact__item">
  40.                     <i class="contact__icon icon icon-garage"></i>
  41.                     <div>
  42.                         {% if dealer.street %}{{ dealer.street }}<br>{% endif %}
  43.                         {% if dealer.city %}{{ dealer.city }}<br>{% endif %}
  44.                         {% if dealer.district %}{{ dealer.district.region.name }}{% endif %}
  45.                     </div>
  46.                 </div>
  47.             </div>
  48.             <div>
  49.                 <h2 class="contact__heading">Telefon</h2>
  50.                 <div class="contact__item">
  51.                     <i class="contact__icon icon icon-phone"></i>
  52.                     {% for p in dealer.dealerPhones %}
  53.                     <a href="">{{ p.name }}</a><br>
  54.                     {% endfor %}
  55.                 </div>
  56.             </div>
  57.             <div>
  58.                 <h2 class="contact__heading">E-mail</h2>
  59.                 {% if dealer.email %}
  60.                 <div class="contact__item contact__item--primary">
  61.                     <i class="contact__icon icon icon-email"></i>
  62.                     <a href="mailto:{{ dealer.email }}">{{ dealer.email }}</a>
  63.                 </div>
  64.                 {% endif %}
  65.             </div>
  66.         </div>
  67.         <footer id="mapa" class="contact__footer">
  68.             {% if hasVehicleImport %}
  69.             <a class="contact__button" href="{{ path('page_dealer_vehicle', { url:  dealer.url }) }}">
  70.                 <i class="icon icon-car"></i>
  71.                 Zobrazit nabídku vozidel
  72.             </a>
  73.             {% endif %}
  74.             {% if dealer.lat and dealer.lng %}
  75.             <a class="contact__button contact__button--secondary" href="https://www.google.com/maps/search/?api=1&query={{ dealer.lat }},{{ dealer.lng }}" target="_blank">
  76.                 Zobrazit trasu
  77.                 <i class="icon icon-map"></i>
  78.             </a>
  79.             {% endif %}
  80.             {% if dealer.www %}
  81.             <a class="contact__button contact__button--secondary" href="http://{{ dealer.www }}" target="_blank">
  82.                 Zobrazit web
  83.                 <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 64 64" fill="currentColor">
  84.                     <path d="M 40 10 C 38.896 10 38 10.896 38 12 C 38 13.104 38.896 14 40 14 L 47.171875 14 L 30.585938 30.585938 C 29.804938 31.366938 29.804938 32.633063 30.585938 33.414062 C 30.976938 33.805063 31.488 34 32 34 C 32.512 34 33.023063 33.805062 33.414062 33.414062 L 50 16.828125 L 50 24 C 50 25.104 50.896 26 52 26 C 53.104 26 54 25.104 54 24 L 54 12 C 54 10.896 53.104 10 52 10 L 40 10 z M 18 12 C 14.691 12 12 14.691 12 18 L 12 46 C 12 49.309 14.691 52 18 52 L 46 52 C 49.309 52 52 49.309 52 46 L 52 34 C 52 32.896 51.104 32 50 32 C 48.896 32 48 32.896 48 34 L 48 46 C 48 47.103 47.103 48 46 48 L 18 48 C 16.897 48 16 47.103 16 46 L 16 18 C 16 16.897 16.897 16 18 16 L 30 16 C 31.104 16 32 15.104 32 14 C 32 12.896 31.104 12 30 12 L 18 12 z"></path>
  85.                 </svg>
  86.             </a>
  87.             {% endif %}
  88.         </footer>
  89.     </section>
  90.     <section    class="grid grid--gap40 grid--padding40">
  91.         <div>
  92.                 <div id="map" style="height: 400px" > </div>
  93.                 <script>
  94.                     function initMap() {
  95.                         const map = new google.maps.Map(document.getElementById("map"), {
  96.                             zoom: 7,
  97.                             center: {lat: 49.7887636, lng: 15.6634697},
  98.                         });
  99.                         setMarkers(map);
  100.                     }
  101.                     function setMarkers(map) {
  102.                         const image = {
  103.                             url: "{{ asset('img/icon-dealer.png') }}",
  104.                             // This marker is 20 pixels wide by 32 pixels high.
  105.                             size: new google.maps.Size(40, 40),
  106.                             // The origin for this image is (0, 0).
  107.                             origin: new google.maps.Point(0, 0),
  108.                             // The anchor for this image is the base of the flagpole at (0, 32).
  109.                             anchor: new google.maps.Point(0, 40),
  110.                         };
  111.                         const dealers = [
  112.                             {
  113.                                 id: {{ dealer.id }},
  114.                                 name: "{{ dealer.name }}",
  115.                                 city: "{{ dealer.city }}",
  116.                                 street: "{{ dealer.street }}",
  117.                                 lat: {{ dealer.lat }},
  118.                                 lng: {{ dealer.lng }}
  119.                             }
  120.                         ];
  121.                         const markers = [];
  122.                         for (let i = 0; i < dealers.length; i++) {
  123.                             const dealer = dealers[i];
  124.                             const marker = new google.maps.Marker({
  125.                                 position: {lat: dealer.lat, lng: dealer.lng},
  126.                                 map,
  127.                                 icon: image,
  128.                                 title: dealer.name + ' ' + dealer.city,
  129.                                 zIndex: dealer.id,
  130.                             });
  131.                             marker.addListener("click", () => {
  132.                                 const infowindow = new google.maps.InfoWindow({
  133.                                     content: '<div style="width: 350px; overflow: hidden">' +
  134.                                         '<b>'+dealer.name+'</b><br>'+dealer.city+', '+dealer.street+'</div>',
  135.                                 });
  136.                                 google.maps.event.addListener(map, 'click', function() {
  137.                                     infowindow.close();
  138.                                 });
  139.                                 infowindow.open({
  140.                                     anchor: marker,
  141.                                     map,
  142.                                 });
  143.                             });
  144.                             markers.push(marker);
  145.                         }
  146.                     }
  147.                     window.initMap = initMap;
  148.                 </script>
  149.         </div>
  150.         <div>
  151.             <article class="opening">
  152.                 <h2 class="opening__title">
  153.                     <i class="icon icon-hours"></i>
  154.                     Provozní doba
  155.                 </h2>
  156.                 <div class="opening__schedule">
  157.                     {% for t in  openTime %}
  158.                     <div>{{ t.day.value }}</div>
  159.                     <div>{{ t.description }}</div>
  160.                     {% endfor %}
  161.                 </div>
  162.                 {% if dealer.openingHoursNote %}
  163.                 <div class="opening__info">{{ dealer.openingHoursNote }}</div>
  164.                 {% endif %}
  165.             </article>
  166.         </div>
  167.     </section>
  168. <section class="grid grid--gap40 grid--padding40">
  169.     <div>
  170.         <div id="adform_squarem"></div>
  171.         {% if dealer.dealerImages|length > 1 %}
  172.         <section class="gallery gallery--columns3 js-gallery">
  173.             {% for g  in  dealer.dealerImages %}
  174.                 <a   {% if  loop.index > 3 %} style="display: none"   {% endif %}
  175.                         class="gallery__item" href="{{ asset('img-dealer/')~g.name }}" title="{{ dealer.name }}">
  176.                     <img
  177.                             src="{{ asset('img-dealer/')~g.name    }}"
  178.                             {{ stimulus_controller('symfony/ux-lazy-image/lazy-image', {
  179.                                 src: asset('img-dealer/')~g.name
  180.                             }) }}
  181.                             width="200"
  182.                     >
  183.                 </a>
  184.             {% endfor %}
  185.             {% if  dealer.dealerImages|length > 3 %}
  186.             <div class="gallery__show">
  187.                 <i class="icon icon-camera"></i>
  188.                 + {{ dealer.dealerImages|length - 3 }}
  189.             </div>
  190.             {% endif%}
  191.         </section>
  192.         {% endif %}
  193.         <!-- The Gallery as lightbox dialog, should be a document body child element -->
  194.         <div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls" aria-label="image gallery"
  195.              aria-modal="true" role="dialog">
  196.             <div class="slides" aria-live="polite"></div>
  197.             <h3 class="title"></h3>
  198.             <a class="prev" aria-controls="blueimp-gallery" aria-label="previous slide" aria-keyshortcuts="ArrowLeft"></a>
  199.             <a class="next" aria-controls="blueimp-gallery" aria-label="next slide" aria-keyshortcuts="ArrowRight"></a>
  200.             <a class="close" aria-controls="blueimp-gallery" aria-label="close" aria-keyshortcuts="Escape"></a>
  201.             <ol class="indicator"></ol>
  202.         </div>
  203.         {% if hasVehicleImport %}
  204.             <h2 class="grid__title">Novinky z nabídky</h2>
  205.             {% for v in vehicles %}
  206.                 {% include 'vehicle/_vehicle.html.twig' with { vehicle: v } %}
  207.                 {% if loop.index == 1 %}
  208.                     <div id="banner-mobile-container" class="banner-mobile"></div>
  209.                 {%  endif %}
  210.                 {% if loop.index == 4 %}
  211.                     <div id="adform_squarem2"></div>
  212.                 {%  endif %}
  213.             {% endfor %}
  214.             <footer class="contact__footer" style="float: right">
  215.                 <a class="contact__button" href="{{ path('page_dealer_vehicle', { url:  dealer.url }) }}">
  216.                     <i class="icon icon-car"></i>
  217.                     Zobrazit nabídku vozidel
  218.                 </a>
  219.             </footer>
  220.         {% else %}
  221.             <h2 class="grid__title">Tipy z autobazarů</h2>
  222.             {% for tip in vehicleTips %}
  223.                 {% include 'vehicle/_vehicle.html.twig' with { vehicle: tip.vehicle } %}
  224.                 {% if loop.index == 1 %}
  225.                     <div id="banner-mobile-container" class="banner-mobile"></div>
  226.                 {% endif %}
  227.             {% endfor %}
  228.             {% if dealer.district %}
  229.             <footer class="contact__footer" style="float: right">
  230.                 <a class="contact__button" href="{{ path('page_vehicle_search', {urlKind: 'osobni-vozidla'}) }}?place={{ dealer.district.region.url }}">
  231.                     <i class="icon icon-car"></i>
  232.                     Nabídka vozidel {{ dealer.district.region.name }}
  233.                 </a>
  234.             </footer>
  235.             {% endif %}
  236.         {% endif %}
  237.     </div>
  238.     <div>
  239.         <div id="adform_halfpage"></div>
  240.         <div id="banner-container" class="banner"></div>
  241.     </div>
  242. </section>
  243. {% endblock %}