integrated evenements in drupal and front

This commit is contained in:
2026-09-11 19:14:00 +02:00
parent 32319f19bd
commit 4efafd0e22
22 changed files with 1457 additions and 274 deletions
@@ -0,0 +1,62 @@
{#
/**
* @file
* Theme override for field_dates on "evenement" nodes.
*
* Splits the daterange value into separate year/month/day parts (see
* leshed_preprocess_field() in leshed.theme) so start/end can be styled
* independently instead of relying on the default <time> rendering.
*
* Available on each item, in addition to the default `content`/`attributes`:
* - item.start_date: { year, month, month_name, day } or unset if empty.
* - item.end_date: { year, month, month_name, day } or unset if empty.
*
* @see template_preprocess_field()
* @see leshed_preprocess_field()
*
* @ingroup themeable
*/
#}
{%
set title_classes = [
label_display == 'visually_hidden' ? 'visually-hidden',
]
%}
{% macro date_parts(date) %}
<time datetime="{{ date.iso }}">
<span class="date-part date-day">{{ date.day }}</span>
<span class="date-part date-month">{{ date.month }}</span>
<span class="date-part date-year">{{ date.year }}</span>
</time>
{% endmacro %}
{% import _self as dates %}
{% if label_hidden %}
{% for item in items %}
<div{{ attributes.addClass("field-item", "digit-dates") }}>
{% if item.start_date %}
{{ dates.date_parts(item.start_date) }}
{% endif %}
{% if item.end_date and (item.end_date.year != item.start_date.year or item.end_date.day != item.start_date.day) %}
<span class="date-sep"></span>
{{ dates.date_parts(item.end_date) }}
{% endif %}
</div>
{% endfor %}
{% else %}
<div{{ attributes }}>
<div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
{% for item in items %}
<div{{ item.attributes.addClass("field-item", "field-dates") }}>
{% if item.start_date %}
{{ dates.date_parts(item.start_date) }}
{% endif %}
{% if item.end_date and (item.end_date.year != item.start_date.year or item.end_date.day != item.start_date.day) %}
<span class="date-sep"></span>
{{ dates.date_parts(item.end_date) }}
{% endif %}
</div>
{% endfor %}
</div>
{% endif %}