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

Open in your IDE?
  1. {% extends '@DcSite/Opel/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_opel') }}
  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_opel') }}{% endif %}"/>
  11.     {% if model.seoKeywords(app.request.locale) %}
  12.         <meta name="keywords" content="{{ model.seoKeywords(app.request.locale) }}"/>
  13.     {% endif %}
  14.     {% if model.noindexFollow %}
  15.         <meta name="robots" content="noindex, follow"/>
  16.     {% endif %}
  17.     <link rel="stylesheet" type="text/css" href="/dist/{{ MODE }}/dcsite/opel/css/opelCarCard.css?{{ VERSION }}">
  18. {% endblock %}
  19. {% block ogtagDynamicImage %}
  20.     <meta property="og:image" content="{{ absolute_url(media_url(model.galleryImageOrPreview, 'reference')) }}"/>
  21. {% endblock %}
  22. {% block ogtagDynamic %}
  23.     <meta property="og:title" content="{% if model.seoTitle(app.request.locale) %}{{ model.seoTitle(app.request.locale) }}{% else %}{{ 'seo.main.title'|trans({}, 'dc_opel') }}{% endif %}"/>
  24.     <meta property="og:description" content="{% if model.seoDescription(app.request.locale) %}{{ model.seoDescription(app.request.locale) }}{% else %}{{ 'seo.main.desc'|trans({}, 'dc_opel') }}{% endif %}"/>
  25. {% endblock %}
  26. {% block socialPreview %}
  27.     <img src="{{ absolute_url(media_url(model.galleryImageOrPreview, 'reference')) }}" class="d-none">
  28. {% endblock %}
  29. {% block content %}
  30.     <main class="new__car-car">
  31.         <div style="display: none" class="breadcrumbs__shadow">
  32.             <section class="breadcrumbs__new">
  33.                 <div class="container">
  34.                     <ol class="global_breadcrumbs__new" itemscope itemtype="https://schema.org/BreadcrumbList">
  35.                         <li class="marker__none" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  36.                             <a itemprop="item" href="{{ path('opel_homepage') }}">
  37.                                 <span class="breadcrumbs__link" itemprop="name">opel</span>
  38.                             </a>
  39.                             <meta itemprop="position" content="1"/>
  40.                         </li>
  41.                         <div class="arrow-bcs">
  42.                             ❯</div>
  43.                         <li itemprop="item" class="marker__none" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
  44.                             <span style="color: #837F7F;" class="breadcrumbs__link" itemprop="name">{{ model.fullName }}</span>
  45.                             <meta itemprop="position" content="2"/>
  46.                         </li>
  47.                     </ol>
  48.                 </div>
  49.             </section>
  50.         </div>
  51.         <section class="breadcrumbs__new">
  52.             <div class="container">
  53.                 <ol class="global_breadcrumbs__new">
  54.                     <li class="marker__none">
  55.                         <a href="{{ path('opel_homepage') }}">
  56.                             <span class="breadcrumbs__link">opel</span>
  57.                         </a>
  58.                     </li>
  59.                     <div class="arrow-bcs">
  60.                         ❯</div>
  61.                     <li class="marker__none">
  62.                         <a href="{{ path('opel_model_lineup') }}">
  63.                             <span class="breadcrumbs__link">{{ 'pages.model_lineup.breadcrumb_title'|trans({}, 'dc_opel') }}</span>
  64.                         </a>
  65.                     </li>
  66.                     <div class="arrow-bcs">
  67.                         ❯</div>
  68.                     <li class="marker__none">
  69.                         <span style="color: #837F7F;" class="breadcrumbs__link">{{ model.fullName }}</span>
  70.                     </li>
  71.                 </ol>
  72.             </div>
  73.         </section>
  74.         <div class="page-car-card">
  75.             <div class="container">
  76.                 <div class="name_and_status-flex">
  77.                     <h1 class="car-card-title">
  78.                         <span>{{ model.slogan(app.request.locale) }}</span>
  79.                         {{ model.fullName }}
  80.                         {% if model.hasHybrid %}
  81.                             <span class="car-card-title__hybrid">
  82.                                 {{ 'base.car_cat.hubrid'|trans({}, 'dc_toyota') }}</span>
  83.                         {% endif %}
  84.                     </h1>
  85.                     {% if  model.isNew %}
  86.                         <span class="car_card_status_is_new">{{ 'pages.car.status_is_new'|trans({}, 'dc_base') }}</span>
  87.                     {% endif %}
  88.                 </div>
  89.                 <section class="main-car-card">
  90.                     <div class="main-car-card__gallery">
  91.                         {% include '@DcSite/Modules/car/car-gallery.html.twig' %}
  92.                     </div>
  93.                     <div class="main-car-card__panel">
  94.                         <div class="main-car-card__prices">
  95.                             {% if model.showDisabled == 1 %}
  96.                                 <div>
  97.                                     <span class="car-price">{{ 'archive.title_one'|trans({}, 'dc_base') }}</span>
  98.                                 </div>
  99.                             {% endif %}
  100.                             {% if model.showDisabled == 0 %}
  101.                                 <div class="car-price">
  102.                                     <div class="car-price__title">
  103.                                         {{ 'pages.car_card.price_in_stocks'|trans({},'dc_base') }}
  104.                                     </div>
  105.                                     <p class="car-price__val">
  106.                                         {% if model.price > 0 %}
  107.                                             {{ 'base.from'|trans({},'dc_toyota') }}
  108.                                             {{ model.price|price }}
  109.                                             грн
  110.                                         {% else %}
  111.                                             {{ 'pages.base.no-price'|trans({},'dc_toyota') }}
  112.                                         {% endif %}
  113.                                     </p>
  114.                                     {% if model.hasActionPrice %}
  115.                                         <p class="car-price__val --old">
  116.                                             {{ model.fullPrice|price }}
  117.                                             грн
  118.                                         </p>
  119.                                     {% endif %}
  120.                                     <button type="button" class="btn-tooltip" data-toggle="tooltip" data-placement="left" data-offset="0, 15" title="{{ 'pages.car_card.price_info'|trans({"%brand%": dealer.brand.name,'%date%': "now"|date("d.m.Y")},'dc_base') }}">
  121.                                         ?
  122.                                     </button>
  123.                                 </div>
  124.                                 {% if model.preorderPrice %}
  125.                                     <div class="car-price">
  126.                                         <div class="car-price__title">
  127.                                             {{ 'pages.car_card.price_in_production'|trans({},'dc_base') }}
  128.                                         </div>
  129.                                         <span class="car-price__val">
  130.                                             {{ 'base.from'|trans({},'dc_toyota') }}
  131.                                             {{ model.preorderPrice|price }}
  132.                                             грн
  133.                                         </span>
  134.                                         <button type="button" class="btn-tooltip" data-toggle="tooltip" data-placement="left" data-offset="0, 15" title="{{ 'pages.car_card.preorder_price_info'|trans({'%brand%': dealer.brand.name, "%year%": 'now' | date('Y')},'dc_base') }}">
  135.                                             ?
  136.                                         </button>
  137.                                     </div>
  138.                                 {% endif %}
  139.                             {% endif %}
  140.                             {% if model.showDisabled != 1 %}
  141.                                 <button class="btn-get-consultation" type="button" data-toggle="modal" data-target="#order-car">{{ 'pages.car_card.btn_buy'|trans({}, 'dc_base') }}</button>
  142.                             {% endif %}
  143.                             <ul class="car-panel-menu">
  144.                                 <li class="car-panel-menu__item">
  145.                                     <a href="{{ path('opel_service_testdrive_form') }}" class="car-panel-menu__link">Хочу
  146.                                                                                 Тест-Драйв</a>
  147.                                 </li>
  148.                                 <li class="car-panel-menu__item">
  149.                                     <a href="{{ path('opel_service_accessory_catalog') }}" class="car-panel-menu__link">{{ 'accessories.title'|trans({}, 'dc_toyota') }}</a>
  150.                                 </li>
  151.                                 <li class="car-panel-menu__item">
  152.                                     <a href="{{ path('opel_card_car_configuraion', {car: model.url}) }}" class="car-panel-menu__link">{{ 'car_page.new.tech'|trans({}, 'dc_base') }}</a>
  153.                                 </li>
  154.                                 {% if model.files.count %}
  155.                                     <li class="car-panel-menu__item">
  156.                                         <button class="dropdown-toggle car-panel-menu__link --drop" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{{ 'car_page.new.broshurs'|trans({}, 'dc_base') }}</button>
  157.                                         <div class="dropdown-menu dropdown-menu-broshure">
  158.                                             {% for file in model.files %}
  159.                                                 <a class="dropdown-item" href="{{ path('base_download_file',{ id : file.id }) }}" target="_blank">
  160.                                                     <span class="dropdown-menu-broshure__name">{{ file.title(app.request.locale) }}</span>
  161.                                                 </a>
  162.                                             {% endfor %}
  163.                                         </div>
  164.                                     </li>
  165.                                 {% endif %}
  166.                                 {% if model.firstYoutubeUrl is not empty %}
  167.                                     <li class="navs-list-li">
  168.                                         <a href="#videoReview" class="navs-list-link">{{ 'vehicles.video'|trans({}, 'dc_base') }}</a>
  169.                                     </li>
  170.                                 {% endif %}
  171.                             </ul>
  172.                         </div>
  173.                     </div>
  174.                 </section>
  175.             </div>
  176.             {% include '@DcSite/Modules/car/page-nav_v3.html.twig' %}
  177.             {% if model.showDisabled != 1 %}
  178.                 {% include '@DcSite/Modules/car/finance-services.html.twig' with {newCreditCalc: true} %}
  179.                 {% include '@DcSite/Modules/vehicle/vehicle-price.html.twig' %}
  180.             {% endif %}
  181.             {% include '@DcSite/Modules/vehicle/vehicle-equipment.html.twig' %}
  182.             {% if model.hasInStock or model.showDisabled == 1 %}
  183.                 {% include '@DcSite/Modules/car/card-in-stock-block_v3.html.twig' with {
  184.                     urlCatalog: path('opel_car_stock'),
  185.                     urlUsedCatalog: path('opel_used_car_catalog')
  186.                 } %}
  187.             {% endif %}
  188.             {% include '@DcSite/Modules/vehicle/vehicle-color.html.twig' %}
  189.             {% if model.hasFeatures %}
  190.                 {% include '@DcSite/Modules/car/car-feature_v3.html.twig' %}
  191.             {% endif %}
  192.             {% if faqs %}
  193.                 {% include '@DcSite/Modules/car/car-faq_v3.html.twig' %}
  194.             {% endif %}
  195.             <section class="about-block" id="about">
  196.                 <div class="container">
  197.                     <div class="about-block__title mb-3">
  198.                         {{ 'pages.car.details_about'|trans({},'dc_nissan') }}
  199.                         {{ model.fullName }}
  200.                         {% if model.hasHybrid %}
  201.                             <span>
  202.                                 {{ 'base.car_cat.hubrid'|trans({}, 'dc_toyota') }}</span>
  203.                         {% endif %}
  204.                     </div>
  205.                     <div class="about-block__content content_block">
  206.                         {{ model.content(app.request.locale)|raw }}
  207.                     </div>
  208.                 </div>
  209.             </section>
  210.         </div>
  211.         {% include '@DcSiteBundle/Modules/n-buy-car-popup.html.twig' %}
  212.     </main>
  213.     {% include '@DcSite/Modules/n-buy-acc-popup.html.twig' %}
  214.     {% include '@DcSite/Modules/call-me-popup.html.twig' with  {
  215.         'route': path('form_call_me', {'formType': 4}),
  216.     } %}
  217.     {% include '@DcSite/Modules/sps-popup-credit.html.twig'  with  {'homePage' :  path('opel_homepage') } %}
  218. {% endblock %}
  219. {% block script %}
  220.     <script src="/dist/{{ MODE }}/dcsite/opel/js/opelCarCard.js?{{ VERSION }}"></script>
  221.     <script>
  222.         $(() => {
  223.             window.initCarGallery({
  224.                 firstImage: '{{ webpUrl(model.getFirstGalleryImage,'new_slider') }}',
  225.                 hasVideo: '{{ model.hasVideo }}',
  226.                 loadDataUrl: '{{ path('car-card-load-gallery', {id: model.vehicleId}) }}',
  227.                 lightGalleryUrl: '{{ asset('/bundles/core/js/modules/gallery/lightgallery.js') }}',
  228.                 lightGalleryCss: '{{ asset('/bundles/core/css/modules/gallery/lightgallery.css') }}',
  229.                 galleryCss: '{{ asset('/bundles/core/css/bootstrap_build/carousel.css') }}',
  230.             });
  231.             window.initVehicleColors({
  232.                 vehicleColor: '{{ vehicleColor|json_encode_replace|raw }}',
  233.             });
  234.             window.initInStock({
  235.                 dataCarInStock: '{{ carInStock|json_encode_replace|raw }}',
  236.             });
  237.             window.initTradeIn({
  238.                 initUrl: '{{ path('dc_ti_init') }}',
  239.                 dealer: {{ model.dealer.id }},
  240.                 carId: {{ model.vehicleId }},
  241.                 variationId: {{ model.vehicleItemId }},
  242.                 agreementUrl: '{{ privacyUrl }}',
  243.             });
  244.             window.initCasco({
  245.                 initUrl : '{{ path('base_casco_init') }}',
  246.                 initByDealerUrl : '{{ path('base_casco_init_by_dealer') }}',
  247.                 optionsUrl : '{{ path('base_casco_options') }}',
  248.                 formUrl : '{{ path('base_casco_save_form') }}',
  249.                 privacyUrl: '{{ privacyUrl }}',
  250.                 dealer: {{ model.dealer.id }},
  251.                 carId: {{ model.vehicleId }},
  252.                 variationId: {{ model.vehicleItemId }},
  253.                 disableCarChange: true
  254.             });
  255.             window.initRegCost({
  256.                 initUrl: '{{ path('base_reg_cost_init') }}',
  257.                 carId: {{ model.vehicleId }},
  258.             });
  259.             window.initCompare({
  260.                 initUrl: '{{ path('base_get_model_equipments', {id: model.vehicleId}) }}',
  261.             });
  262.             window.initVehiclePrices({
  263.                 vehiclePrice: '{{ vehiclePrice|json_encode_replace|raw }}',
  264.             });
  265.             window.initVehicleEquipment({
  266.                 vehicleEquipment: '{{ vehicleEquipment|json_encode_replace|raw }}',
  267.                 firstTabOpen: false,
  268.             });
  269.             {# window.accessoriesWidget({
  270.                 carId: {{ model.vehicleId }},
  271.                 vehicleAccessory: '{{ vehicleAccessory|json_encode_replace|raw }}',
  272.                 withoutModelFilter: true,
  273.             }); #}
  274.             const obj = new dcsite.opelCarCard.Credit();
  275.             obj.initCreditCalc({
  276.                 getVehicleBrandUrl: '{{ path('dc_credit_find_brand') }}',
  277.                 getVehicleModelUrl: '{{ path('dc_credit_find_model') }}',
  278.                 getVehicleEquipmentUrl: '{{ path('dc_credit_find_equipment') }}',
  279.                 getVehicleVariationUrl: '{{ path('dc_credit_find_variation') }}',
  280.                 getVehicleUrl: '{{ path('dc_credit_get_vehicle') }}',
  281.                 initCreditCalcUrl: '{{ path('dc_finance_credit_init') }}',
  282.                 initTradeInUrl: '{{ path('dc_ti_init') }}',
  283.                 agreementUrl: '{{ path('automarket_personal_data_agreement') }}',
  284.                 loadListDocumentUrl: '{{ path('dc_credit_load_documents') }}',
  285.                 schedulePaymentUrl: '{{ path('dc_credit_load_schedule_credit_pdf') }}',
  286.                 getVehiclesByWalletUrl: '{{ path('dc_finance_credit_by_price') }}',
  287.                 getVehiclesWithMinPriceUrl: '{{ path('dc_finance_credit_by_price_min') }}',
  288.                 getCrmUUIDUrl: '{{ path('dc_finance_crm_lead_by_uuid') }}',
  289.                 getCrmDataUrl: '{{ path('dc_finance_crm_create_lead') }}',
  290.                 sendLeadUrl: '{{ path('dc_credit_save') }}',
  291.                 ks: '{{ 'catalog.k_s'|trans({}, 'portal_base') }}',
  292.                 enginePower: '{{ 'cars.engine'|trans({}, 'portal_base') }}',
  293.                 translate_month: '{{ 'finance.credit.credit_month_short'|trans({}, 'portal_base') }}',
  294.                 translate_under: '{{ 'finance.credit.credit_under'|trans({}, 'portal_base') }}',
  295.                 translate_first_payment: '{{ 'form.first_give'|trans({}, 'portal_base') }}',
  296.                 translate_uah: ' грн',
  297.                 translate_not_enough_money: '{{ 'finance.credit.not_enough_money'|trans({}, 'portal_base') }}',
  298.                 translate_not_estimate_vehicle: '{{ 'finance.credit.not_estimate_vehicle'|trans({}, 'portal_base') }}',
  299.                 translate_min_first_payment_for_car: '{{ 'finance.credit.min_first_payment_for_car'|trans({}, 'portal_base') }}',
  300.                 translate_unfortunately_not_enough: '{{ 'finance.credit.unfortunately_not_enough'|trans({}, 'portal_base') }}',
  301.                 translate_estimate_vehicle_more_1: '{{ 'finance.credit.translate_estimate_vehicle_more_1'|trans({}, 'portal_base') }}',
  302.                 translate_estimate_vehicle_more_2: '{{ 'finance.credit.translate_estimate_vehicle_more_2'|trans({}, 'portal_base') }}',
  303.                 translate_price_of_your_car: '{{ 'finance.credit.price_of_your_car'|trans({}, 'portal_base') }}',
  304.                 translate_min: '{{ 'finance.credit.min'|trans({}, 'portal_base') }}',
  305.                 translate_min_first_payment: '{{ 'finance.credit.min_first_payment'|trans({}, 'portal_base') }}',
  306.                 translate_min_month_payment: '{{ 'finance.credit.min_month_payment'|trans({}, 'portal_base') }}',
  307.                 translate_month_term_credit: '{{ 'finance.credit.month_term_credit'|trans({}, 'portal_base') }}',
  308.                 continue_first_least: '{{ 'finance.credit.continue_first_least'|trans({}, 'portal_base') }}',
  309.                 translate_term_months: '{{ 'finance.credit.term_months'|trans({}, 'portal_base') }}',
  310.                 translate_term_months_short: '{{ 'finance.credit.term_months_short'|trans({}, 'portal_base') }}',
  311.                 translate_price_from: '{{ 'finance.credit.price_from'|trans({}, 'portal_base') }}',
  312.                 credit_coplectation: '{{ 'finance.credit.credit_coplectation'|trans({}, 'portal_base') }}',
  313.                 credit_modification: '{{ 'finance.credit.credit_modification'|trans({}, 'portal_base') }}',
  314.                 privacyUrl: '{{ privacyUrl }}',
  315.                 name: '{{ app.user.name | default(null) }}',
  316.                 phone: '{{ app.user.phone | default(null) }}',
  317.                 unsetUsedTypeVehicle: true,
  318.                 unsetFlow2: true,
  319.                 newCarUrl: 'opel_card_car',
  320.                 usedCarUrl: '',
  321.                 brand_id: {{model.brand.id }},
  322.                 dealer_id: {{model.dealer.id}},
  323.                 model_id: {{ model.model.id }},
  324.                 newCarCard: true
  325.             });
  326.         });
  327.     </script>
  328.     <script type="application/ld+json">
  329.          {{ structuredData|raw }}
  330.     </script>
  331.     {% block scriptCreditCard %}
  332.     {% endblock %}
  333. {% endblock script %}