carousel_block.html 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. {% extends "coderedcms/blocks/base_block.html" %}
  2. {% load wagtailcore_tags wagtailimages_tags %}
  3. {% block block_render %}
  4. <div id="carousel-{{self.carousel.id}}" class="carousel slide" data-bs-ride="carousel">
  5. {% if self.carousel.show_indicators %}
  6. <div class="carousel-indicators">
  7. {% for item in self.carousel.carousel_slides.all %}
  8. <button type="button" data-bs-target="#carousel-{{self.carousel.id}}" data-bs-slide-to="{{forloop.counter0}}" {% if forloop.counter0 == 0 %}class="active" aria-current="true"{% endif %} aria-label="Slide {{ forloop.counter1 }}"></button>
  9. {% endfor %}
  10. </div>
  11. {% endif %}
  12. <div class="carousel-inner">
  13. {% for item in self.carousel.carousel_slides.all %}
  14. {% block carousel_slide %}
  15. <div
  16. class="carousel-item {% if not item.image %}no-img{% endif %} {% if forloop.counter0 == 0 %}active{% endif %} {{item.custom_css_class}}"
  17. {% if item.custom_id %}id="#{{item.custom_id}}"{% endif %}
  18. style="{% if item.background_color %}background-color: {{item.background_color}};{% endif %}">
  19. {% block carousel_slide_image %}
  20. {% if item.image %}
  21. {% image item.image fill-1600x900 format-webp preserve-svg as carouselimage %}
  22. <img class="d-block w-100" src="{{carouselimage.url}}" alt="{{carouselimage.image.title}}">
  23. {% endif %}
  24. {% endblock %}
  25. <div class="carousel-caption d-none d-md-block">
  26. {% for block in item.content %}
  27. {% include_block block %}
  28. {% endfor %}
  29. </div>
  30. </div>
  31. {% endblock %}
  32. {% endfor %}
  33. </div>
  34. {% if self.carousel.show_controls %}
  35. <button class="carousel-control-prev" data-bs-target="#carousel-{{self.carousel.id}}" type="button" data-bs-slide="prev">
  36. <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  37. <span class="visually-hidden">Previous</span>
  38. </button>
  39. <button class="carousel-control-next" data-bs-target="#carousel-{{self.carousel.id}}" type="button" data-bs-slide="next">
  40. <span class="carousel-control-next-icon" aria-hidden="true"></span>
  41. <span class="visually-hidden">Next</span>
  42. </button>
  43. {% endif %}
  44. </div>
  45. {% endblock %}