src/PortalBundle/Resources/views/Catalog/catalog-main.html.twig line 1

Open in your IDE?
  1. {% set pageTitle = '' %}
  2. {% set pageDescription = '' %}
  3. {% if seoMeta %}
  4.     {% if seoMeta.title %}
  5.         {% set pageTitle = seoMeta.title %}
  6.     {% elseif year %}
  7.         {% set pageTitle = 'seo.catalog.year_title'|trans({'%year%': year}, 'portal_base') %}
  8.     {% else %}
  9.         {% set pageTitle = 'seo.catalog.title'|trans({}, 'portal_base') %}
  10.     {% endif %}
  11.     {% if app.request.get('page') %}
  12.         {% set pageTitle = 'base.page'|trans({}, 'portal_base') ~ ' - ' ~ app.request.get('page') ~ ' - ' ~ pageTitle %}
  13.     {% endif %}
  14.     {% if seoMeta.description %}
  15.         {% set pageDescription = seoMeta.description %}
  16.     {% elseif year %}
  17.         {% set pageDescription = 'seo.catalog.year_description'|trans({'%year%': year}, 'portal_base') %}
  18.     {% endif %}
  19. {% endif %}
  20. {% if seoMeta.h1 %}
  21.     {% set pageH1 = seoMeta.h1 %}
  22. {% elseif valueParam is defined and valueParam %}
  23.     {% set pageH1 = ('catalog.seo.h1_' ~ state ~ '_' ~ type ~ '_body_type')|trans({'%body_type%': valueParam}, 'portal_base') %}
  24. {% elseif brand %}
  25.     {% set pageH1 = ('catalog.seo.h1_' ~ state ~ '_' ~ type ~ '_brand')|trans({'%brand%': brand}, 'portal_base') %}
  26. {% elseif model %}
  27.     {% set pageH1 = ('catalog.seo.h1_' ~ state ~ '_' ~ type ~ '_model')|trans({'%model%': model}, 'portal_base') %}
  28. {% elseif year %}
  29.     {% set pageH1 = ('catalog.seo.h1_' ~ state ~ '_' ~ type ~ '_year')|trans({'%year%': year}, 'portal_base') %}
  30. {% endif %}
  31. {% block head %}
  32.     {% if INCLUDE_ANALYTICS %}
  33.     <!-- Google Tag Manager -->
  34.     <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  35.                 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  36.             j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  37.             'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  38.         })(window,document,'script','dataLayer','GTM-TK6DGWW');</script>
  39.     <!-- End Google Tag Manager -->
  40.     {% endif %}
  41.     <title>{{ pageTitle }}</title>
  42.     <meta name="description" content="{{ pageDescription }}" />
  43.     <link rel="stylesheet" type="text/css" href="/dist/{{ MODE }}/portal/css/portalCarCatalog.css?{{ VERSION }}">
  44. {% endblock %}
  45. {% block content %}
  46.     {% if INCLUDE_ANALYTICS %}
  47.     <!-- Google Tag Manager (noscript) -->
  48.     <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TK6DGWW"
  49.                       height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
  50.     <!-- End Google Tag Manager (noscript) -->
  51.     {% endif %}
  52.     <div id="baseFilters">
  53.         <section class="breadcrumbs__new">
  54.             <div class="container">
  55.                 <ol class="vidi_breadcrumbs__new" itemscope itemtype="https://schema.org/BreadcrumbList">
  56.                     <li class="marker__none" itemprop="itemListElement" itemscope
  57.                         itemtype="https://schema.org/ListItem">
  58.                         <a itemprop="item" href="{{ path('portal_homepage') }}">
  59.                             <span class="breadcrumbs__link" itemprop="name">VIDI.UA</span></a>
  60.                         <meta itemprop="position" content="1"/>
  61.                     </li>
  62.                     <div class="arrow-bc"></div>
  63.                     <li class="marker__none" itemprop="itemListElement" itemscope
  64.                         itemtype="https://schema.org/ListItem">
  65.                         <a itemprop="item" href="{{ path('portal_new_catalog',{state:state ,type:type}) }}">
  66.                             <span class="breadcrumbs__link" itemprop="name">{{ ('catalog.' ~ state ~ '_' ~ type)|trans({}, 'portal_base') }}</span></a>
  67.                         <meta itemprop="position" content="2"/>
  68.                     </li>
  69.                     {% if valueParam is defined and valueParam %}
  70.                         <div class="arrow-bc"></div>
  71.                         <li class="marker__none" itemprop="itemListElement" itemscope
  72.                             itemtype="https://schema.org/ListItem">
  73.                             {% if brand is defined and brand and brand != 'all'  %}
  74.                                 <a itemprop="item" href="{{ path('portal_new_catalog_by_params',{state:state ,type:type, param: param, value: value}) }}">
  75.                                     <span class="breadcrumbs__link" itemprop="name">{{ valueParam }}</span></a>
  76.                             {% else %}
  77.                                 <span style="color: #ABABAB" class="breadcrumbs__link" itemprop="name">{{ valueParam }}</span>
  78.                             {% endif %}
  79.                             <meta itemprop="position" content="3"/>
  80.                         </li>
  81.                     {% endif %}
  82.                     {% if brand is defined and brand and brand != 'all' %}
  83.                         <div class="arrow-bc"></div>
  84.                         <li class="marker__none" itemprop="itemListElement" itemscope
  85.                             itemtype="https://schema.org/ListItem">
  86.                             {% if model is defined and model %}
  87.                                 {% if valueParam is defined and valueParam %}
  88.                                     <a itemprop="item" href="{{ path('portal_new_catalog_b_by_params',{state:state ,type:type, param: param, value: value, brand: brand}) }}">
  89.                                         <span class="breadcrumbs__link" itemprop="name">{{ brand }}</span>
  90.                                     </a>
  91.                                 {% else %}
  92.                                     <a itemprop="item" href="{{ path('portal_new_catalog_b',{state:state ,type:type, brand: brand}) }}">
  93.                                         <span class="breadcrumbs__link" itemprop="name">{{ brand }}</span>
  94.                                     </a>
  95.                                 {% endif %}
  96.                             {% else %}
  97.                                 <span style="color: #ABABAB" class="breadcrumbs__link" itemprop="name">{{ brand }}</span>
  98.                             {% endif %}
  99.                             <meta itemprop="position" content="3"/>
  100.                         </li>
  101.                     {% endif %}
  102.                     {% if model is defined and model %}
  103.                         <div class="arrow-bc"></div>
  104.                         <li itemprop="item" class="marker__none" itemprop="itemListElement" itemscope
  105.                             itemtype="https://schema.org/ListItem">
  106.                             <span style="color: #ABABAB" class="breadcrumbs__link" itemprop="name">{{ model }}</span>
  107.                             <meta itemprop="position" content="4"/>
  108.                         </li>
  109.                     {% endif %}
  110.                     {% if group is defined and group %}
  111.                         <div class="arrow-bc"></div>
  112.                         <li itemprop="item" class="marker__none" itemprop="itemListElement" itemscope
  113.                             itemtype="https://schema.org/ListItem">
  114.                             <span style="color: #ABABAB" class="breadcrumbs__link" itemprop="name">{{ pageH1 }}</span>
  115.                             <meta itemprop="position" content="4"/>
  116.                         </li>
  117.                     {% endif %}
  118.                 </ol>
  119.             </div>
  120.         </section>
  121.         <section class="selection__catalog__head">
  122.             <div class="container">
  123.                 <h1 class="catalog__title">{{ pageH1 }}</h1>
  124.                 {% if catalogBanner and catalogBanner.imageByLocale(app.request.locale) and catalogBanner.imageMobileByLocale(app.request.locale) %}
  125.                     <a href="{{ catalogBanner.btnLink ? catalogBanner.btnLink : '#' }}"
  126.                         {{ catalogBanner.modal ? 'data-toggle="modal" data-bs-toggle="modal" data-bs-target="#order-car"' : ' '  }}>
  127.                         <img class="global_banner_img catalog-banner-pc" src="{{ sonata_path(catalogBanner.imageByLocale(app.request.locale), 'reference') }}" alt="">
  128.                         <img class="global_banner_img catalog-banner-mobile" src="{{ sonata_path(catalogBanner.imageMobileByLocale(app.request.locale), 'reference') }}" alt="">
  129.                     </a>
  130.                 {% endif %}
  131.                 {% if catalogNav is defined %}
  132.                     {% include '@Portal/Catalog/catalog-nav.html.twig' %}
  133.                 {% endif %}
  134.             </div>
  135.         </section>
  136.         {% include '@Portal/Catalog/catalog-vehicle.html.twig' %}
  137.         <section class="section__salons">
  138.             <div class="container">
  139.                 <h2 class="site__main__title">{{ 'catalog.official_dealers'|trans({}, 'portal_base') }} VIDI</h2>
  140.                 <div class="salons__wrapper">
  141.                     <div v-for="dealer in dealers" class="salons__box">
  142.                         <div class="salons-img" :style="{ backgroundImage: 'url(' + dealer.logo + ')' }">
  143.                         </div>
  144.                         <div class="salons__info__wrapper">
  145.                             <p class="salons__title" v-html="dealer.name"></p>
  146.                             <div class="salons__info__link__box">
  147.                                 <img src="{{ asset('/bundles/portal/img/icon-svg/mappin.svg') }}" :alt="dealer.address" v-html="dealer.address">
  148.                                 <a :href="dealer.mapUrl" class="info__link__text" target="_blank" v-html="dealer.address"></a>
  149.                             </div>
  150.                             <div class="salons__info__link__box">
  151.                                 <img src="{{ asset('/bundles/portal/img/icon-svg/phone.svg') }}" :alt="dealer.phone">
  152.                                 <a :href="'tel:' + dealer.href_phone" v-html="dealer.phone" class="info__link__text"></a>
  153.                             </div>
  154.                             <a class="go-website__link" :href="'https://' + dealer.domain">{{ 'catalog.go_to_site'|trans({}, 'portal_base') }}</a>
  155.                         </div>
  156.                     </div>
  157.                 </div>
  158.             </div>
  159.         </section>
  160.         <section class="section__price__new__car" v-if="seoLinks.blocks">
  161.             <div class="container">
  162.                 {% if modelEm %}
  163.                     {% set carName = brandEm.name~' '~modelEm.title %}
  164.                 {% elseif brandEm %}
  165.                     {% set carName = brandEm.name %}
  166.                 {% endif%}
  167.                 {% if app.request.get('state') == 'new' %}
  168.                     <h2 class="site__main__title">{{ 'catalog.prices'|trans({}, 'portal_base') }} на {{ pageH1 }} {{ 'catalog.in_ukraine'|trans({}, 'portal_base') }} {{ "now"|date("d.m.Y") }}</h2>
  169.                 {% else %}
  170.                     <h2 class="site__main__title">{{ 'catalog.prices'|trans({}, 'portal_base') }} на {{ pageH1 }} {{ "now"|date("d.m.Y") }}</h2>
  171.                 {% endif %}
  172.                 <div class="price__new__car__wrapper">
  173.                     <div class="price__new__car__name__box">
  174.                         <p class="price__new__car__name">{{ 'search.cars'|trans({}, 'portal_base') }}</p>
  175.                         <p class="price__new__car__name">{{ 'catalog.prices'|trans({}, 'portal_base') }}</p>
  176.                     </div>
  177.                     <table class="price__table__wrapper">
  178.                         <tbody>
  179.                         {% for vehicle in vehicleTopViews %}
  180.                             {% if vehicle.isUsed %}
  181.                                 <tr>
  182.                                     <td>
  183.                                         <a href="{{ path('portal_used_car',{url:vehicle.url}) }}">
  184.                                             <p class="price__new__info__name">{{ vehicle.fullName }} {{ vehicle.engineVolume(app.request.locale) | engine_volume_short }} л., {{ vehicle.year }}, {{ vehicle.transmissionTypeName(app.request.locale) }}</p>
  185.                                         </a>
  186.                                     </td>
  187.                                     <td>
  188.                                         <p class="price__new__info__price">{{ vehicle.price|price }} грн</p>
  189.                                     </td>
  190.                                 </tr>
  191.                             {% else %}
  192.                                 <tr>
  193.                                     <td>
  194.                                         <a href="{{ path('portal_new_car',{dealer: vehicle.dealer.url, url:vehicle.url, variation: vehicle.vehicleItemId }) }}">
  195.                                             <p class="price__new__info__name">{{ vehicle.fullName }} {{ vehicle.equipment.title }} {{ vehicle.engineVolume(app.request.locale) | engine_volume_short }} л., {{ vehicle.year }}, {{ vehicle.transmissionTypeName(app.request.locale) }}</p>
  196.                                         </a>
  197.                                     </td>
  198.                                     <td>
  199.                                         <p class="price__new__info__price">{{ vehicle.price|price }} грн</p>
  200.                                     </td>
  201.                                 </tr>
  202.                             {% endif %}
  203.                         {% endfor %}
  204.                         </tbody>
  205.                     </table>
  206.                 </div>
  207.             </div>
  208.         </section>
  209.         <section class="section__select__cars__characteristics" v-if="seoLinks.blocks">
  210.             <div class="container">
  211.                 {% if state == 'used' %}
  212.                     <h2 class="site__main__title">{{ 'catalog.select_used_characteristics'|trans({}, 'portal_base') }}</h2>
  213.                 {% else %}
  214.                     {% if type  == 'car' %}
  215.                         <h2 class="site__main__title">{{ 'catalog.select_characteristics'|trans({}, 'portal_base') }}</h2>
  216.                     {% else %}
  217.                         <h2 class="site__main__title">{{ ('catalog.select_characteristics_' ~ type)|trans({}, 'portal_base') }}</h2>
  218.                     {% endif %}
  219.                 {% endif %}
  220.                 <table class="table__cars__characteristics">
  221.                     <tbody>
  222.                         <tr v-for="(blok, key) in seoLinks.blocks" v-if="key != 'model'" class="select__cars__characteristics__box">
  223.                             <td class="select__cars__characteristics__item-title" v-html="blok.title"></td>
  224.                             <td v-for="link in blok.links">
  225.                                 <a v-if="link.url" :href="link.url"  class="select__cars__characteristics__item" v-html="link.title"></a>
  226.                             </td>
  227.                         </tr>
  228.                     </tbody>
  229.                 </table>
  230.             </div>
  231.         </section>
  232.     </div>
  233. {% endblock %}
  234. {% block schema_catalog_product %}
  235.     {% if count %}
  236.         <script type="application/ld+json">
  237.             {
  238.                 "@context": "https://schema.org",
  239.                 "@type": ["Product"],
  240.                 "name": "1111{{ pageH1 }}",
  241.                 "description": "{{ pageDescription }}",
  242.                 "image": [
  243.             {% for vehicle in vehicles %}
  244.                 {
  245.                     "@type": "ImageObject",
  246.                     "image": "{{ vehicle.vehiclePicture.img }}",
  247.                     "contentUrl": "{{ vehicle.vehiclePicture.img }}"
  248.                 }{% if not loop.last %}{{ ',' }}{% endif %}
  249.             {% endfor %}
  250.             ],
  251.             "offers": {
  252.                 "@type": "AggregateOffer",
  253.                 "priceCurrency": "UAH",
  254.                 "lowPrice": "{{ minMaxPrice.minPrice }}",
  255.                     "highPrice": "{{ minMaxPrice.maxPrice }}",
  256.                     "offerCount": "{{ count }}"
  257.                 }
  258.             }
  259.         </script>
  260.     {% endif %}
  261. {% endblock %}