src/DcSiteBundle/Resources/views/Morris_Garage/Car/car-card.html.twig line 1

Open in your IDE?
  1. {% extends '@DcSite/Morris_Garage/template.html.twig' %}
  2. {% block head %}
  3.     <title>
  4.         {% if model.seoTitle(app.request.locale) %}
  5.             {{ model.seoTitle(app.request.locale) }}
  6.         {% else %}
  7.             {{ 'seo.main.title'|trans({}, 'dc_morris') }}
  8.         {% endif %}
  9.     </title>
  10.     <meta name="description" content="{% if model.seoDescription(app.request.locale) %}{{ model.seoDescription(app.request.locale) }}{% else %}{{ 'seo.main.desc'|trans({}, 'dc_morris') }}{% endif %}"/>
  11.     <meta name="facebook-domain-verification" content="dzyq8tksmolgarcjvze99xuevh7wwz"/>
  12.     {% if model.seoKeywords(app.request.locale) %}
  13.         <meta name="keywords" content="{{ model.seoKeywords(app.request.locale) }}"/>
  14.     {% endif %}
  15.     {% if model.noindexFollow %}
  16.         <meta name="robots" content="noindex, follow"/>
  17.     {% endif %}
  18.     <link rel="stylesheet" type="text/css" href="/dist/{{ MODE }}/dcsite/mg/css/mgCarCard.css?{{ VERSION }}">
  19. {% endblock %}
  20. {% block ogtagDynamicImage %}
  21.     <meta property="og:image" content="{{ absolute_url(media_url(model.galleryImageOrPreview, 'reference')) }}"/>
  22. {% endblock %}
  23. {% block ogtagDynamic %}
  24.     <meta property="og:title" content="{% if model.seoTitle(app.request.locale) %}{{ model.seoTitle(app.request.locale) }}{% else %}{{ 'seo.main.title'|trans({}, 'dc_morris') }}{% endif %}"/>
  25.     <meta property="og:description" content="{% if model.seoDescription(app.request.locale) %}{{ model.seoDescription(app.request.locale) }}{% else %}{{ 'seo.main.desc'|trans({}, 'dc_morris') }}{% endif %}"/>
  26. {% endblock %}
  27. {% block socialPreview %}
  28.     <img src="{{ absolute_url(media_url(model.galleryImageOrPreview, 'reference')) }}" class="d-none">
  29. {% endblock %}
  30. {% block content %}
  31.     <main class="new__car-car">
  32.         <div style="display: none" class="breadcrumbs__shadow">
  33.             <section class="breadcrumbs__new">
  34.                 <div class="container">
  35.                     <ol class="global_breadcrumbs__new" itemscope itemtype="https://schema.org/BreadcrumbList">
  36.                         <li class="marker__none" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  37.                             <a itemprop="item" href="{{ path('mg_homepage') }}">
  38.                                 <span class="breadcrumbs__link" itemprop="name">Morris Garages</span>
  39.                             </a>
  40.                             <meta itemprop="position" content="1"/>
  41.                         </li>
  42.                         <div class="arrow-bcs">
  43.                             ❯</div>
  44.                         <li itemprop="item" class="marker__none" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  45.                             <span style="color: #727272;" class="breadcrumbs__link" itemprop="name">{{ model.fullName }}</span>
  46.                             <meta itemprop="position" content="2"/>
  47.                         </li>
  48.                     </ol>
  49.                 </div>
  50.             </section>
  51.         </div>
  52.         <section class="breadcrumbs__new">
  53.             <div class="container">
  54.                 <ol class="global_breadcrumbs__new">
  55.                     <li class="marker__none">
  56.                         <a href="{{ path('mg_homepage') }}">
  57.                             <span class="breadcrumbs__link">Morris Garages</span>
  58.                         </a>
  59.                     </li>
  60.                     <div class="arrow-bcs">
  61.                         ❯</div>
  62.                     <li class="marker__none">
  63.                         <a href="{{ path('mg_model_lineup') }}">
  64.                             <span class="breadcrumbs__link">{{ 'pages.model_lineup.breadcrumb_title'|trans({}, 'dc_morris') }}</span>
  65.                         </a>
  66.                     </li>
  67.                     <div class="arrow-bcs">
  68.                         ❯</div>
  69.                     <li class="marker__none">
  70.                         <span style="color: #727272;" class="breadcrumbs__link">{{ model.fullName }}</span>
  71.                     </li>
  72.                 </ol>
  73.             </div>
  74.         </section>
  75.         <section class="main-card-car" id="gallery">
  76.             <div class="container">
  77.                 <div class="name_and_status-flex">
  78.                     <h1 class="main-card-car__car-title">
  79.                         {{ model.slogan(app.request.locale) }}
  80.                         {{ model.title(app.request.locale) }}
  81.                     </h1>
  82.                     {% if  model.preOrder %}
  83.                         <span class="car_card_status_is_new ">{{ 'pages.car.is_pre_order'|trans({}, 'dc_base') }}</span>
  84.                     {% elseif model.new %}
  85.                         <span class="car_card_status_is_new ">{{ 'pages.car.status_is_new'|trans({}, 'dc_base') }}</span>
  86.                     {% endif %}
  87.                 </div>
  88.                 <div class="row">
  89.                     <div class="col-md-8 col-lg-9 card-gallery-col">
  90.                         <img src="{{ absolute_url(media_url(model.galleryImageOrPreview, 'reference')) }}" class="d-none"/>
  91.                         {% include '@DcSite/Modules/car/car-gallery.html.twig' %}
  92.                     </div>
  93.                     <div class="col-md-4 col-lg-3">
  94.                         <div class="mb30">
  95.                             {% if model.showDisabled == 1 %}
  96.                                 <div>
  97.                                     <span class="car-price mb20">{{ 'archive.title_one'|trans({}, 'dc_base') }}</span>
  98.                                     <hr>
  99.                                 </div>
  100.                             {% endif %}
  101.                             {% if model.showDisabled == 0 %}
  102.                                 <div>
  103.                                     <div class="main-card-car__price-title">
  104.                                         {{ 'car.price.title'|trans({},'dc_morris') }}
  105.                                     </div>
  106.                                     <span class="main-card-car__price-main">
  107.                                         {% if model.price > 0 %}
  108.                                             {{ 'car.price.from'|trans({}, 'dc_morris') }}
  109.                                             {{ model.price|price }}
  110.                                             грн
  111.                                         {% else %}
  112.                                             {{ 'car.price.no-price'|trans({},'dc_morris') }}
  113.                                         {% endif %}
  114.                                     </span>
  115.                                     {% if model.hasActionPrice %}
  116.                                         <span class="car-price-old mb20">
  117.                                             {{ model.fullPrice|price }}
  118.                                             грн
  119.                                         </span>
  120.                                     {% endif %}
  121.                                     <hr>
  122.                                 </div>
  123.                                 {% if model.preorderPrice %}
  124.                                     <div>
  125.                                         <span class="d-block">
  126.                                             {{ 'car.price.price_in_production'|trans({},'dc_morris') }}
  127.                                         </span>
  128.                                         <span class="car-price mb20">
  129.                                             {{ 'car.price.from'|trans({}, 'dc_morris') }}
  130.                                             {{ model.preorderPrice|price }}
  131.                                             грн
  132.                                         </span>
  133.                                         <hr>
  134.                                     </div>
  135.                                 {% endif %}
  136.                             {% endif %}
  137.                         </div>
  138.                         <div class="mb20">
  139.                             {% if model.showDisabled == 0 %}
  140.                                 <button class="btn btn-primary --size-md w-100 mb20" type="button" data-toggle="modal" data-target="#order-car">{{ 'pages.car_card.btn_book_car'|trans({}, 'dc_base') }}</button>
  141.                                 <a href="{{ path('mg_service_consultation_form_online',{ vehicleId : model.vehicleId }) }}" class="btn btn-outline-primary w-100 mb20">{{ 'btn.consultation'|trans({}, 'dc_morris') }}</a>
  142.                             {% endif %}
  143.                         </div>
  144.                     </div>
  145.                 </div>
  146.             </div>
  147.         </section>
  148.         <div class="car-page-nav sticky-top">
  149.             <div class="container">
  150.                 <ul class="car-page-nav__list mobile-scroll">
  151.                     <li class="car-page-nav__item">
  152.                         <a href="{{ path('mg_card_car_configuraion', {car: model.url}) }}" class="car-page-nav__link">{{ 'car_page.new.complectation'|trans({}, 'dc_base') }}
  153.                             ,
  154.                             {{ 'car_page.new.price'|trans({}, 'dc_base') }}
  155.                             ,
  156.                             {{ 'car_page.new.tech'|trans({}, 'dc_base') }}</a>
  157.                     </li>
  158.                     <li class="car-page-nav__item">
  159.                         <a href="#gallery" class="car-page-nav__link">{{ 'car_page.new.gallery'|trans({}, 'dc_base') }}</a>
  160.                     </li>
  161.                     {% if model.hasInStock %}
  162.                         <li class="car-page-nav__item">
  163.                             <a href="#car-in-stock" class="car-page-nav__link">{{ 'car_page.new.in_stock'|trans({}, 'dc_base') }}</a>
  164.                         </li>
  165.                     {% endif %}
  166.                     {% if vehicleColor is not empty %}
  167.                         <li class="car-page-nav__item">
  168.                             <a href="#select-vehicle-color" class="car-page-nav__link active">{{ 'car_page.new.color'|trans({}, 'dc_base') }}</a>
  169.                         </li>
  170.                     {% endif %}
  171.                     {% if model.firstYoutubeUrl is not empty %}
  172.                         <li class="navs-list-li">
  173.                             <a href="#videoReview" class="navs-list-link">{{ 'vehicles.video'|trans({}, 'dc_base') }}</a>
  174.                         </li>
  175.                     {% endif %}
  176.                     {% if model.hasFeatures %}
  177.                         <li class="car-page-nav__item">
  178.                             <a href="#overview" class="car-page-nav__link">{{ 'car_page.new.overview'|trans({}, 'dc_base') }}</a>
  179.                         </li>
  180.                     {% endif %}
  181.                     {% if model.hasAccessories %}
  182.                         <li class="car-page-nav__item">
  183.                             <a href="#accessories-block" class="car-page-nav__link">{{ 'pages.accessories.title'|trans({}, 'dc_morris') }}</a>
  184.                         </li>
  185.                     {% endif %}
  186.                     {% if model.files.count %}
  187.                         <li class="car-page-nav__item">
  188.                             <a href="#" class="dropdown-toggle car-page-nav__link" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ 'car_page.new.broshurs'|trans({}, 'dc_base') }}</a>
  189.                             <div class="dropdown-menu dropdown-menu-broshure" x-placement="bottom-start">
  190.                                 {% for file in model.files %}
  191.                                     <a class="dropdown-item" href="{{ path('base_download_file',{ id : file.id }) }}" target="_blank">
  192.                                         <div>
  193.                                             <span class="broshure-name">{{ file.title(app.request.locale) }}</span>
  194.                                             {# <span class="broshure-format">PDF, 1.5MB</span> #}
  195.                                         </div>
  196.                                     </a>
  197.                                 {% endfor %}
  198.                             </div>
  199.                         </li>
  200.                     {% endif %}
  201.                     {% if faqs %}
  202.                         <li class="car-page-nav__item ml-0">
  203.                             <a href="#faqwrapper" class="car-page-nav__link">{{ 'pages.car_card.nav.faq'|trans({}, 'dc_base') }}</a>
  204.                         </li>
  205.                     {% endif %}
  206.                 </ul>
  207.             </div>
  208.         </div>
  209.         {% if model.showDisabled != 1 %}
  210.             {% include '@DcSite/Modules/car/finance-services.html.twig' with {newCreditCalc: true} %}
  211.         {% endif %}
  212.         {% if model.hasInStock or model.showDisabled == 1 %}
  213.             {% include '@DcSite/Morris_Garage/Car/card-in-stock-block.html.twig' %}
  214.         {% endif %}
  215.         {% include '@DcSite/Modules/vehicle/vehicle-color.html.twig' %}
  216.         {% if model.firstYoutubeUrl is not empty %}
  217.            <section class="section_car_video" id="videoReview">
  218.                 <div class="container">
  219.                     {% include '@DcSite/Modules/vehicle/video-block.html.twig' with {'videoPath': model.firstYoutubeUrl, 'brand':model.brand.name,'model':model.modelName } %}
  220.                 </div>
  221.             </section>
  222.         {% endif %}
  223.         {% if model.hasFeatures %}
  224.             {% include '@DcSite/Modules/car/car-feature.html.twig' %}
  225.         {% endif %}
  226.         {% if model.hasAccessories %}
  227.          <section class="accessories section-padding pt-4 pb-4" id="accessories-block">
  228.             <div class="container">
  229.                 <div class="row">
  230.                     <div class="col-md-12 title mb-3">
  231.                         <span>{{ 'accessories.title'|trans({}, 'dc_toyota') }}</span>
  232.                     </div>
  233.                 </div>
  234.             </div>
  235.             {% include '@DcSite/Modules/accessories.html.twig' with { 'savePath': path('form_buy_parts') } %}
  236.         </section>
  237.         {% endif %}
  238.         {% if faqs %}
  239.             <section id="faqwrapper" class="faq__wrapper">
  240.                 {% include '@DcSite/Modules/car/car-faq_v3.html.twig' %}
  241.             </section>
  242.         {% endif %}
  243.         <section class="seo-block">
  244.             <div class="container">
  245.                 <div class="row">
  246.                     <div class="col-md-12 title">
  247.                         <span>{{ model.fullName }}</span>
  248.                     </div>
  249.                 </div>
  250.                 <div class="row">
  251.                     <div class="col-12">
  252.                         <div class="seo-text">
  253.                             {{ model.content(app.request.locale)|raw }}
  254.                         </div>
  255.                         <button type="button" class="seo-btn">
  256.                             <span class="seo-btn__txt-show">
  257.                                 {{ 'car_in_stock_module.show_whole'|trans({}, 'dc_base') }}
  258.                             </span>
  259.                             <span class="seo-btn__txt-hide">
  260.                                 {{ 'car_in_stock_module.hide_whole'|trans({}, 'dc_base') }}
  261.                             </span>
  262.                         </button>
  263.                     </div>
  264.                 </div>
  265.             </div>
  266.         </section>
  267.         {% include '@DcSiteBundle/Modules/n-buy-car-popup.html.twig' %}
  268.     </main>
  269.     {% include '@DcSite/Modules/n-buy-acc-popup.html.twig' %}
  270.     {% include '@DcSite/Modules/call-me-popup.html.twig' with  {
  271.         'route': path('form_call_me', {'formType': 4}),
  272.     } %}
  273.     {% include '@DcSite/Modules/sps-popup-credit.html.twig'  with  {'homePage' :  path('mg_homepage') } %}
  274. {% endblock %}
  275. {% block script %}
  276.     <script src="/dist/{{ MODE }}/dcsite/mg/js/mgCarCard.js?{{ VERSION }}"></script>
  277.     <script>
  278.         $(() => {
  279.             window.initCarGallery({
  280.                 firstImage: '{{ webpUrl(model.getFirstGalleryImage,'new_slider') }}',
  281.                 hasVideo: '{{ model.hasVideo }}',
  282.                 loadDataUrl: '{{ path('car-card-load-gallery', {id: model.vehicleId}) }}',
  283.                 lightGalleryUrl: '{{ asset('/bundles/core/js/modules/gallery/lightgallery.js') }}',
  284.                 lightGalleryCss: '{{ asset('/bundles/core/css/modules/gallery/lightgallery.css') }}',
  285.                 galleryCss: '{{ asset('/bundles/core/css/bootstrap_build/carousel.css') }}',
  286.             });
  287.             window.initVehicleColors({
  288.                 vehicleColor: '{{ vehicleColor|json_encode_replace|raw }}',
  289.             });
  290.             window.initInStock({
  291.                 dataCarInStock: '{{ carInStock|json_encode_replace|raw }}',
  292.             });
  293.             window.initTradeIn({
  294.                 initUrl: '{{ path('dc_ti_init') }}',
  295.                 dealer: {{ model.dealer.id }},
  296.                 carId: {{ model.vehicleId }},
  297.                 variationId: {{ model.vehicleItemId }},
  298.                 agreementUrl: '{{ privacyUrl }}',
  299.             });
  300.             window.initCasco({
  301.                 initUrl : '{{ path('base_casco_init') }}',
  302.                 initByDealerUrl : '{{ path('base_casco_init_by_dealer') }}',
  303.                 optionsUrl : '{{ path('base_casco_options') }}',
  304.                 formUrl : '{{ path('base_casco_save_form') }}',
  305.                 privacyUrl: '{{ privacyUrl }}',
  306.                 dealer: {{ model.dealer.id }},
  307.                 carId: {{ model.vehicleId }},
  308.                 variationId: {{ model.vehicleItemId }},
  309.                 disableCarChange: true
  310.             });
  311.             window.initRegCost({
  312.                 initUrl: '{{ path('base_reg_cost_init') }}',
  313.                 carId: {{ model.vehicleId }},
  314.             });
  315.             window.initAccessory({
  316.                 dealer: {{ model.dealer.id }},
  317.                 carId: {{ model.vehicleId }},
  318.                 initUrl: '{{ path('base_accessories_widget_init') }}',
  319.                 initByDealerUrl: '{{ path('base_accessories_widget_by_dealer') }}',
  320.                 withoutModelFilter: true,
  321.             });
  322.             const obj = new dcsite.mgCarCard.Credit();
  323.             obj.initCreditCalc({
  324.                 getVehicleBrandUrl: '{{ path('dc_credit_find_brand') }}',
  325.                 getVehicleModelUrl: '{{ path('dc_credit_find_model') }}',
  326.                 getVehicleEquipmentUrl: '{{ path('dc_credit_find_equipment') }}',
  327.                 getVehicleVariationUrl: '{{ path('dc_credit_find_variation') }}',
  328.                 getVehicleUrl: '{{ path('dc_credit_get_vehicle') }}',
  329.                 initCreditCalcUrl: '{{ path('dc_finance_credit_init') }}',
  330.                 initTradeInUrl: '{{ path('dc_ti_init') }}',
  331.                 agreementUrl: '{{ path('automarket_personal_data_agreement') }}',
  332.                 loadListDocumentUrl: '{{ path('dc_credit_load_documents') }}',
  333.                 schedulePaymentUrl: '{{ path('dc_credit_load_schedule_credit_pdf') }}',
  334.                 getVehiclesByWalletUrl: '{{ path('dc_finance_credit_by_price') }}',
  335.                 getVehiclesWithMinPriceUrl: '{{ path('dc_finance_credit_by_price_min') }}',
  336.                 getCrmUUIDUrl: '{{ path('dc_finance_crm_lead_by_uuid') }}',
  337.                 getCrmDataUrl: '{{ path('dc_finance_crm_create_lead') }}',
  338.                 sendLeadUrl: '{{ path('dc_credit_save') }}',
  339.                 ks: '{{ 'catalog.k_s'|trans({}, 'portal_base') }}',
  340.                 enginePower: '{{ 'cars.engine'|trans({}, 'portal_base') }}',
  341.                 translate_month: '{{ 'finance.credit.credit_month_short'|trans({}, 'portal_base') }}',
  342.                 translate_under: '{{ 'finance.credit.credit_under'|trans({}, 'portal_base') }}',
  343.                 translate_first_payment: '{{ 'form.first_give'|trans({}, 'portal_base') }}',
  344.                 translate_uah: ' грн',
  345.                 translate_not_enough_money: '{{ 'finance.credit.not_enough_money'|trans({}, 'portal_base') }}',
  346.                 translate_not_estimate_vehicle: '{{ 'finance.credit.not_estimate_vehicle'|trans({}, 'portal_base') }}',
  347.                 translate_min_first_payment_for_car: '{{ 'finance.credit.min_first_payment_for_car'|trans({}, 'portal_base') }}',
  348.                 translate_unfortunately_not_enough: '{{ 'finance.credit.unfortunately_not_enough'|trans({}, 'portal_base') }}',
  349.                 translate_price_of_your_car: '{{ 'finance.credit.price_of_your_car'|trans({}, 'portal_base') }}',
  350.                 translate_estimate_vehicle_more_1: '{{ 'finance.credit.translate_estimate_vehicle_more_1'|trans({}, 'portal_base') }}',
  351.                 translate_estimate_vehicle_more_2: '{{ 'finance.credit.translate_estimate_vehicle_more_2'|trans({}, 'portal_base') }}',
  352.                 translate_min: '{{ 'finance.credit.min'|trans({}, 'portal_base') }}',
  353.                 translate_min_first_payment: '{{ 'finance.credit.min_first_payment'|trans({}, 'portal_base') }}',
  354.                 translate_min_month_payment: '{{ 'finance.credit.min_month_payment'|trans({}, 'portal_base') }}',
  355.                 translate_month_term_credit: '{{ 'finance.credit.month_term_credit'|trans({}, 'portal_base') }}',
  356.                 continue_first_least: '{{ 'finance.credit.continue_first_least'|trans({}, 'portal_base') }}',
  357.                 translate_term_months: '{{ 'finance.credit.term_months'|trans({}, 'portal_base') }}',
  358.                 translate_term_months_short: '{{ 'finance.credit.term_months_short'|trans({}, 'portal_base') }}',
  359.                 translate_price_from: '{{ 'finance.credit.price_from'|trans({}, 'portal_base') }}',
  360.                 credit_coplectation: '{{ 'finance.credit.credit_coplectation'|trans({}, 'portal_base') }}',
  361.                 credit_modification: '{{ 'finance.credit.credit_modification'|trans({}, 'portal_base') }}',
  362.                 privacyUrl: '{{ privacyUrl }}',
  363.                 name: '{{ app.user.name | default(null) }}',
  364.                 phone: '{{ app.user.phone | default(null) }}',
  365.                 unsetUsedTypeVehicle: true,
  366.                 unsetFlow2: true,
  367.                 newCarUrl: 'mg_card_car',
  368.                 usedCarUrl: '',
  369.                 brand_id: {{model.brand.id }},
  370.                 dealer_id: {{model.dealer.id}},
  371.                 model_id: {{ model.model.id }},
  372.                 newCarCard: true,
  373.             });
  374.         });
  375.     </script>
  376.     <script type="application/ld+json">
  377.          {{ structuredData|raw }}
  378.     </script>
  379.     {% block scriptCreditCard %}
  380.     {% endblock %}
  381. {% endblock script %}