drowl_media-8.x-2.0-rc0/modules/drowl_media_types/templates/media--drowl-media-types--document.html.twig

modules/drowl_media_types/templates/media--drowl-media-types--document.html.twig
{% extends "@drowl_media_types/media--drowl-media-types.html.twig" %}

{% set media_id = elements['#media'].id() %}
{% set mime_type = elements['#media'].field_mime_type.value %}

{# Set font awesome file icon classes by mime type #}
{% if mime_type %}
  {% if mime_type == "application/msword" %}
    {% set icon_class = "ico-db-file-text" %}
  {% elseif (mime_type == "image/png") or (mime_type == "image/jpeg") %}
    {% set icon_class = "ico-db-file-image" %}
  {% elseif mime_type == "application/pdf" %}
    {% set icon_class = "ico-db-file-presentation" %}
  {% elseif mime_type == "application/rtf" %}
    {% set icon_class = "ico-db-file-text" %}
  {% elseif mime_type == "application/vnd.ms-excel" %}
    {% set icon_class = "ico-db-file-table" %}
  {% elseif mime_type == "application/vnd.ms-powerpoint" %}
    {% set icon_class = "ico-db-file-presentation" %}
  {% elseif mime_type == "application/vnd.oasis.opendocument.spreadsheet" %}
    {% set icon_class = "ico-db-file-table" %}
  {% elseif mime_type == "application/vnd.oasis.opendocument.text" %}
    {% set icon_class = "ico-db-file-text" %}
  {% elseif mime_type == "application/vnd.oasis.opendocument.text-template" %}
    {% set icon_class = "ico-db-file-code" %}
  {% elseif mime_type == "application/vnd.openxmlformats-officedocument.presentationml.presentation" %}
    {% set icon_class = "ico-db-file-presentation" %}
  {% elseif mime_type == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" %}
    {% set icon_class = "ico-db-file-table" %}
  {% elseif mime_type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document" %}
    {% set icon_class = "ico-db-file-text" %}
  {% elseif mime_type == "document" %}
    {% set icon_class = "ico-db-file-file" %}
  {% elseif mime_type == "image" %}
    {% set icon_class = "ico-db-file-image" %}
  {% elseif mime_type == "instagram" %}
    {% set icon_class = "ico-db-instagram" %}
  {% elseif mime_type == "twitter" %}
    {% set icon_class = "ico-db-twitter" %}
  {% elseif mime_type == "text-plain" %}
    {% set icon_class = "ico-db-file-text" %}
  {% elseif mime_type == "slideshow" %}
    {% set icon_class = "ico-db-file-image" %}
  {% elseif mime_type == "video" %}
    {% set icon_class = "ico-db-file-video" %}
  {% else %}
    {# "Generic and others" #}
    {% set icon_class = "ico-db-file" %}
  {% endif %}
{% endif %}

{%
  set classes = [
    'media-entity',
    'media-' ~ name|clean_class,
    mime_type ? 'has-file-icon',
    mime_type ? mime_type|clean_class,
  ]
%}

{#
  Hint: The elements['#drowl_media'].X values are used to pass some defined modifications
  (programmatically) to this template (eg. by other modules, like drowl_paragraphs).
#}
{% set link_classes = [
    'btn',
    elements['#drowl_media'].media_link_button_color ? elements['#drowl_media'].media_link_button_color|clean_class : 'btn-light',
    elements['#drowl_media'].media_link_button_size ? elements['#drowl_media'].media_link_button_size|clean_class : '',
    elements['#drowl_media'].media_link_button_expanded ? 'btn-width-full ' : '',
  ]
%}

{% set button_label = elements['#media'].field_media_document.description ? elements['#media'].field_media_document.description : elements['#media'].field_media_document.entity.getFilename() %}

{% block media_wrapper %}
  <div{{ attributes.addClass(classes) }}>
    {% include "@drowl_media_types/inc/__unpublished_label.html.twig" %}
    {{ title_suffix.contextual_links }}
    {% block content %}
      {% block preview_image %}
        {{ content.field_media_image }}
      {% endblock %}
      {% block document_link %}
        {% set link_classes = [
          'btn',
          ]
        %}
        {#
          Hint: The elements['#drowl_media'].X values are used to pass some defined modifications
          (programmatically) to this template (eg. by other modules, like drowl_paragraphs / drowl_paragraphs_bs).
        #}
        {% if elements['#drowl_media'].button_classes %}
          {# Merge in classes from drowl_pragraphs_bs #}
          {% set link_classes = link_classes|merge(elements['#drowl_media'].button_classes) %}
        {% endif %}
        {% if elements['#drowl_media'].media_link_button_color %}
          {# Merge in classes from drowl_pragraphs_bs #}
          {% set link_classes = link_classes|merge([elements['#drowl_media'].media_link_button_color|clean_class]) %}
        {% else %}
          {# Add default classes #}
          {% set link_classes = link_classes|merge(['btn-light']) %}
        {% endif %}
        {% if elements['#drowl_media'].media_link_button_size %}
          {# Merge in classes from drowl_pragraphs_bs #}
          {% set link_classes = link_classes|merge([elements['#drowl_media'].media_link_button_size|clean_class]) %}
        {% endif %}
        {% if content.field_media_document.0['#url'] %}
          {%- set link_label %}
            {% if mime_type %}
              <i class="ico {{ icon_class }}"></i>
            {% endif %}
            <span class="btn__label">{{ button_label }}</span>
          {% endset -%}
          {% apply spaceless %}
            {{ link(link_label, content.field_media_document.0['#url'], media_link_attributes.addClass(link_classes)) }}
          {% endapply %}
        {% endif %}
      {% endblock %}
    {% endblock %}
  </div>
{% endblock %}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc