started to implement événement archive

This commit is contained in:
2026-09-16 16:17:51 +02:00
parent 1ceef4ce7b
commit d6596612f0
9 changed files with 393 additions and 75 deletions
+8
View File
@@ -0,0 +1,8 @@
uuid: 5d5bf4fc-bbeb-4f86-b997-78394100320d
langcode: fr
status: true
dependencies: { }
id: d_d_m
label: 'D d M'
locked: false
pattern: 'D d M'
+8
View File
@@ -0,0 +1,8 @@
uuid: 5a07a0e8-42b3-4756-b58f-b51b71d4c1c8
langcode: fr
status: true
dependencies: { }
id: m_y
label: m.y
locked: false
pattern: m.y
@@ -0,0 +1,84 @@
uuid: bab7eac7-0930-4c50-b139-bd22d78220b7
langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.calendrier
- field.field.node.evenement.body
- field.field.node.evenement.field_artiste_s_invite_s
- field.field.node.evenement.field_dates
- field.field.node.evenement.field_images
- field.field.node.evenement.field_infos_pratiques
- field.field.node.evenement.field_invite_accompagne_curate_p
- field.field.node.evenement.field_lieu
- field.field.node.evenement.field_partenaire_s
- field.field.node.evenement.field_portage
- field.field.node.evenement.field_projet_s_lie_s
- field.field.node.evenement.field_type_d_evenement
- node.type.evenement
module:
- datetime_range
- layout_builder
- text
- user
third_party_settings:
layout_builder:
enabled: false
allow_custom: false
id: node.evenement.calendrier
targetEntityType: node
bundle: evenement
mode: calendrier
content:
field_artiste_s_invite_s:
type: entity_reference_label
label: hidden
settings:
link: false
third_party_settings: { }
weight: 3
region: content
field_dates:
type: daterange_default
label: hidden
settings:
timezone_override: ''
format_type: d_d_m
from_to: both
separator: ''
third_party_settings: { }
weight: 0
region: content
field_infos_pratiques:
type: text_default
label: hidden
settings: { }
third_party_settings: { }
weight: 4
region: content
field_lieu:
type: entity_reference_label
label: hidden
settings:
link: false
third_party_settings: { }
weight: 2
region: content
field_type_d_evenement:
type: entity_reference_label
label: hidden
settings:
link: false
third_party_settings: { }
weight: 1
region: content
hidden:
body: true
field_images: true
field_invite_accompagne_curate_p: true
field_partenaire_s: true
field_portage: true
field_projet_s_lie_s: true
langcode: true
links: true
search_api_excerpt: true
@@ -102,10 +102,11 @@ content:
weight: 7
region: content
field_projet_s_lie_s:
type: entity_reference_label
type: entity_reference_entity_view
label: above
settings:
link: true
view_mode: tableau_liste
link: false
third_party_settings: { }
weight: 8
region: content
@@ -0,0 +1,11 @@
uuid: 07a424be-c826-4554-9c1c-23d5d96e48fa
langcode: fr
status: true
dependencies:
module:
- node
id: node.calendrier
label: calendrier
description: ''
targetEntityType: node
cache: true
+156 -50
View File
@@ -3,12 +3,14 @@ langcode: fr
status: true
dependencies:
config:
- core.entity_view_mode.node.tableau_liste
- core.entity_view_mode.node.calendrier
- field.storage.node.field_dates
- node.type.evenement
- node.type.projet
- system.menu.main
module:
- datetime
- datetime_range
- node
- user
id: archives
@@ -27,53 +29,11 @@ display:
display_options:
title: Archives
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
field_dates:
id: field_dates
table: node__field_dates
field: field_dates
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
make_link: false
absolute: false
word_boundary: false
ellipsis: false
strip_tags: false
trim: false
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: true
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
pager:
type: none
options:
@@ -168,11 +128,20 @@ display:
group_items: { }
style:
type: default
options:
grouping:
-
field: field_dates
rendered: true
rendered_strip: false
row_class: ''
default_row_class: true
uses_fields: true
row:
type: 'entity:node'
options:
relationship: none
view_mode: tableau_liste
view_mode: calendrier
query:
type: views_query
options:
@@ -193,7 +162,8 @@ display:
- 'languages:language_interface'
- 'user.node_grants:view'
- user.permissions
tags: { }
tags:
- 'config:field.storage.node.field_dates'
page_1:
id: page_1
display_title: 'Page Projets'
@@ -201,6 +171,72 @@ display:
position: 1
display_options:
title: 'Archives Projets'
fields:
title:
id: title
table: node_field_data
field: title
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: title
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: true
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
filters:
status:
id: status
@@ -262,6 +298,7 @@ display:
defaults:
title: false
css_class: false
fields: false
filters: false
filter_groups: false
css_class: 'views-archives views-archives-projets'
@@ -292,6 +329,73 @@ display:
position: 2
display_options:
title: 'Archives Évenments'
fields:
field_dates:
id: field_dates
table: node__field_dates
field: field_dates
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: ''
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: daterange_default
settings:
timezone_override: ''
format_type: m_y
from_to: start_date
separator: '-'
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
filters:
status:
id: status
@@ -353,6 +457,7 @@ display:
defaults:
title: false
css_class: false
fields: false
filters: false
filter_groups: false
css_class: 'views-archives views-archives-evenements'
@@ -375,4 +480,5 @@ display:
- 'languages:language_interface'
- 'user.node_grants:view'
- user.permissions
tags: { }
tags:
- 'config:field.storage.node.field_dates'
+3 -1
View File
@@ -12,7 +12,9 @@ const TITLE_SELECTORS = '\
article.node-type-evenement>header>h2,\
article.node-type-evenement>header>.field_dates>time,\
article.node-type-evenement.view-mode-full h2.node-title,\
article.node-type-evenement.view-mode-full .field_dates.digit-dates span.date-part\
article.node-type-evenement.view-mode-full .field_dates.digit-dates span.date-part,\
article.node-type-evenement.view-mode-calendrier h2.node-title,\
div.views-archives-evenements > h3 > time\
';
// Police Epilogue = axe variable `wght` (100900) uniquement ; l'italique est
+31 -22
View File
@@ -620,13 +620,14 @@ article.node-type-evenement.view-mode-full{
// __ ___ _ _ _
// \ \ / (_) _____ __ / \ _ __ ___| |__ (_)_ _____ ___
// \ \ / /| |/ _ \ \ /\ / / / _ \ | '__/ __| '_ \| \ \ / / _ \/ __|
// \ V / | | __/\ V V / / ___ \| | | (__| | | | |\ V / __/\__ \
// \_/ |_|\___| \_/\_/ /_/ \_\_| \___|_| |_|_| \_/ \___||___/
@mixin views-archives{
// __ ___ _ _ _ ____ _ _
// \ \ / (_) _____ _____ / \ _ __ ___| |__ (_)_ _____ ___ | _ \ _ __ ___ (_) ___| |_
// \ \ / /| |/ _ \ \ /\ / / __| / _ \ | '__/ __| '_ \| \ \ / / _ \/ __| | |_) | '__/ _ \| |/ _ \ __|
// \ V / | | __/\ V V /\__ \ / ___ \| | | (__| | | | |\ V / __/\__ \ | __/| | | (_) | | __/ |_
// \_/ |_|\___| \_/\_/ |___/ /_/ \_\_| \___|_| |_|_| \_/ \___||___/ |_| |_| \___// |\___|\__|
// |__/
div.views-archives-projets{
display: flex;
flex-direction: row;
flex-wrap: wrap;
@@ -636,16 +637,6 @@ article.node-type-evenement.view-mode-full{
flex: 1 0 calc(25% - $colsgap);
width: calc(25% - $colsgap);
}
}
// __ ___ _ _ _ ____ _ _
// \ \ / (_) _____ _____ / \ _ __ ___| |__ (_)_ _____ ___ | _ \ _ __ ___ (_) ___| |_
// \ \ / /| |/ _ \ \ /\ / / __| / _ \ | '__/ __| '_ \| \ \ / / _ \/ __| | |_) | '__/ _ \| |/ _ \ __|
// \ V / | | __/\ V V /\__ \ / ___ \| | | (__| | | | |\ V / __/\__ \ | __/| | | (_) | | __/ |_
// \_/ |_|\___| \_/\_/ |___/ /_/ \_\_| \___|_| |_|_| \_/ \___||___/ |_| |_| \___// |\___|\__|
// |__/
div.views-archives-projets{
@include views-archives();
article.node-type-projet.view-mode-tableau_liste{
@@ -664,17 +655,35 @@ div.views-archives-projets{
// \ \ / /| |/ _ \ \ /\ / / __| / _ \ | '__/ __| '_ \| \ \ / / _ \/ __| | _| \ \ / / _ \ '_ \ / _ \ '_ ` _ \ / _ \ '_ \| __/ __|
// \ V / | | __/\ V V /\__ \ / ___ \| | | (__| | | | |\ V / __/\__ \ | |___ \ V / __/ | | | __/ | | | | | __/ | | | |_\__ \
// \_/ |_|\___| \_/\_/ |___/ /_/ \_\_| \___|_| |_|_| \_/ \___||___/ |_____| \_/ \___|_| |_|\___|_| |_| |_|\___|_| |_|\__|___/
div.views-archives-evenementskorganizer {
@include views-archives();
div.views-archives-evenements {
article.node-type-evenement.view-mode-tableau_liste{
& > h3{
border-bottom: 1px solid #999;
}
@include evenementListe();
>header{
>h2{
article.node-type-evenement.view-mode-calendrier{
display: flex;
flex-direction: row;
// @include evenementListe();
header{
flex:0 1 auto;
// width: 5em;
padding:1em;
.field_dates{
time{
font-size: 5em;
}
}
}
div.content{
flex:0 1 auto;
h2.node-title{
font-size: 3em;
}
}
}
}
@@ -0,0 +1,89 @@
{#
/**
* @file
* Default theme implementation to display a node.
*
* Available variables:
* - node: The node entity with limited access to object properties and methods.
* Only method names starting with "get", "has", or "is" and a few common
* methods such as "id", "label", and "bundle" are available. For example:
* - node.getCreatedTime() will return the node creation timestamp.
* - node.hasField('field_example') returns TRUE if the node bundle includes
* field_example. (This does not indicate the presence of a value in this
* field.)
* - node.isPublished() will return whether the node is published or not.
* Calling other methods, such as node.delete(), will result in an exception.
* See \Drupal\node\Entity\Node for a full list of public properties and
* methods for the node object.
* - label: (optional) The title of the node.
* - content: All node items. Use {{ content }} to print them all,
* or print a subset such as {{ content.field_example }}. Use
* {{ content|without('field_example') }} to temporarily suppress the printing
* of a given child element.
* - author_picture: The node author user entity, rendered using the "compact"
* view mode.
* - metadata: Metadata for this node.
* - date: (optional) Themed creation date field.
* - author_name: (optional) Themed author name field.
* - url: Direct URL of the current node.
* - display_submitted: Whether submission information should be displayed.
* - attributes: HTML attributes for the containing element.
* The attributes.class element may contain one or more of the following
* classes:
* - node: The current template type (also known as a "theming hook").
* - node--type-[type]: The current node type. For example, if the node is an
* "Article" it would result in "node--type-article". Note that the machine
* name will often be in a short form of the human readable label.
* - node--view-mode-[view_mode]: The View Mode of the node; for example, a
* teaser would result in: "node--view-mode-teaser", and
* full: "node--view-mode-full".
* The following are controlled through the node publishing options.
* - node--promoted: Appears on nodes promoted to the front page.
* - node--sticky: Appears on nodes ordered above other non-sticky nodes in
* teaser listings.
* - node--unpublished: Appears on unpublished nodes visible only to site
* admins.
* - title_attributes: Same as attributes, except applied to the main title
* tag that appears in the template.
* - content_attributes: Same as attributes, except applied to the main
* content tag that appears in the template.
* - author_attributes: Same as attributes, except applied to the author of
* the node 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.
* - view_mode: View mode; for example, "teaser" or "full".
* - teaser: Flag for the teaser state. Will be true if view_mode is 'teaser'.
* - page: Flag for the full page state. Will be true if view_mode is 'full'.
*
* @see template_preprocess_node()
*
* @ingroup themeable
*/
#}
{#
{% if content.field_images.getvalue|length %}
{% set attributes = attributes.addClass('has-image') %}
{% endif %} #}
<article{{ attributes }}>
{# {{ title_prefix }} #}
{# {% if label and not page %} #}
<header>
{{ content.field_dates }}
</header>
{# {% endif %} #}
{# {{ title_suffix }} #}
<div{{ content_attributes.addClass('content') }}>
<h2{{ title_attributes.addClass('node-title') }}>
<a href="{{ url }}" rel="bookmark">{{ label }}</a>
</h2>
{{ content|without('field_dates') }}
</div>
</article>