custom/static-plugins/NdTheme/src/Resources/views/storefront/element/cms-element-image-slider.html.twig line 1

Open in your IDE?
  1. {% block element_image_slider %}
  2.     {% if element.config.autoSlide.value and element.config.autoplayTimeout.value %}
  3.         {% set autoplay = element.config.autoSlide.value %}
  4.         {% set autoplaySpeed = element.config.autoplayTimeout.value %}
  5.     {% endif %}
  6.     {% if element.config.imageRatio.value == 'aspect-square' %}
  7.         {% set image_ratio =  'ratio_1x1' %}
  8.     {% elseif element.config.imageRatio.value == 'aspect-video' %}
  9.         {% set image_ratio =  'ratio_16x9' %}
  10.     {% else %}
  11.         {% set image_ratio =  'ratio_3x4' %}
  12.     {% endif %}
  13.     <div class="sw-native-image-slider-conatiner relative">
  14.         <div class="sw-native-image-slider slick-init" data-slick='{
  15.                      "mobileFirst": true,
  16.                     "arrows": true,
  17.                     {% if autoplay and autoplaySpeed %}
  18.                     "autoplay": true,
  19.                     "autoplaySpeed": {{ autoplaySpeed }},
  20.                     {% endif %}
  21.                     "prevArrow": "#prev-slide-{{ element.id }}",
  22.                     "nextArrow": "#next-slide-{{ element.id }}"
  23.                  }'>
  24.             {% for image in element.data.sliderItems %}
  25.                 {% set imageElement %}
  26.                     <div class="image-slider-item ratio {{ image_ratio }}">
  27.                         {% set attributes = {
  28.                             'class': 'w-full',
  29.                             'alt': (image.media.translated.alt ?: ''),
  30.                             'title': (image.media.translated.title ?: '')
  31.                         } %}
  32.                         {% sw_thumbnails 'cms-image-slider-thumbnails' with {
  33.                             media: image.media
  34.                         } %}
  35.                     </div>
  36.                 {% endset %}
  37.                 {% block element_image_slider_inner_item %}
  38.                     <div class="image-slider-item-container">
  39.                         {% if image.url %}
  40.                             <a href="{{ image.url }}"
  41.                                class="image-slider-link"
  42.                                {% if image.newTab %}target="_blank" rel="noopener"{% endif %}>
  43.                                 {{ imageElement }}
  44.                             </a>
  45.                         {% else %}
  46.                             {{ imageElement }}
  47.                         {% endif %}
  48.                     </div>
  49.                 {% endblock %}
  50.             {% endfor %}
  51.         </div>
  52.         <div class="sw-native-image-slider-controls-container boxed-layout absolute bottom-3 left-0 right-0 pr-5 md:sticky md:-translate-y-[150%] md:-bottom-10">
  53.             <div class="flex grid-gap-2 justify-end">
  54.                 <button id="prev-slide-{{ element.id }}"
  55.                         class="products-back flex p-1 transition duration-300 active:-translate-x-0.5 hover:-translate-x-0.5">
  56.                     {% sw_icon 'chevron-left' style{ 'pack': 'theme-icons', 'class': ' full-size w-8 h-8' } %}
  57.                 </button>
  58.                 <button id="next-slide-{{ element.id }}"
  59.                         class="products-next flex p-1 transition duration-300 active:translate-x-0.5 hover:translate-x-0.5">
  60.                     {% sw_icon 'chevron-right' style{ 'pack': 'theme-icons', 'class': ' full-size w-8 h-8' } %}
  61.                 </button>
  62.             </div>
  63.         </div>
  64.     </div>
  65. {% endblock %}