drowl_paragraphs_bs-1.x-dev/modules/drowl_paragraphs_bs_type_card/templates/paragraph--drowl-paragraphs-bs--card.html.twig

modules/drowl_paragraphs_bs_type_card/templates/paragraph--drowl-paragraphs-bs--card.html.twig
{% extends "@drowl_paragraphs_bs/paragraph--drowl-paragraphs-bs.html.twig" %}

{# To archive equal height cards like: https://codepen.io/rafibomb/pen/MJWQZZ
   we make the paragraph wrapper the card wrapper.
#}
{# @todo: Still required? #}
{% set link_field = content.field_link.0 %}
{% set link_label = link_field['#title'] == link_field['#url'].toString() ? '' : link_field['#title']|default('read on'|t) %}
{% set target_url = link_field['#url'] %}

{# Check if it's an external link > set target blank #}
{% if link_field['#options'].external == true %}
  {% set link_attributes = { 'class':['card-link'], 'target': '_blank' } %}
{% else %}
  {% set link_attributes = { 'class':['card-link'] } %}
{% endif %}

{% block paragraph %}
  {% if not content.field_image.0.field_media_image is empty %}
    {% set image %}
      {{ include('@drowl_paragraphs_bs/inc/flexible_image.html.twig', {
        image_field: content.field_image.0.field_media_image,
        image_is_zoomable: paragraph.field_image_zoomable.value,
        responsive_image_size: paragraph.field_resp_imagestyle.value.0.target_id,
        image_link: paragraph.field_link.value,
        image_link_attributes: link_attributes
      }) }}
    {% endset %}
  {% endif %}

  {%
    set card_classes = [
      'paragraph',
      content.field_nodeentityref.0 ? 'paragraph--entity-view-mode-' ~ content.field_nodeentityref.0['#view_mode']|clean_class,
      'paragraph--type-' ~ paragraph.bundle|clean_class,
      view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class,
      'card',
      'card--paragraph',
      card_type == 'tile' ? 'card--tile',
      image_zoomable ? 'card--image-zoom' : '',
      'scale' in responsive_image_size ? 'card--image-scale' : '',
    ]
  %}
  {% set card_body_classes = [
    attributes.hasClass('card--type-tile') ? 'card-img-overlay' : 'card-body',
  ] %}

  {#
    Button classes
    Formatter classes are set using ui_styles.
    You can add further formatters adding ui_style classes prefixed with "btn-".
  #}
  {%
    set button_classes = [
      'btn'
    ]
  %}

  {% block content %}
    {# Add upublished label #}
    {{ block("unpublished_hint", "@drowl_paragraphs_bs/paragraph--drowl-paragraphs-bs.html.twig") }}

    <div {{ attributes.addClass(card_classes) }}>
      {{ title_prefix }}
      {{ title_suffix }}
      {% if image %}
        {% block card_image %}
          <div class="card-image">
            {{ image }}
          </div>
        {% endblock card_image %}
      {% endif %}
      <div {{ card_body_attributes.addClass(card_body_classes) }}>
        {% if content.field_title.0 %}
          {% block card_title %}
            {# We accidentally added 'card__title' instead of 'card-title'. Leave it for legacy reasons. #}
            <div class="card-title h3{% if content.field_subtitle.0 %} has-subline{% endif %} card__title">
              {% if target_url %}
                {{ link(content.field_title|field_value, target_url, link_attributes) }}
              {% else %}
                {{ content.field_title|field_value }}
              {% endif %}
            </div>
          {% endblock card_title %}
        {% endif %}
        {% if content.field_subtitle.0 %}
          {% block card_subline %}
            <div class="card-subline subline">
              {{ content.field_subtitle|field_value }}
            </div>
          {% endblock card_subline %}
        {% endif %}
        {% if content.field_text.0 %}
          {% block card_teaser %}
          <div class="card-text">
            {{ content.field_text|field_value }}
          </div>
          {% endblock card_teaser %}
        {% endif %}
        {% if link_label and target_url %}
          {% block card_buttons %}
            <div class="card-buttons">
              {# {{- link(link_label, target_url, button_link_attributes) -}} #}
              <a{{ button_attributes.addClass(button_classes) }} href="{{ paragraph.field_link.0.url.toString }}">
                {{ content.field_link.0['#title'] }}
              </a>
            </div>
          {% endblock card_buttons %}
        {% elseif link_field['#url'] %}
          {% block card_overlay_link %}
            {{- link(link_label, target_url, link_attributes) -}}
          {% endblock card_overlay_link %}
        {% endif %}
      </div>
    </div>
  {% endblock content %}
{% endblock paragraph %}

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

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