You are here

uikit-view-slideshow.html.twig in UIkit Components 8.3

Theme override for a view template to display an slideshow of rows.

Available variables:

  • slideshow_attributes: HTML attributes for the container.
  • items: A list of rows for this slideshow.
    • title: The row's title.
    • content: The row's contents.
  • title: The title of this group of rows. May be empty.

File

uikit_views/templates/views/uikit-view-slideshow.html.twig
View source
  1. {#
  2. /**
  3. * @file
  4. * Theme override for a view template to display an slideshow of rows.
  5. *
  6. * Available variables:
  7. * - slideshow_attributes: HTML attributes for the container.
  8. * - items: A list of rows for this slideshow.
  9. * - title: The row's title.
  10. * - content: The row's contents.
  11. * - title: The title of this group of rows. May be empty.
  12. *
  13. * @see template_preprocess_uikit_view_slideshow()
  14. */
  15. #}
  16. {% set slideshow_classes = [
  17. 'uk-slideshow',
  18. light ? 'uk-light': '',
  19. slidenav_outside ? '': 'uk-slideshow-container',
  20. slidenav_outside ? '': 'uk-position-relative',
  21. slidenav_outside ? '': 'uk-visible-toggle',
  22. ]
  23. %}
  24. {% set panel_classes = [
  25. 'uk-panel',
  26. caption_toggle ? 'uk-transition-toggle',
  27. ]
  28. %}
  29. {% if caption_toggle == TRUE %}
  30. {% set panel_attributes = panel_attributes.setAttribute('tabindex', 0) %}
  31. {% endif %}
  32. {% set caption_classes = [
  33. 'uk-overlay',
  34. 'uk-text-center',
  35. caption_background,
  36. caption_transition,
  37. caption_position,
  38. (caption_position == 'uk-position-cover') ? 'uk-flex',
  39. (caption_position == 'uk-position-cover') ? 'uk-flex-center',
  40. (caption_position == 'uk-position-cover') ? 'uk-flex-middle',
  41. caption_modifier,
  42. ]
  43. %}
  44. {% set slidenav_classes = [
  45. 'uk-position-medium',
  46. 'uk-hidden-hover',
  47. slidenav_big ? 'uk-slidenav-large',
  48. ]
  49. %}
  50. {% set slidenav_left_classes = [
  51. slidenav_outside ? 'uk-position-center-left-out': 'uk-position-center-left',
  52. ]
  53. %}
  54. {% set slidenav_right_classes = [
  55. slidenav_outside ? 'uk-position-center-right-out': 'uk-position-center-right',
  56. ]
  57. %}
  58. {% if title %}
  59. <h3>{{ title }}</h3>
  60. {% endif %}
  61. <div{{ slideshow_attributes.addClass(slideshow_classes) }}>
  62. {% if slidenav_outside %}
  63. <div class="uk-position-relative">
  64. <div class="uk-slideshow-container">
  65. {% endif %}
  66. {# Items #}
  67. <ul class="uk-slideshow-items">
  68. {% for row in items %}
  69. <li>
  70. <div{{ panel_attributes.addClass(panel_classes) }}>
  71. {{ row.image }}
  72. {% if row.title or row.caption %}
  73. <div {{ caption_attributes.addClass(caption_classes) }}>
  74. <h3 class="uk-margin-remove">{{ row.title }}</h3>
  75. <p class="uk-margin-remove">{{ row.caption }}</p>
  76. </div>
  77. {% endif %}
  78. </div>
  79. </li>
  80. {% endfor %}
  81. </ul>
  82. {% if slidenav_outside %}
  83. </div>
  84. {% endif %}
  85. {# Slidenav #}
  86. {% if slidenav %}
  87. <a href="#" {{ slidenav_left_attributes.addClass(slidenav_classes).addClass(slidenav_left_classes) }}></a>
  88. <a href="#" {{ slidenav_right_attributes.addClass(slidenav_classes).addClass(slidenav_right_classes) }}></a>
  89. {% endif %}
  90. {% if slidenav_outside %}
  91. </div>
  92. {% endif %}
  93. {# Dotnav #}
  94. {% if dotnav %}
  95. <ul class="uk-slideshow-nav uk-dotnav uk-flex-center uk-margin"></ul>
  96. {% endif %}
  97. {# Thumbnav #}
  98. {% if thumbnav %}
  99. <ul class="uk-thumbnav">
  100. {% for row in items %}
  101. <li data-uk-slideshow-item="{{ loop.index0 }}"><a href="#">{{ row.thumbnail }}</a></li>
  102. {% endfor %}
  103. </ul>
  104. {% endif %}
  105. </div>