You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
5.3 KiB
151 lines
5.3 KiB
{# |
|
/** |
|
* @file |
|
* Magazine+'s override for field_image. |
|
* |
|
* To override output, copy the "field.html.twig" from the templates directory |
|
* to your theme's directory and customize it, just like customizing other |
|
* Drupal templates such as page.html.twig or node.html.twig. |
|
* |
|
* Instead of overriding the theming for all fields, you can also just override |
|
* theming for a subset of fields using |
|
* @link themeable Theme hook suggestions. @endlink For example, |
|
* here are some theme hook suggestions that can be used for a field_foo field |
|
* on an article node type: |
|
* - field--node--field-foo--article.html.twig |
|
* - field--node--field-foo.html.twig |
|
* - field--node--article.html.twig |
|
* - field--field-foo.html.twig |
|
* - field--text-with-summary.html.twig |
|
* - field.html.twig |
|
* |
|
* Available variables: |
|
* - attributes: HTML attributes for the containing element. |
|
* - label_hidden: Whether to show the field label or not. |
|
* - title_attributes: HTML attributes for the title. |
|
* - label: The label for the field. |
|
* - multiple: TRUE if a field can contain multiple items. |
|
* - items: List of all the field items. Each item contains: |
|
* - attributes: List of HTML attributes for each item. |
|
* - content: The field item's content. |
|
* - entity_type: The entity type to which the field belongs. |
|
* - field_name: The name of the field. |
|
* - field_type: The type of the field. |
|
* - label_display: The display settings for the label. |
|
* |
|
* |
|
* @see template_preprocess_field() |
|
*/ |
|
#} |
|
{% |
|
set classes = [ |
|
'field', |
|
'field--name-' ~ field_name|clean_class, |
|
'field--type-' ~ field_type|clean_class, |
|
'field--label-' ~ label_display, |
|
] |
|
%} |
|
{% |
|
set title_classes = [ |
|
'field__label', |
|
label_display == 'visually_hidden' ? 'visually-hidden', |
|
] |
|
%} |
|
{{ attach_library('magazineplus/node-images') }} |
|
{% if view_mode == "full" %} |
|
{{ attach_library('magazineplus/magnific-popup-field-image-init') }} |
|
{% endif %} |
|
{% if label_hidden %} |
|
{% if multiple %} |
|
<div{{ attributes.addClass(classes, 'field__items') }}> |
|
<div class="images-container clearfix"> |
|
<div class="image-preview clearfix"> |
|
<div class="image-wrapper clearfix"> |
|
<div{{ items[0].attributes.addClass('field__item') }}> |
|
{{ items[0].content }} |
|
</div> |
|
</div> |
|
{% if items[0].content['#item'].title and view_mode == "full" %} |
|
<div class="image-caption clearfix"> |
|
<h4>{{ items[0].content['#item'].title }}</h4> |
|
</div> |
|
{% endif %} |
|
</div> |
|
{% if items|length > 1 and view_mode == "full" %} |
|
<div class="image-listing-items clearfix"> |
|
{% for item in items %} |
|
{% if items[0] != item %} |
|
<div class="image-listing-item"> |
|
<div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div> |
|
</div> |
|
{% endif %} |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% else %} |
|
{% for item in items %} |
|
<div class="images-container clearfix"> |
|
<div class="image-preview clearfix"> |
|
<div class="image-wrapper clearfix"> |
|
<div{{ attributes.addClass(classes, 'field__item') }}>{{ item.content }}</div> |
|
</div> |
|
{% if item.content['#item'].title and view_mode == "full" %} |
|
<div class="image-caption clearfix"> |
|
<h4>{{ item.content['#item'].title }}</h4> |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% endfor %} |
|
{% endif %} |
|
{% else %} |
|
<div{{ attributes.addClass(classes) }}> |
|
<div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div> |
|
{% if multiple %} |
|
<div{{ attributes.addClass(classes, 'field__items') }}> |
|
<div class="images-container clearfix"> |
|
<div class="image-preview clearfix"> |
|
<div class="image-wrapper clearfix"> |
|
<div{{ items[0].attributes.addClass('field__item') }}> |
|
{{ items[0].content }} |
|
</div> |
|
</div> |
|
{% if items[0].content['#item'].title and view_mode == "full" %} |
|
<div class="image-caption clearfix"> |
|
<h4>{{ items[0].content['#item'].title }}</h4> |
|
</div> |
|
{% endif %} |
|
</div> |
|
{% if items|length > 1 and view_mode == "full" %} |
|
<div class="image-listing-items clearfix"> |
|
{% for item in items %} |
|
{% if items[0] != item %} |
|
<div class="image-listing-item"> |
|
<div{{ item.attributes.addClass('field__item') }}>{{ item.content }}</div> |
|
</div> |
|
{% endif %} |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% else %} |
|
{% for item in items %} |
|
<div class="images-container clearfix"> |
|
<div class="image-preview clearfix"> |
|
<div class="image-wrapper clearfix"> |
|
<div{{ attributes.addClass(classes, 'field__item') }}>{{ item.content }}</div> |
|
</div> |
|
{% if item.content['#item'].title and view_mode == "full" %} |
|
<div class="image-caption clearfix"> |
|
<h4>{{ item.content['#item'].title }}</h4> |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
{% endfor %} |
|
{% endif %} |
|
</div> |
|
{% endif %}
|
|
|