custom/plugins/ATNTheme/src/Resources/views/storefront/element/cms-element-text.html.twig line 1

Open in your IDE?
  1. {% sw_extends '@Storefront/storefront/element/cms-element-text.html.twig' %}
  2. {% block element_text %}
  3.     {% set config = element.fieldConfig.elements %}
  4.     {% set customId = 'cms-el-' ~ random(5) ~ element.id ~ random(5) %}
  5.     {% if 'blurred-text-box' in config.cssClass.value %}
  6.         {#  use color as fallback #}
  7.         {% set fallbackColor = theme_config('sw-color-brand-primary') %}
  8.         {% set fallbackBackground = "linear-gradient(#{fallbackColor}, #{fallbackColor})" %}
  9.         {# use background image from section as fallback #}
  10.         {% set mediaId = section.backgroundMediaId %}
  11.         {% set mediaCollection = searchMedia([mediaId], context.context) %}
  12.         {% set mediaItem = mediaCollection.get(mediaId) %}
  13.         {% if mediaItem.url %}
  14.             {% set fallbackBackground = "url('#{mediaItem.url}')" %}
  15.         {% endif %}
  16.         {# use (biggest) thumbnail as fallback #}
  17.         {% if mediaItem.thumbnails.elements %}
  18.             {% for thumbnail in mediaItem.thumbnails.elements |filter((a, b) => (a.width > b.width ? 1 : -1)) %}
  19.                 {% if loop.first and thumbnail.url %}
  20.                     {% set fallbackBackground = "url('#{thumbnail.url}')" %}
  21.                 {% endif %}
  22.             {% endfor %}
  23.         {% endif %}
  24.         {# implement fallback css #}
  25.         <style>
  26.             {{ '#' ~ customId }}::before {
  27.                 background-image: {{ fallbackBackground |raw }};
  28.             }
  29.         </style>
  30.     {% endif %}
  31.     {% set elementClasses = [config.cssClass.value, 'cms-element-' ~ element.type] %}
  32.     <div id="{{ customId }}"
  33.          class="{{ elementClasses|join(' ') }}{% if config.verticalAlign.value %} has-vertical-alignment{% endif %}">
  34.         {% block element_text_alignment %}
  35.             {{ parent() }}
  36.         {% endblock %}
  37.     </div>
  38. {% endblock %}