64 lines
2.3 KiB
Twig
64 lines
2.3 KiB
Twig
{#
|
|
/**
|
|
* @file
|
|
* Default theme implementation 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.
|
|
* - in_preview: Whether the plugin is being rendered in preview mode.
|
|
* - 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()
|
|
*
|
|
* @ingroup themeable
|
|
*/
|
|
#}
|
|
{%
|
|
set classes = [
|
|
'block',
|
|
'block-' ~ configuration.provider|clean_class,
|
|
'block-' ~ plugin_id|clean_class,
|
|
]
|
|
%}
|
|
<div{{ attributes.addClass(classes) }}>
|
|
{{ title_prefix }}
|
|
{% if label %}
|
|
<h2{{ title_attributes }}>{{ label }}</h2>
|
|
{% endif %}
|
|
{{ title_suffix }}
|
|
|
|
<div class="custom-block-content">
|
|
{% if content %}
|
|
{% set displayed_first_paragraph = false %}
|
|
{% for key, item in content %}
|
|
{% if item['#markup'] is defined and not displayed_first_paragraph %}
|
|
{# Split the content by paragraphs #}
|
|
{% set paragraphs = item['#markup']|split('</p>') %}
|
|
{# Display the first paragraph only #}
|
|
<p>{{ paragraphs[0]|striptags }}</p>
|
|
{# Add a "Voir plus" button that links to the full content page #}
|
|
<a href="/full-content-page" class="btn btn-primary">Voir plus</a>
|
|
{% set displayed_first_paragraph = true %}
|
|
{% elseif not displayed_first_paragraph %}
|
|
{{ item }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|