src/DcSiteBundle/Resources/views/Modules/slider2.html.twig line 1

Open in your IDE?
  1. {#
  2.     Accept vars on import:
  3.     - 'bs5': true or false
  4.     - 'sliderInterval': number or 'false'
  5.     - 'sliderRide': 'carousel' or 'false'
  6. #}
  7. {% set isBS5 = bs5|default(false) %}
  8. <section id="mainSlider" class="carousel slide slider2"
  9.     data-{{ isBS5 ? 'bs-' : '' }}interval="{{ sliderInterval | default(5000) }}"
  10.     data-{{ isBS5 ? 'bs-' : '' }}ride="{{ sliderRide | default('carousel') }}">
  11.     <div class="carousel-inner">
  12.         {% for i, slide in slides %}
  13.         <div class="carousel-item{{ i == 1 ? ' active' : '' }}">
  14.             <a class="d-block" href="{{ slide.id == 'manual' or slide.url is not defined ? '#' : slide.url }}"{{ slide.id == 'manual' ? ' data-toggle="modal" data-target="' ~ slide.url ~ '"' : '' }}>
  15.                 {% if i == 1 %}
  16.                 {# Render main slide right away #}
  17.                 <picture alt="{{ slide.title }}">
  18.                     {% if slide.img_webp_mob %}
  19.                     <source srcset="{{ slide.img_webp_mob }}" type="image/webp"{{ slide.img_webp ? ' media="(max-width: 767px)"' : '' }}>
  20.                     {% endif %}
  21.                     {% if slide.img_mob %}
  22.                     <source srcset="{{ slide.img_mob }}" media="(max-width: 767px)">
  23.                     {% endif %}
  24.                     {% if slide.img_webp %}
  25.                     <source srcset="{{ slide.img_webp }}" type="image/webp"{{ slide.img_webp_mob ? ' media="(min-width: 768px)"' : '' }}>
  26.                     {% endif %}
  27.                     <source srcset="{{ slide.img }}"{{ slide.img_mob ? ' media="(min-width: 768px)"' : '' }}>
  28.                     <img src="{{ slide.img }}" alt="{{ slide.title }}" fetchpriority="high" style="max-width: 100%;">
  29.                 </picture>
  30.                 {% else %}
  31.                 {# See `initLazyPictures()` for lazy loaded pictures #}
  32.                 <picture class="lazy"
  33.                     data-webp="{{ slide.img_webp_mob }}" data-fallback="{{ slide.img_mob }}"
  34.                     data-desktop-webp="{{ slide.img_webp }}" data-desktop-fallback="{{ slide.img }}"
  35.                     alt="{{ slide.title }}"></picture>
  36.                 {% endif %}
  37.             </a>
  38.             {% if (slide.stateTitle is defined and slide.stateTitle) or (slide.stateSubTitle is defined and slide.stateSubTitle) %}
  39.             <div class="slider2__info">
  40.                 {% if slide.stateTitle %}
  41.                 <div class="slider2__title">
  42.                     <span>{{ slide.title }}</span>
  43.                 </div>
  44.                 {% endif %}
  45.                 {% if slide.stateSubTitle %}
  46.                 <div class="slider2__sub-title">
  47.                     <span>{{ slide.subTitle }}</span>
  48.                 </div>
  49.                 {% endif %}
  50.                 {% if slide.car %}
  51.                 <div class="slider2__car-info">
  52.                     <p>{{ 'base.from'|trans({},'dc_toyota_od') }} {{ slide.car | price }} грн</p>
  53.                 </div>
  54.                 {% endif %}
  55.                 {% if dealer.id == 29 %}<div class="slider2__btn__wrapper">{% endif %}
  56.                 {% if slide.btn %}
  57.                 <div class="slider2__btn__wrapper">
  58.                     <a class="btn slider2__btn-f bg-btn btn-w100" href="{{ slide.id == 'manual' ? '#' : slide.url }}">{{ slide.btn }}</a>
  59.                     {% if slide.btnSecTitle and slide.btnSecUrl %}
  60.                     <a class="btn slider2__btn-s slider2__btn-n" href="{{ slide.btnSecUrl }}">{{ slide.btnSecTitle }}</a>
  61.                     {% endif %}
  62.                 </div>
  63.                 {% endif %}
  64.                 {% if dealer.id == 29 %}</div>{% endif %}
  65.             </div>
  66.             {% endif %}
  67.         </div>
  68.         {% endfor %}
  69.     </div>
  70.     {% if slides is iterable and slides|length > 1 %}
  71.     <button class="carousel-control-prev" {{ isBS5 ? 'data-bs-target' : 'href' }}="#mainSlider" role="button" data-{{ isBS5 ? 'bs-' : '' }}slide="prev">
  72.         <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  73.         <span class="{{ isBS5 ? 'visually-hidden' : 'sr-only' }}">Попередній слайд</span>
  74.     </button>
  75.     <button class="carousel-control-next" {{ isBS5 ? 'data-bs-target' : 'href' }}="#mainSlider" role="button" data-{{ isBS5 ? 'bs-' : '' }}slide="next">
  76.         <span class="carousel-control-next-icon" aria-hidden="true"></span>
  77.         <span class="{{ isBS5 ? 'visually-hidden' : 'sr-only' }}">Наступний слайд</span>
  78.     </button>
  79.     {% endif %}
  80. </section>