bootstrap_italia-8.x-0.x-dev/components/field/field-image--format-image--component-gallery.html.twig

components/field/field-image--format-image--component-gallery.html.twig
{#
/**
 * @file
 * Default theme implementation for a field.
 *
 * 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.
 * - field_container_vertical_padding: Automatic vertical padding.
 * - field_container_vertical_margin: Automatic vertical margin.
 * - field_label_tag: choose label tag, default('div').
 * - field_view_mode: View mode.
 *
 * - show_image_caption (boolean) (default: true)
 * - grid_type (string) (default: '')
 *   - options ["quilted", "masonry"]
 * - icon_name (string) (default: '')
 * - overlay (boolean) (default: false)
 *
 * @see template_preprocess_field()
 *
 * @ingroup themeable
 *
 * Examples:
   {% include '@bi-field/field-image--format-image--component-gallery.html.twig' with {
     show_image_caption: true,
     grid_type: '',
     icon_name: '',
     overlay: false,
   } %}
 */
#}
{% apply spaceless %}
  {% set _show_image_caption = show_image_caption ?? true %}
  {% set _grid_type = grid_type|default('') %}
  {% set _icon_name = icon_name|default('') %}
  {% set _overlay = overlay ?? false %}

  {% set container_classes = [
    'field',
    'field--type-' ~ field_type|clean_class,
    'field--name-' ~ field_name|clean_class,
    'field--entity-' ~ entity_type|clean_class,
    multiple ? 'field-multiple',
    'field--label-' ~ label_display|clean_class,
    field_view_mode ? 'field--view-mode-' ~ field_view_mode|clean_class,
    field_container_vertical_padding is not empty and field_view_mode == 'full' ? field_container_vertical_padding,
    field_container_vertical_margin is not empty and field_view_mode == 'full' ? field_container_vertical_margin,
  ] %}

  {% set container_with_label_classes = [
    label_display == 'inline' ? 'd-flex'
  ]|merge(container_classes) %}

  {% if label_hidden %}

    {% embed '@bi-bcl/gallery/gallery.html.twig' with {
      show_image_caption: _show_image_caption,
      grid_type: _grid_type,
      gallery_attributes: attributes.addClass(container_classes),
    } %}

      {% block galleryItems %}
        {% for item in items %}

          <div class="{{ _grid_type == 'masonry' ? 'col-sm-6 col-lg-4 mb-4' : 'col-6 col-lg-4' }}">
            {% embed '@bi-bcl/gallery/gallery-item.html.twig' with {
              image_description: item.content['#item'].alt,
              show_image_caption: _show_image_caption,
              icon_name: _icon_name,
              overlay: _overlay,
              gallery_item_attributes: item.attributes,
            } %}
              {% block galleryItemImage %}
                {{ item.content }}
              {% endblock %}
            {% endembed %}
          </div>

        {% endfor %}
      {% endblock %}

    {% endembed %}

  {% else %}
    <div{{ attributes.addClass(container_with_label_classes) }}>

      {% block label %}
        {% include '@bi-field/_partial.field-label.html.twig' %}
      {% endblock %}

      {% embed '@bi-bcl/gallery/gallery.html.twig' with {
        show_image_caption: _show_image_caption,
        grid_type: _grid_type,
      } %}

        {% block galleryItems %}
          {% for item in items %}

            <div class="{{ _grid_type == 'masonry' ? 'col-sm-6 col-lg-4 mb-4' : 'col-6 col-lg-4' }}">
              {% embed '@bi-bcl/gallery/gallery-item.html.twig' with {
                image_description: item.content['#item'].alt,
                show_image_caption: _show_image_caption,
                icon_name: _icon_name,
                overlay: _overlay,
                gallery_item_attributes: item.attributes,
              } %}
                {% block galleryItemImage %}
                  {{ item.content }}
                {% endblock %}
              {% endembed %}
            </div>

          {% endfor %}
        {% endblock %}

      {% endembed %}

    </div>{# End main container. #}
  {% endif %}
{% endapply %}

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

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