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 %}
