bootstrap_italia-8.x-0.x-dev/components/components-2/card/card.html.twig

components/components-2/card/card.html.twig
{#
/**
 * @file
 * Template for card component.
 * Docs: https://italia.github.io/bootstrap-italia/docs/componenti/card/
 * Latest revision: v2.11.0
 *
 * Parameters:
 * - card_tag_container (string) (default: 'div')
 *   - options ["div", "article"]
 * - card_image (drupal_field) (default: '')
 * - card_image_date (array|drupal_date_field) (default: '')
 *   - {'day': '9', 'time': '9:05', 'month': 'October', 'year': '2022'}
 *   - {'date-full': drupal_date_field|raw}
 * - image_panoramic (boolean) (default: false)
 * - card_icon (string) (default: '')
 *   - option ["it-icon-name"]
 * - card_icon_text (string|drupal_field) (default: '')
 * - card_category (string|drupal_field) (default: '')
 * - card_date (string|drupal_field) (default: '')
 * - card_title (string|drupal_field) (default: '')
 * - card_big_title (boolean) (default: false)
 * - card_subtitle (string|drupal_field) (default: '')
 * - card_text (string|drupal_field) (default: '')
 * - card_signature (string|drupal_field) default('')
 * - card_read_more_type (string) default('read-more')
 *   - option ["read-more","simple-link"]
 * - card_read_more_url (string) default('')
 * - card_read_more_label (string) default('Read more')
 * - card_read_more_text (string|drupal_field) default(card_title)
 * - card_shadow (boolean) (default: false)
 * - card_border_bottom (boolean) (default: false)
 * - card_border (boolean) (default: false)
 * - card_teaser (boolean) (default: false)
 * - card_rounded (boolean) (default: false)
 * - card_body_classes (array) (default: '')
 * - card_classes (array) (default: '')
 * - card_attributes (obj attribute) (default: '')
 *
 * Examples:
   {% include '@bi-bcl/card/card.html.twig' with {
      variables: value,
   } %}
 *
 */
#}
{% apply spaceless %}
  {# Set defaults #}
  {% set _card_tag_container = card_tag_container|default('div') %}
  {% set _card_image = card_image|default('') %}
  {% set _card_image_date = card_image_date|default('') %}
  {% set _image_panoramic = image_panoramic ?? false %}
  {% set _card_icon = card_icon|default('') %}
  {% set _card_icon_text = card_icon_text|default('') %}
  {% set _card_category = card_category|default('') %}
  {% set _card_date = card_date|default('') %}
  {% set _card_title = card_title|default('') %}
  {% set _card_big_title = card_big_title ?? false %}
  {% set _card_subtitle = card_subtitle|default('') %}
  {% set _card_text = card_text|default('') %}
  {% set _card_signature = card_signature|default('') %}
  {% set _card_read_more_type = card_read_more_type|default('read-more') %}
  {% set _card_read_more_url = card_read_more_url|default('') %}
  {% set _card_read_more_label = card_read_more_label|default('Read more'|t) %}
  {% set _card_read_more_text = card_read_more_text|default(_card_title) %}
  {% set _card_shadow = card_shadow ?? false %}
  {% set _card_border_bottom = card_border_bottom ?? false %}
  {% set _card_border = card_border ?? false %}
  {% set _card_teaser = card_teaser ?? false %}
  {% set _card_rounded = card_rounded ?? false %}

  {% set _card_body_classes = card_body_classes|default('') %}
  {% set _card_classes = card_classes|default('') %}
  {% set _card_attributes = card_attributes|default('') %}

  {# Set options #}
  {% set _classes = [
    'card',
    _card_shadow ? 'card-bg',
    _card_shadow and _card_teaser ? 'shadow',
    _card_border_bottom ? 'border-bottom-card',
    _card_image is not empty ? 'card-img',
    _card_tag_container == 'a' ? 'special-card',
    _card_teaser ? 'card-teaser',
    _card_rounded ? 'rounded',
    _card_border ? 'border',
    _card_signature is empty and _card_read_more_url is empty ? 'no-after',
    _card_teaser and _card_image is not empty ? 'no-after',
  ] %}

  {% if _card_classes is not empty %}
    {% set _classes = _classes|merge(card_classes) %}
  {% endif %}

  {% if _card_attributes is empty %}
    {% set card_attributes = create_attribute() %}
  {% endif %}
  {% set card_attributes = card_attributes
    .addClass(_classes)
  %}

  {# Set wrapper options #}
  {% set _wrapper_classes = [
    'card-wrapper',
    _card_shadow ? 'card-space',
  ] %}

  {# Set body options #}
  {% set _body_classes = [
    'card-body',
  ] %}

  {% if _card_body_classes is not empty %}
    {% set _body_classes = _body_classes|merge(_card_body_classes) %}
  {% endif %}

  {# Component #}
  {% if not _card_teaser %}
    <div class="{{ _wrapper_classes|join(' ')|trim }}">
  {% endif %}
    <{{ _card_tag_container }}{{ card_attributes }}>

      {% block cardImage %}
        {% include '@bi-bcl/card/_partial.card-image-block.html.twig' %}
      {% endblock %}

      <div class="{{ _body_classes|join(' ')|trim }}">

        {% block cardCategoryIconTop %}
          {% if _card_icon is not empty and _card_icon_text is not empty %}
            <div class="categoryicon-top">
              {% include '@bi-bcl/icon/icon.html.twig' with {name: _card_icon} %}
              <span class="text">{{ _card_icon_text }}</span>
            </div>
          {% endif %}
        {% endblock %}

        {% block cardCategoryTop %}
          {% if _card_category is not empty and _card_date is not empty %}
            <div class="category-top">
              <span class="category">{{ _card_category }}</span>
              <span class="data">{{ _card_date }}</span>
            </div>
          {% endif %}
        {% endblock %}

        {% block cardTitle %}
          {% include '@bi-bcl/card/_partial.card-title-block.html.twig' %}
          {% include '@bi-bcl/card/_partial.card-subtitle-block.html.twig' %}
        {% endblock %}

        {% block cardText %}
          {% include '@bi-bcl/card/_partial.card-text-block.html.twig' %}
        {% endblock %}

        {% block cardSignature %}
          {% include '@bi-bcl/card/_partial.card-signature-block.html.twig' %}
        {% endblock %}

        {% block readMore %}
          {% if _card_read_more_url is not empty %}
            <a class="{{ _card_read_more_type == 'simple-link' ? 'simple-link' : 'read-more' }}" href="{{ _card_read_more_url }}" title="{{ 'Read more about'|t }} {{ _card_read_more_text }}">
              <span class="text">{{ _card_read_more_label }}</span>
              <span class="visually-hidden">{{ 'about'|t }} {{ _card_read_more_text }}</span>
              {% if _card_read_more_type != 'simple-link' %}
                {% include '@bi-bcl/icon/icon.html.twig' with {name: 'it-arrow-right'} %}
              {% endif %}
            </a>
          {% endif %}
        {% endblock %}

      </div>

    </{{ _card_tag_container }}>
  {% if not _card_teaser %}
    </div>
  {% endif %}


{% endapply %}

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

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