fixed duplicated events nodes in views
This commit is contained in:
parent
2f49bb4a3c
commit
62981265f7
@ -9,6 +9,7 @@ dependencies:
|
|||||||
- field.field.node.evenement.field_fichier
|
- field.field.node.evenement.field_fichier
|
||||||
- field.field.node.evenement.field_image
|
- field.field.node.evenement.field_image
|
||||||
- field.field.node.evenement.field_intro
|
- field.field.node.evenement.field_intro
|
||||||
|
- field.field.node.evenement.field_last_date_only
|
||||||
- field.field.node.evenement.field_lien
|
- field.field.node.evenement.field_lien
|
||||||
- field.field.node.evenement.field_memo
|
- field.field.node.evenement.field_memo
|
||||||
- field.field.node.evenement.field_organisateur
|
- field.field.node.evenement.field_organisateur
|
||||||
@ -42,7 +43,7 @@ third_party_settings:
|
|||||||
label: Tabs
|
label: Tabs
|
||||||
region: content
|
region: content
|
||||||
parent_name: ''
|
parent_name: ''
|
||||||
weight: 20
|
weight: 1
|
||||||
format_type: tabs
|
format_type: tabs
|
||||||
format_settings:
|
format_settings:
|
||||||
classes: ''
|
classes: ''
|
||||||
@ -77,7 +78,7 @@ third_party_settings:
|
|||||||
label: Details
|
label: Details
|
||||||
region: content
|
region: content
|
||||||
parent_name: ''
|
parent_name: ''
|
||||||
weight: 20
|
weight: 2
|
||||||
format_type: details_sidebar
|
format_type: details_sidebar
|
||||||
format_settings:
|
format_settings:
|
||||||
classes: ''
|
classes: ''
|
||||||
@ -318,7 +319,7 @@ content:
|
|||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
title:
|
title:
|
||||||
type: string_textfield
|
type: string_textfield
|
||||||
weight: -5
|
weight: 0
|
||||||
region: content
|
region: content
|
||||||
settings:
|
settings:
|
||||||
size: 60
|
size: 60
|
||||||
@ -326,6 +327,7 @@ content:
|
|||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
hidden:
|
hidden:
|
||||||
created: true
|
created: true
|
||||||
|
field_last_date_only: true
|
||||||
langcode: true
|
langcode: true
|
||||||
path: true
|
path: true
|
||||||
sticky: true
|
sticky: true
|
||||||
|
@ -10,6 +10,7 @@ dependencies:
|
|||||||
- field.field.node.evenement.field_fichier
|
- field.field.node.evenement.field_fichier
|
||||||
- field.field.node.evenement.field_image
|
- field.field.node.evenement.field_image
|
||||||
- field.field.node.evenement.field_intro
|
- field.field.node.evenement.field_intro
|
||||||
|
- field.field.node.evenement.field_last_date_only
|
||||||
- field.field.node.evenement.field_lien
|
- field.field.node.evenement.field_lien
|
||||||
- field.field.node.evenement.field_memo
|
- field.field.node.evenement.field_memo
|
||||||
- field.field.node.evenement.field_organisateur
|
- field.field.node.evenement.field_organisateur
|
||||||
@ -78,6 +79,7 @@ hidden:
|
|||||||
field_fichier: true
|
field_fichier: true
|
||||||
field_image: true
|
field_image: true
|
||||||
field_intro: true
|
field_intro: true
|
||||||
|
field_last_date_only: true
|
||||||
field_lien: true
|
field_lien: true
|
||||||
field_memo: true
|
field_memo: true
|
||||||
field_organisateur: true
|
field_organisateur: true
|
||||||
|
@ -9,6 +9,7 @@ dependencies:
|
|||||||
- field.field.node.evenement.field_fichier
|
- field.field.node.evenement.field_fichier
|
||||||
- field.field.node.evenement.field_image
|
- field.field.node.evenement.field_image
|
||||||
- field.field.node.evenement.field_intro
|
- field.field.node.evenement.field_intro
|
||||||
|
- field.field.node.evenement.field_last_date_only
|
||||||
- field.field.node.evenement.field_lien
|
- field.field.node.evenement.field_lien
|
||||||
- field.field.node.evenement.field_memo
|
- field.field.node.evenement.field_memo
|
||||||
- field.field.node.evenement.field_organisateur
|
- field.field.node.evenement.field_organisateur
|
||||||
@ -39,7 +40,16 @@ content:
|
|||||||
label: hidden
|
label: hidden
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 101
|
weight: 1
|
||||||
|
region: content
|
||||||
|
computed_date_unique:
|
||||||
|
type: datetime_default
|
||||||
|
label: hidden
|
||||||
|
settings:
|
||||||
|
timezone_override: ''
|
||||||
|
format_type: medium
|
||||||
|
third_party_settings: { }
|
||||||
|
weight: -5
|
||||||
region: content
|
region: content
|
||||||
field_date:
|
field_date:
|
||||||
type: datetime_default
|
type: datetime_default
|
||||||
@ -48,7 +58,7 @@ content:
|
|||||||
timezone_override: ''
|
timezone_override: ''
|
||||||
format_type: medium
|
format_type: medium
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 109
|
weight: 7
|
||||||
region: content
|
region: content
|
||||||
field_evenements_lies:
|
field_evenements_lies:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -56,7 +66,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 115
|
weight: 13
|
||||||
region: content
|
region: content
|
||||||
field_fichier:
|
field_fichier:
|
||||||
type: file_default
|
type: file_default
|
||||||
@ -64,7 +74,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
use_description_as_link_text: true
|
use_description_as_link_text: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 110
|
weight: 8
|
||||||
region: content
|
region: content
|
||||||
field_image:
|
field_image:
|
||||||
type: image
|
type: image
|
||||||
@ -75,14 +85,14 @@ content:
|
|||||||
image_loading:
|
image_loading:
|
||||||
attribute: lazy
|
attribute: lazy
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 111
|
weight: 9
|
||||||
region: content
|
region: content
|
||||||
field_intro:
|
field_intro:
|
||||||
type: text_default
|
type: text_default
|
||||||
label: above
|
label: above
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 102
|
weight: 2
|
||||||
region: content
|
region: content
|
||||||
field_lien:
|
field_lien:
|
||||||
type: link
|
type: link
|
||||||
@ -94,21 +104,21 @@ content:
|
|||||||
rel: ''
|
rel: ''
|
||||||
target: ''
|
target: ''
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 113
|
weight: 11
|
||||||
region: content
|
region: content
|
||||||
field_memo:
|
field_memo:
|
||||||
type: basic_string
|
type: basic_string
|
||||||
label: above
|
label: above
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 118
|
weight: 16
|
||||||
region: content
|
region: content
|
||||||
field_organisateur:
|
field_organisateur:
|
||||||
type: text_default
|
type: text_default
|
||||||
label: above
|
label: above
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 108
|
weight: 6
|
||||||
region: content
|
region: content
|
||||||
field_partenaires:
|
field_partenaires:
|
||||||
type: entity_reference_revisions_entity_view
|
type: entity_reference_revisions_entity_view
|
||||||
@ -117,7 +127,7 @@ content:
|
|||||||
view_mode: default
|
view_mode: default
|
||||||
link: ''
|
link: ''
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 112
|
weight: 10
|
||||||
region: content
|
region: content
|
||||||
field_programme:
|
field_programme:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -125,7 +135,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 104
|
weight: 4
|
||||||
region: content
|
region: content
|
||||||
field_projet:
|
field_projet:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -133,7 +143,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 116
|
weight: 14
|
||||||
region: content
|
region: content
|
||||||
field_promu_en_page_programme:
|
field_promu_en_page_programme:
|
||||||
type: boolean
|
type: boolean
|
||||||
@ -143,7 +153,7 @@ content:
|
|||||||
format_custom_false: ''
|
format_custom_false: ''
|
||||||
format_custom_true: ''
|
format_custom_true: ''
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 119
|
weight: 17
|
||||||
region: content
|
region: content
|
||||||
field_ressources_liees:
|
field_ressources_liees:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -151,7 +161,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 114
|
weight: 12
|
||||||
region: content
|
region: content
|
||||||
field_sous_titre:
|
field_sous_titre:
|
||||||
type: string
|
type: string
|
||||||
@ -159,7 +169,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link_to_entity: false
|
link_to_entity: false
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 107
|
weight: 5
|
||||||
region: content
|
region: content
|
||||||
field_theme:
|
field_theme:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -167,7 +177,7 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 117
|
weight: 15
|
||||||
region: content
|
region: content
|
||||||
field_type_evenement:
|
field_type_evenement:
|
||||||
type: entity_reference_label
|
type: entity_reference_label
|
||||||
@ -175,13 +185,14 @@ content:
|
|||||||
settings:
|
settings:
|
||||||
link: true
|
link: true
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 103
|
weight: 3
|
||||||
region: content
|
region: content
|
||||||
links:
|
links:
|
||||||
settings: { }
|
settings: { }
|
||||||
third_party_settings: { }
|
third_party_settings: { }
|
||||||
weight: 100
|
weight: 0
|
||||||
region: content
|
region: content
|
||||||
hidden:
|
hidden:
|
||||||
|
field_last_date_only: true
|
||||||
langcode: true
|
langcode: true
|
||||||
search_api_excerpt: true
|
search_api_excerpt: true
|
||||||
|
@ -10,6 +10,7 @@ dependencies:
|
|||||||
- field.field.node.evenement.field_fichier
|
- field.field.node.evenement.field_fichier
|
||||||
- field.field.node.evenement.field_image
|
- field.field.node.evenement.field_image
|
||||||
- field.field.node.evenement.field_intro
|
- field.field.node.evenement.field_intro
|
||||||
|
- field.field.node.evenement.field_last_date_only
|
||||||
- field.field.node.evenement.field_lien
|
- field.field.node.evenement.field_lien
|
||||||
- field.field.node.evenement.field_memo
|
- field.field.node.evenement.field_memo
|
||||||
- field.field.node.evenement.field_organisateur
|
- field.field.node.evenement.field_organisateur
|
||||||
@ -69,6 +70,7 @@ hidden:
|
|||||||
field_evenements_lies: true
|
field_evenements_lies: true
|
||||||
field_fichier: true
|
field_fichier: true
|
||||||
field_intro: true
|
field_intro: true
|
||||||
|
field_last_date_only: true
|
||||||
field_lien: true
|
field_lien: true
|
||||||
field_memo: true
|
field_memo: true
|
||||||
field_organisateur: true
|
field_organisateur: true
|
||||||
|
@ -121,6 +121,7 @@ module:
|
|||||||
phpass: 0
|
phpass: 0
|
||||||
popsu_link_block: 0
|
popsu_link_block: 0
|
||||||
popsu_programme: 0
|
popsu_programme: 0
|
||||||
|
popsu_uniqdate: 0
|
||||||
redirect: 0
|
redirect: 0
|
||||||
redis: 0
|
redis: 0
|
||||||
responsive_image: 0
|
responsive_image: 0
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
uuid: 16f921b2-5e9e-4230-98c2-c8d5cf0fe09a
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies:
|
||||||
|
config:
|
||||||
|
- field.storage.node.field_last_date_only
|
||||||
|
- node.type.evenement
|
||||||
|
module:
|
||||||
|
- datetime
|
||||||
|
id: node.evenement.field_last_date_only
|
||||||
|
field_name: field_last_date_only
|
||||||
|
entity_type: node
|
||||||
|
bundle: evenement
|
||||||
|
label: 'last date only'
|
||||||
|
description: ''
|
||||||
|
required: false
|
||||||
|
translatable: false
|
||||||
|
default_value: { }
|
||||||
|
default_value_callback: ''
|
||||||
|
settings: { }
|
||||||
|
field_type: datetime
|
20
config/sync/field.storage.node.field_last_date_only.yml
Normal file
20
config/sync/field.storage.node.field_last_date_only.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
uuid: f29abaf8-e11e-4a19-8e1b-1b5487159376
|
||||||
|
langcode: fr
|
||||||
|
status: true
|
||||||
|
dependencies:
|
||||||
|
module:
|
||||||
|
- datetime
|
||||||
|
- node
|
||||||
|
id: node.field_last_date_only
|
||||||
|
field_name: field_last_date_only
|
||||||
|
entity_type: node
|
||||||
|
type: datetime
|
||||||
|
settings:
|
||||||
|
datetime_type: datetime
|
||||||
|
module: datetime
|
||||||
|
locked: false
|
||||||
|
cardinality: 1
|
||||||
|
translatable: true
|
||||||
|
indexes: { }
|
||||||
|
persist_with_no_fields: false
|
||||||
|
custom_storage: false
|
@ -1,5 +1,5 @@
|
|||||||
uuid: 6524248b-fa9a-428b-9186-2c00c3d8b7b0
|
uuid: 6524248b-fa9a-428b-9186-2c00c3d8b7b0
|
||||||
langcode: en
|
langcode: fr
|
||||||
status: true
|
status: true
|
||||||
dependencies:
|
dependencies:
|
||||||
module:
|
module:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
uuid: b72de79a-02bf-424d-9bf3-03ffbda0f29a
|
uuid: b72de79a-02bf-424d-9bf3-03ffbda0f29a
|
||||||
langcode: en
|
langcode: fr
|
||||||
status: true
|
status: true
|
||||||
dependencies:
|
dependencies:
|
||||||
module:
|
module:
|
||||||
|
@ -153,6 +153,16 @@ display:
|
|||||||
force_chronological: false
|
force_chronological: false
|
||||||
add_classes: false
|
add_classes: false
|
||||||
time_wrapper: false
|
time_wrapper: false
|
||||||
|
localize: false
|
||||||
|
parts:
|
||||||
|
start: start
|
||||||
|
end: end
|
||||||
|
duration: '0'
|
||||||
|
duration:
|
||||||
|
separator: ' | '
|
||||||
|
unit: ''
|
||||||
|
decimals: 2
|
||||||
|
suffix: h
|
||||||
group_column: value
|
group_column: value
|
||||||
group_columns: { }
|
group_columns: { }
|
||||||
group_rows: true
|
group_rows: true
|
||||||
@ -442,10 +452,10 @@ display:
|
|||||||
options: { }
|
options: { }
|
||||||
empty: { }
|
empty: { }
|
||||||
sorts:
|
sorts:
|
||||||
field_date_value:
|
field_last_date_only_value:
|
||||||
id: field_date_value
|
id: field_last_date_only_value
|
||||||
table: node__field_date
|
table: node__field_last_date_only
|
||||||
field: field_date_value
|
field: field_last_date_only_value
|
||||||
relationship: none
|
relationship: none
|
||||||
group_type: group
|
group_type: group
|
||||||
admin_label: ''
|
admin_label: ''
|
||||||
@ -453,23 +463,7 @@ display:
|
|||||||
order: DESC
|
order: DESC
|
||||||
expose:
|
expose:
|
||||||
label: ''
|
label: ''
|
||||||
field_identifier: field_date_value
|
field_identifier: ''
|
||||||
exposed: false
|
|
||||||
granularity: second
|
|
||||||
created:
|
|
||||||
id: created
|
|
||||||
table: node_field_data
|
|
||||||
field: created
|
|
||||||
relationship: none
|
|
||||||
group_type: group
|
|
||||||
admin_label: ''
|
|
||||||
entity_type: node
|
|
||||||
entity_field: created
|
|
||||||
plugin_id: date
|
|
||||||
order: DESC
|
|
||||||
expose:
|
|
||||||
label: ''
|
|
||||||
field_identifier: created
|
|
||||||
exposed: false
|
exposed: false
|
||||||
granularity: second
|
granularity: second
|
||||||
arguments:
|
arguments:
|
||||||
@ -519,13 +513,15 @@ display:
|
|||||||
options:
|
options:
|
||||||
query_comment: ''
|
query_comment: ''
|
||||||
disable_sql_rewrite: false
|
disable_sql_rewrite: false
|
||||||
distinct: false
|
distinct: true
|
||||||
replica: false
|
replica: false
|
||||||
query_tags: { }
|
query_tags: { }
|
||||||
relationships: { }
|
relationships: { }
|
||||||
|
group_by: false
|
||||||
header: { }
|
header: { }
|
||||||
footer: { }
|
footer: { }
|
||||||
display_extenders: { }
|
display_extenders:
|
||||||
|
views_ef_fieldset: { }
|
||||||
cache_metadata:
|
cache_metadata:
|
||||||
max-age: -1
|
max-age: -1
|
||||||
contexts:
|
contexts:
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
name: Popsu Uniqdate
|
||||||
|
type: module
|
||||||
|
description: misc plugins for popsu's programmes.
|
||||||
|
core_version_requirement: ^8.8 || ^9 || ^10
|
||||||
|
package: Popsu
|
||||||
|
dependencies:
|
73
web/modules/custom/popsu_uniqdate/popsu_uniqdate.module
Normal file
73
web/modules/custom/popsu_uniqdate/popsu_uniqdate.module
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<?php
|
||||||
|
use Drupal\node\Entity\Node;
|
||||||
|
|
||||||
|
// use Drupal\Core\Entity\EntityTypeInterface;
|
||||||
|
// use Drupal\Core\Field\BaseFieldDefinition;
|
||||||
|
// use Drupal\Core\Field\FieldStorageDefinitionInterface;
|
||||||
|
|
||||||
|
// https://www.drupal.org/project/drupal/issues/2916266#comment-12301574
|
||||||
|
|
||||||
|
function popsu_uniqdate_entity_presave(Drupal\Core\Entity\EntityInterface $entity) {
|
||||||
|
if ($entity->getEntityTypeId() === 'node' && $entity->bundle() === 'evenement') {
|
||||||
|
if ($entity->hasField('field_date') && !$entity->get('field_date')->isEmpty()) {
|
||||||
|
// $first_term = $entity->get('field_tags')->first()->target_id;
|
||||||
|
$dates = $entity->get('field_date')->getValue();
|
||||||
|
asort($dates);
|
||||||
|
$last_date = array_pop($dates);
|
||||||
|
$entity->set('field_last_date_only', $last_date);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$entity->set('field_last_date_only', NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * Implement hook_entity_bundle_field_info().
|
||||||
|
// *
|
||||||
|
// * @param EntityTypeInterface $entity_type
|
||||||
|
// * @param $bundle
|
||||||
|
// * @param array $base_field_definitions
|
||||||
|
// * @return array
|
||||||
|
// */
|
||||||
|
// function popsu_uniqdate_entity_bundle_field_info(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
|
||||||
|
// if ($entity_type->id() == 'node' && $bundle == 'evenement') {
|
||||||
|
// $fields['computed_date_unique'] = BaseFieldDefinition::create('datetime')
|
||||||
|
// ->setName('computed_date_unique')
|
||||||
|
// ->setLabel(t('Computed Date Unique'))
|
||||||
|
// ->setDescription(t('Computed Date Unique.'))
|
||||||
|
// // // The Entity Type this field belongs to.
|
||||||
|
// ->setTargetEntityTypeId($entity_type->id())
|
||||||
|
// // // The Entity Type bundle this field belongs to.
|
||||||
|
// ->setTargetBundle($bundle)
|
||||||
|
// // ->setSetting('target_type', 'node')
|
||||||
|
// ->setCardinality(1)
|
||||||
|
// ->setComputed(TRUE)
|
||||||
|
// ->setRevisionable(FALSE)
|
||||||
|
// ->setTranslatable(FALSE)
|
||||||
|
// ->setDisplayConfigurable('view', TRUE)
|
||||||
|
// ->setDisplayOptions('view', [
|
||||||
|
// 'label' => 'hidden',
|
||||||
|
// 'weight' => -5,
|
||||||
|
// ])
|
||||||
|
// ->setClass(\Drupal\popsu_uniqdate\Plugin\Field\FieldType\ComputedUniqDate::class);
|
||||||
|
|
||||||
|
// return $fields;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
// /**
|
||||||
|
// * Implements hook_views_data_alter().
|
||||||
|
// */
|
||||||
|
// function popsu_uniqdate_views_data_alter(array &$data) {
|
||||||
|
// if (isset($data['node'])) {
|
||||||
|
// // Add the Computed Date Unique field to Views.
|
||||||
|
// $data['node']['computed_date_unique'] = [
|
||||||
|
// 'title' => t('Computed Date Unique'),
|
||||||
|
// 'field' => [
|
||||||
|
// 'id' => 'views_computed_date_unique',
|
||||||
|
// ],
|
||||||
|
// ];
|
||||||
|
// }
|
||||||
|
// }
|
Loading…
x
Reference in New Issue
Block a user