{# When using this, make sure .swiper-slide is added to the slides #} {% macro maybeCarousel(condition, settingsOverride = {},classes={}) %} {# Settings #} {% set settings = { "addPaginationArrows" : false, "addPaginationDots" : true, "hideOverflow" : false, "loop" : true, "centeredSlides" : false, "autoplay" : false, "slidesPerView" : 3 } %} {% do settings.update(settingsOverride) %} {# Classes #} {% set args = { "swiperContainerClass" : '', "swiperWrapperClass" : '', "class" : '' } %} {% do args.update(classes) %} {% set class = [] %} {% do condition ? class.append('use-carousel position-relative') : '' %} {% do args.class ? class.append(args.class) : '' %} {% set attr = {} %} {% do class ? attr.update({"class" : class|join(' ') }) : '' %} {% set containerClass = [] %} {% do args.swiperContainerClass ? containerClass.append(args.swiperContainerClass) : '' %} {% do settings.hideOverflow ? containerClass.append('overflow-hidden') : '' %}
{% if condition %} {% set attr = { "class" : 'swiper-container '+containerClass|join(' '), "data-swiper" : settings|tojson, "style" : "margin-bottom:30px;" } %}
{{ caller() }}
{% if settings.addPaginationDots %}
{% endif %} {% if settings.addPaginationArrows %}
{% endif %}
{% else %} {{ caller() }} {% endif %}
{% endmacro %}