You are here

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

Theme override for a view template to display a slider of rows.

Available variables:

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