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>
