diff --git a/composer.json b/composer.json index eaa2a04a..37e5ede0 100644 --- a/composer.json +++ b/composer.json @@ -128,6 +128,9 @@ "drupal/core": { "Call to a member function getSetting() on null migrate_drupal https://www.drupal.org/project/drupal/issues/2984460": "https://www.drupal.org/files/issues/2020-04-06/2984460-3.patch", "Add Views EntityReference filter to be available for all entity reference fields https://www.drupal.org/project/drupal/issues/2429699" : "https://www.drupal.org/files/issues/2021-03-06/2429699-389.patch" + }, + "drupal/paragraphs": { + "Skip saving empty paragraphs for certain types https://www.drupal.org/project/paragraphs/issues/2877695" : "https://www.drupal.org/files/issues/2021-03-31/2877695-35.patch" } } } diff --git a/config/sync/field.field.node.evenement.field_lien.yml b/config/sync/field.field.node.evenement.field_lien.yml index 665b91ae..e67ebc03 100644 --- a/config/sync/field.field.node.evenement.field_lien.yml +++ b/config/sync/field.field.node.evenement.field_lien.yml @@ -11,7 +11,7 @@ id: node.evenement.field_lien field_name: field_lien entity_type: node bundle: evenement -label: Lien +label: Liens description: '' required: false translatable: true diff --git a/config/sync/page_manager.page_variant.node-panels_variant-2.yml b/config/sync/page_manager.page_variant.node-panels_variant-2.yml index fc81c0ad..8832db8d 100644 --- a/config/sync/page_manager.page_variant.node-panels_variant-2.yml +++ b/config/sync/page_manager.page_variant.node-panels_variant-2.yml @@ -108,7 +108,7 @@ variant_settings: provider: ctools_block label_display: visible formatter: - label: above + label: hidden type: entity_reference_label settings: link: true @@ -295,7 +295,7 @@ variant_settings: provider: ctools_block label_display: visible formatter: - label: visually_hidden + label: hidden type: entity_reference_revisions_entity_view settings: view_mode: default diff --git a/config/sync/paragraphs.paragraphs_type.equipes.yml b/config/sync/paragraphs.paragraphs_type.equipes.yml index ca6c9d47..dd0b5ed5 100644 --- a/config/sync/paragraphs.paragraphs_type.equipes.yml +++ b/config/sync/paragraphs.paragraphs_type.equipes.yml @@ -7,4 +7,5 @@ label: Équipes icon_uuid: null icon_default: null description: '' +save_empty: false behavior_plugins: { } diff --git a/config/sync/paragraphs.paragraphs_type.partenaires.yml b/config/sync/paragraphs.paragraphs_type.partenaires.yml index cf65aa73..0e8a4ebb 100644 --- a/config/sync/paragraphs.paragraphs_type.partenaires.yml +++ b/config/sync/paragraphs.paragraphs_type.partenaires.yml @@ -6,5 +6,6 @@ id: partenaires label: Partenaires icon_uuid: null icon_default: null -description: '' +description: sferfger +save_empty: false behavior_plugins: { } diff --git a/config/sync/paragraphs.paragraphs_type.personne.yml b/config/sync/paragraphs.paragraphs_type.personne.yml index 1cb7dcff..a93c83f1 100644 --- a/config/sync/paragraphs.paragraphs_type.personne.yml +++ b/config/sync/paragraphs.paragraphs_type.personne.yml @@ -7,4 +7,5 @@ label: Personne icon_uuid: null icon_default: null description: '' +save_empty: false behavior_plugins: { } diff --git a/config/sync/paragraphs.paragraphs_type.sous_partie_programme.yml b/config/sync/paragraphs.paragraphs_type.sous_partie_programme.yml index 4197e6e4..2c5ccc3b 100644 --- a/config/sync/paragraphs.paragraphs_type.sous_partie_programme.yml +++ b/config/sync/paragraphs.paragraphs_type.sous_partie_programme.yml @@ -7,4 +7,5 @@ label: 'Sous Partie Programme' icon_uuid: null icon_default: null description: '' +save_empty: false behavior_plugins: { } diff --git a/config/sync/paragraphs.paragraphs_type.sous_partie_programme_contents.yml b/config/sync/paragraphs.paragraphs_type.sous_partie_programme_contents.yml index 4b8c2434..3552f4b5 100644 --- a/config/sync/paragraphs.paragraphs_type.sous_partie_programme_contents.yml +++ b/config/sync/paragraphs.paragraphs_type.sous_partie_programme_contents.yml @@ -7,4 +7,5 @@ label: 'Sous Partie Programme Contents' icon_uuid: null icon_default: null description: '' +save_empty: false behavior_plugins: { } diff --git a/config/sync/paragraphs.paragraphs_type.textes.yml b/config/sync/paragraphs.paragraphs_type.textes.yml index efb9df79..5c6be3d3 100644 --- a/config/sync/paragraphs.paragraphs_type.textes.yml +++ b/config/sync/paragraphs.paragraphs_type.textes.yml @@ -7,4 +7,5 @@ label: Textes icon_uuid: null icon_default: null description: '' +save_empty: false behavior_plugins: { } diff --git a/config/sync/views.view.actus_blocks.yml b/config/sync/views.view.actus_blocks.yml index 5ebfd0b6..5367236e 100644 --- a/config/sync/views.view.actus_blocks.yml +++ b/config/sync/views.view.actus_blocks.yml @@ -194,6 +194,7 @@ display: defaults: title: false footer: false + empty: false footer: display_link: id: display_link @@ -206,6 +207,7 @@ display: display_id: page_1 label: 'Archives Actualités' plugin_id: display_link + empty: { } cache_metadata: max-age: -1 contexts: diff --git a/web/themes/custom/popsu/popsu.theme b/web/themes/custom/popsu/popsu.theme index 1768e6a8..1229542f 100644 --- a/web/themes/custom/popsu/popsu.theme +++ b/web/themes/custom/popsu/popsu.theme @@ -140,3 +140,34 @@ function popsu_preprocess_views_view_field(&$variables){ $variables['output'] = $link->toRenderable(); } } + +function popsu_preprocess_block__entity_field(&$variables){ + $field = &$variables['content']['field']; + $items = &$field['#items']; + if ($field['#field_type'] === "entity_reference_revisions") { + $entity = $items->first()->get('entity'); + $entityAdapter = $entity->getTarget(); + $referencedEntity = $entityAdapter->getValue(); + + + $field_definitions = $referencedEntity->getFieldDefinitions(); + $all_empty = TRUE; + foreach ($field_definitions as $field_name => $definition) { + if (!method_exists($definition, 'isBaseField')) { + $field_instance = $referencedEntity->get($field_name); + if (!$field_instance->isEmpty()) { + $all_empty = FALSE; + } + } + } + if ($all_empty) { + $variables['isEmpty'] = true; + $t="t"; + } + + + + } + // if($items->isEmpty()){ + // } +} \ No newline at end of file diff --git a/web/themes/custom/popsu/templates/layout/block--entity-field.html.twig b/web/themes/custom/popsu/templates/layout/block--entity-field.html.twig new file mode 100644 index 00000000..f8adee57 --- /dev/null +++ b/web/themes/custom/popsu/templates/layout/block--entity-field.html.twig @@ -0,0 +1,41 @@ +{# +/** + * @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. + * - 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 + */ +#} +{% if not isEmpty %} +