custom/plugins/TcinnThemeWareModern/src/Resources/views/storefront/element/cms-element-twt-button-teaser.html.twig line 1

Open in your IDE?
  1. {# ThemeWare: CMS element "Button teaser" #}
  2. {# TODO: prüfen... #}
  3. {# ---------------- START: SET VARS ---------------- #}
  4. {# ThemeWare: Set variables #}
  5. {#% set twtButtonTeaser = element.translated.config %#}
  6. {% set twtButtonTeaser = element.fieldConfig.elements %}
  7. {# Tab: Layout #}
  8. {% set twtButtonTeaserHoverEffect = twtButtonTeaser.hoverEffect.value %}
  9. {# TODO... #}
  10. {# Tab: Advanced #}
  11. {% set twtButtonTeaserCssClass = twtButtonTeaser.cssClass.value %}
  12. {# ---------------- END: SET VARS ---------------- #}
  13. {# ---------------- START: SET CLASSES ---------------- #}
  14. {% set overlayClasses = ['overlay'] %}
  15. {% if twtButtonTeaserHoverEffect != 'none' %}
  16.     {% if twtButtonTeaserHoverEffect != "fadeOut" %}
  17.         {% set overlayClasses = ['fade-in']|merge(overlayClasses) %}
  18.     {% else %}
  19.         {% set overlayClasses = ['fade-out']|merge(overlayClasses) %}
  20.     {% endif %}
  21. {% endif %}
  22. {% set contentClasses = ['content'] %}
  23. {% if twtButtonTeaserHoverEffect != 'none' %}
  24.     {% if twtButtonTeaserHoverEffect == "slideIn" %}
  25.         {% set contentClasses = ['fade-in']|merge(contentClasses) %}
  26.     {% elseif twtButtonTeaserHoverEffect == "slideInUp" %}
  27.         {% set contentClasses = ['fade-in-up']|merge(contentClasses) %}
  28.     {% elseif twtButtonTeaserHoverEffect == "slideInRight" %}
  29.         {% set contentClasses = ['fade-in-right']|merge(contentClasses) %}
  30.     {% elseif twtButtonTeaserHoverEffect == "slideInDown" %}
  31.         {% set contentClasses = ['fade-in-down']|merge(contentClasses) %}
  32.     {% elseif twtButtonTeaserHoverEffect == "slideInLeft" %}
  33.         {% set contentClasses = ['fade-in-left']|merge(contentClasses) %}
  34.     {% elseif twtButtonTeaserHoverEffect == "zoomIn" %}
  35.         {% set contentClasses = ['zoom-in']|merge(contentClasses) %}
  36.     {% elseif twtButtonTeaserHoverEffect == "fadeOut" %}
  37.         {% set contentClasses = ['fade-out']|merge(contentClasses) %}
  38.     {#% elseif twtButtonTeaserHoverEffect == null %}
  39.         {% set contentClasses = ['fade-in-right']|merge(contentClasses) %#}
  40.     {% endif %}
  41. {% endif %}
  42. {# ---------------- END: SET CLASSES ---------------- #}
  43. {% block element_twt_button_teaser %}
  44.     {% set config = element.fieldConfig.elements %}
  45.     {# TODO: finalize #}
  46.     <div class="cms-element-{{ element.type }}{% if config.verticalAlign.value %} has-vertical-alignment{% endif %}{% if twtButtonTeaserHoverEffect != 'none' %} is-hover{% endif %}{% if twtButtonTeaserCssClass is not empty %} {{ twtButtonTeaserCssClass }}{% endif %}">
  47.         {% block element_twt_button_teaser_content %}
  48.             {% if config.verticalAlign.value %}
  49.                 <div class="cms-element-alignment{% if config.verticalAlign.value == "center" %} align-self-center{% elseif config.verticalAlign.value == "flex-end" %} align-self-end{% else %} align-self-start{% endif %}">
  50.             {% endif %}
  51.             {% block element_twt_button_teaser_image_inner %}
  52.                 {# ThemeWare: Set 'Button teaser' element #}
  53.                 {% set buttonTeaser %}
  54.                     <div class="twt-button-teaser-container cms-content-container justify-content-{{ config.horizontalAlignment.value }} align-items-{{ config.verticalAlignment.value }}">
  55.                         {# Colored overlay (if configured) #}
  56.                         {% if config.colorOverlay.value %}
  57.                             <div class="twt-button-teaser-overlay color-overlay {{ overlayClasses|sort|join(' ') }}" style="background-color: {{ config.colorOverlayBgColor.value }};"></div>
  58.                         {% endif %}
  59.                         {# Button (mandatory) #}
  60.                         <div class="twt-button-teaser-content {{ contentClasses|sort|join(' ') }}">
  61.                             {# Info: Title tag = Button text (as the text is mandatory) #}
  62.                             <a href="{{ element.translated.config.url.value }}"
  63.                                title="{{ element.translated.config.buttonText.value }}"
  64.                                class="twt-button-teaser-button btn btn-{% if config.buttonOutline.value %}outline-{% endif %}{{ config.buttonStyle.value }}"
  65.                                {% if element.translated.config.newTab.value %}target="_blank" rel="noopener"{% endif %}>
  66.                                 {{ element.translated.config.buttonText.value }}
  67.                             </a>
  68.                         </div>
  69.                     </div>
  70.                 {% endset %}
  71.                 {# ThemeWare: Set image element #}
  72.                 {% set imageElement %}
  73.                     {% block element_twt_button_teaser_image_container %}
  74.                         {% if element.data.media.url %}
  75.                             <div class="twt-button-teaser-image-container cms-image-container is-{{ element.translated.config.displayMode.value }}" {% if element.translated.config.minHeight.value and element.translated.config.displayMode.value == "cover" %} style="min-height: {{ element.translated.config.minHeight.value }};"{% endif %}>
  76.                                 {% block element_twt_button_teaser_image_media %}
  77.                                     {% set attributes = {
  78.                                         'class': 'cms-image',
  79.                                         'alt': (element.data.media.translated.alt ?: ''),
  80.                                         'title': (element.data.media.translated.title ?: '')
  81.                                     } %}
  82.                                     {% if element.translated.config.displayMode.value == 'cover' or element.translated.config.displayMode.value == 'contain' %}
  83.                                         {% set attributes = attributes|merge({ 'data-object-fit': element.translated.config.displayMode.value }) %}
  84.                                     {% endif %}
  85.                                     {% sw_thumbnails 'cms-image-thumbnails' with {
  86.                                         media: element.data.media
  87.                                     } %}
  88.                                 {% endblock %}
  89.                                 {# ThemeWare: Load 'Button teaser' element #}
  90.                                 {{ buttonTeaser }}
  91.                             </div>
  92.                         {% endif %}
  93.                     {% endblock %}
  94.                 {% endset %}
  95.                 {# ThemeWare: Load image element #}
  96.                 {{ imageElement }}
  97.             {% endblock %}
  98.             {% if config.verticalAlign.value %}
  99.                 </div>
  100.             {% endif %}
  101.         {% endblock %}
  102.     </div>
  103. {% endblock %}