templates/default/components/molecules/banner/banner.html.twig line 1

Open in your IDE?
  1. {% import 'macros/storyblok.html.twig' as storyblok %}
  2. {% set bannerModifiers = '' %}
  3. {% if bannerStyle is defined %}
  4. {% set bannerModifiers = bannerModifiers ~ ' banner--' ~ bannerStyle %}
  5. {% if bannerStyle == 'content-box' %}
  6. {% set bannerHeadlineModifier = ' headline--background' %}
  7. {% endif %}
  8. {% endif %}
  9. {% if invertColor is defined and invertColor == true%}
  10. {% set bannerModifiers = bannerModifiers ~ ' banner--invert' %}
  11. {% endif %}
  12. {% if overlay is defined and overlay == true%}
  13. {% set bannerModifiers = bannerModifiers ~ ' banner--overlay' %}
  14. {% endif %}
  15. {% if button is defined %}
  16. {% set button = button|map((buttonItem) => buttonItem|merge({ text: buttonItem.label|default(buttonItem.text|default('')) })) %}
  17. {% endif %}
  18. {% set inner %}
  19. <div class="banner__background">
  20. <div class="banner__image">
  21. {# atoms/image #}
  22. {{ render_storyblok(banner, {
  23. class: 'banner__img-element image__src--cover',
  24. objectFit: 'cover'
  25. }) }}
  26. </div>
  27. <div class="banner__image-overlay"></div>
  28. </div>
  29. <div class="banner__inner">
  30. <div class="banner__content">
  31. {% if headline is defined %}
  32. <div class="banner__headline">
  33. {# atoms/headline #}
  34. {{ render_storyblok(headline, {
  35. class: 'headline--no-spacing' ~ bannerHeadlineModifier|default,
  36. }) }}
  37. </div>
  38. {% endif %}
  39. {% if subheadline is defined %}
  40. <div class="banner__subheadline">
  41. {# atoms/headline #}
  42. {{ render_storyblok(subheadline, {
  43. class: 'headline--no-spacing',
  44. }) }}
  45. </div>
  46. {% endif %}
  47. {% if description is defined %}
  48. <div class="banner__description">
  49. {# atoms/paragraph or molecules/text-list #}
  50. {{ render_storyblok(description, {
  51. class: 'banner__text',
  52. }) }}
  53. </div>
  54. {% endif %}
  55. {% if button is defined %}
  56. {% if button|length > 1 %}
  57. {% for buttonItem in button %}
  58. <div class="banner__action">
  59. {{ render_storyblok(buttonItem) }}
  60. </div>
  61. {% endfor %}
  62. {% else %}
  63. {% set buttonclean = button|first %}
  64. <div class="banner__action">
  65. {{ render_storyblok(buttonclean, {
  66. href: false,
  67. }) }}
  68. </div>
  69. {% endif %}
  70. {% endif %}
  71. </div>
  72. </div>
  73. {% endset %}
  74. {% if button is defined and button|length == 1 %}
  75. <a class="banner{{ bannerModifiers }} {{ class|default }}" href="{{ storyblok.storyblokLink((button|first).href)|spaceless }}">
  76. {{ inner }}
  77. </a>
  78. {% else %}
  79. <div class="banner{{ bannerModifiers }} {{ class|default }}">
  80. {{ inner }}
  81. </div>
  82. {% endif %}