ixm_blocks-1.0.x-dev/modules/ixm_blocks_accordion/templates/block--ixm-blocks-accordion.html.twig

modules/ixm_blocks_accordion/templates/block--ixm-blocks-accordion.html.twig
{#
/**
 * @file
 * Theme override to display a block.
 *
 * Available variables:
 * - plugin_id: The ID of the block implementation.
 * - label: The configured label of the block if visible.
 * - configuration: A list of the block's configuration values.
 *   - label: The configured label for the block.
 *   - label_display: The display settings for the label.
 *   - provider: The module or other provider that provided this block plugin.
 *   - Block plugin specific settings will also be stored here.
 * - content: The content of this block.
 * - attributes: array of HTML attributes populated by modules, intended to
 *   be added to the main container tag of this template.
 *   - id: A valid HTML ID and guaranteed unique.
 * - title_attributes: Same as attributes, except applied to the main title
 *   tag that appears in the template.
 * - title_prefix: Additional output populated by modules, intended to be
 *   displayed in front of the main title tag that appears in the template.
 * - title_suffix: Additional output populated by modules, intended to be
 *   displayed after the main title tag that appears in the template.
 *
 * @see template_preprocess_block()
 */
#}
{%
  set classes = [
  'block',
  'block-' ~ configuration.provider|clean_class,
  'block-' ~ plugin_id|clean_class,
]
%}

{% set accordion_id = 'accordion-' ~ configuration['block_revision_id'] %}

<div{{ attributes.addClass(classes).setAttribute('id', plugin_id|clean_class ~ configuration['block_revision_id']) }}>

  {{ title_prefix }}
  {% if label %}
    <h3{{ title_attributes.addClass('mb-5') }}>{{ label }}</h3>
  {% endif %}
  {{ title_suffix }}

  {% block content %}
    <div class="mb-3 mb-lg-4">
      {{ content|without('field_entity_reference_paragraph') }}
    </div>

    <div class="accordion" id="{{ accordion_id }}">
      {% for key, item in content.field_entity_reference_paragraph|filter((value, key) => key|first != '#') %}
        {% set safe_hash = configuration['block_revision_id'] ~ '--' ~ loop.index %}
        <div class="accordion-item">
          <h2 class="accordion-header" id="heading-{{ safe_hash }}">
            <button class="accordion-button {{ loop.index == 1 ? '' : 'collapsed'}}" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-{{ safe_hash }}" aria-expanded="{{ loop.index == 1 ? 'true' : 'false'}}" aria-controls="collapse-{{ safe_hash }}">
              {{ item['#paragraph'].field_title.value }}
            </button>
          </h2>

          <div id="collapse-{{ safe_hash }}" class="accordion-collapse collapse {{ loop.index == 1 ? 'show' : ''}}" aria-labelledby="heading-{{ safe_hash }}" data-bs-parent="#{{ accordion_id }}">
            <div class="accordion-body">
              {{ item['#paragraph'].field_body.value|raw }}
            </div>
          </div>
        </div>
      {% endfor %}
    </div>
  {% endblock %}

</div>

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

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