templates/default/components/molecules/image-slider/image-slider.html.twig line 1

Open in your IDE?
  1. {% macro item(content) %}
  2. <div class="swiper-slide image-slider__slide">
  3. <div class="image-slider__slide-inner">
  4. {{ content }}
  5. </div>
  6. </div>
  7. {% endmacro %}
  8. {% macro itemImage(image, showImageSimilarFlag) %}
  9. {% set content %}
  10. {% include 'components/atoms/image/image.html.twig' with {
  11. 'src': attribute(image.thumbnail, 'large'),
  12. 'alt': image.text,
  13. 'class': 'image-slider__image js-show-lightbox js-zoom-image',
  14. 'attributes': {
  15. 'data-original': attribute(image.thumbnail, 'large')
  16. },
  17. 'imageSimilar': (showImageSimilarFlag|default(false) and image.imageSimilar)
  18. } %}
  19. {% endset %}
  20. {{ _self.item(content) }}
  21. {% endmacro %}
  22. {% macro itemOrbitvu(obitvuSku, showOrbitvuThumbnail, showOrbitvuPreview) %}
  23. {% set content %}
  24. {% if showOrbitvuThumbnail %}
  25. {% include 'components/atoms/image/image.html.twig' with {
  26. 'src': asset('build/images/thumbnails/orbitvu-thumbnail.svg'),
  27. 'alt': '',
  28. 'class': 'image-slider__image'
  29. } %}
  30. {% else %}
  31. <div class="image-slider__orbitvu {% if showOrbitvuPreview %}image-slider__orbitvu--preview{% endif %} image-slider__image js-show-lightbox">
  32. {% set ovusFolder = orbitvuBaseUrl ~ obitvuSku %}
  33. {% set imagesFolder = ovusFolder ~ "/images" %}
  34. <div
  35. class="container"
  36. id="{{ uniqid() }}"
  37. data-orbitvu-ovus-folder="{{ ovusFolder }}"
  38. data-orbitvu-images-folder="{{ imagesFolder }}"
  39. data-orbitvu-preview="{{ showOrbitvuPreview }}"
  40. >
  41. <div class="loader loader--big"></div>
  42. </div>
  43. </div>
  44. {% endif %}
  45. {% endset %}
  46. {{ _self.item(content) }}
  47. {% endmacro %}
  48. {% macro itemVideo(videoId, showVideoThumbnail, showVideoPreview) %}
  49. {% set content %}
  50. {% if showVideoThumbnail %}
  51. {% include 'components/atoms/image/image.html.twig' with {
  52. 'src': '/build/images/thumbnails/video-thumbnail.svg',
  53. 'alt': '',
  54. 'class': 'image-slider__image'
  55. } %}
  56. {% else %}
  57. {% if showVideoPreview %}
  58. <div class="image-slider__video js-show-lightbox">
  59. {% if ("C0003:1" in app.request.cookies.get("OptanonConsent")|default) %}
  60. {% include 'components/atoms/image/image.html.twig' with {
  61. 'src': 'https://img.youtube.com/vi/' ~ videoId ~ '/maxresdefault.jpg',
  62. 'static': true,
  63. 'alt': '',
  64. 'class': 'image-slider__image'
  65. } %}
  66. {% endif %}
  67. </div>
  68. {% else %}
  69. {% include 'components/atoms/youtube/youtube.html.twig' with {'id': videoId, 'autostart': true} %}
  70. {% endif %}
  71. {% endif %}
  72. {% endset %}
  73. {{ _self.item(content) }}
  74. {% endmacro %}
  75. <div class="swiper-container image-slider js-image-slider {{ class|default }}" {{ attributes|default([])|getAttributes }}>
  76. <div class="swiper-wrapper image-slider__wrapper">
  77. {% for image in images|default([])[:1] %}
  78. {{ _self.itemImage(image, showImageSimilarFlag|default(false)) }}
  79. {% endfor %}
  80. {% for videoId in videos|default([]) %}
  81. {{ _self.itemVideo(videoId, showVideoThumbnail|default, showVideoPreview|default) }}
  82. {% endfor %}
  83. {% if obitvuSku|default %}
  84. {{ _self.itemOrbitvu(obitvuSku|default, showOrbitvuThumbnail|default, showOrbitvuPreview|default) }}
  85. {% endif %}
  86. {% for image in images|default([])[1:] %}
  87. {{ _self.itemImage(image, showImageSimilarFlag|default(false)) }}
  88. {% endfor %}
  89. </div>
  90. {% if showPagination|default == true %}
  91. <div class="swiper-pagination image-slider__pagination"></div>
  92. {% endif %}
  93. {% if showNavigation|default == true %}
  94. <div class="swiper-button-prev image-slider__prev"></div>
  95. <div class="swiper-button-next image-slider__next"></div>
  96. {% endif %}
  97. </div>