Forráskód Böngészése

continue to build frontpage

Bachir Soussi Chiadmi 5 éve
szülő
commit
c8829ee539
75 módosított fájl, 613 hozzáadás és 110 törlés
  1. 1 0
      composer.json
  2. 56 1
      composer.lock
  3. 17 0
      config/devel/language/fr/views.view.watchdog.yml
  4. 14 40
      config/sync/core.entity_view_display.node.article.default.yml
  5. 18 5
      config/sync/core.entity_view_display.node.article.teaser.yml
  6. 14 3
      config/sync/core.entity_view_display.node.frontpage.default.yml
  7. 14 12
      config/sync/core.entity_view_display.node.materiau.teaser.yml
  8. 10 25
      config/sync/core.entity_view_display.taxonomy_term.showroom.default.yml
  9. 1 0
      config/sync/core.extension.yml
  10. 1 0
      config/sync/language/fr/advancedqueue.advancedqueue_queue.default.yml
  11. 1 0
      config/sync/language/fr/commerce_checkout.commerce_checkout_flow.default.yml
  12. 1 0
      config/sync/language/fr/commerce_order.commerce_order_item_type.default.yml
  13. 1 0
      config/sync/language/fr/commerce_order.commerce_order_type.default.yml
  14. 1 0
      config/sync/language/fr/commerce_product.commerce_product_type.default.yml
  15. 1 0
      config/sync/language/fr/commerce_product.commerce_product_variation_type.default.yml
  16. 1 0
      config/sync/language/fr/commerce_store.commerce_store_type.online.yml
  17. 1 0
      config/sync/language/fr/core.entity_form_mode.simplenews_subscriber.page.yml
  18. 1 0
      config/sync/language/fr/core.entity_view_mode.node.rss.yml
  19. 1 0
      config/sync/language/fr/core.entity_view_mode.user.compact.yml
  20. 1 0
      config/sync/language/fr/extlink.settings.yml
  21. 1 0
      config/sync/language/fr/field.field.commerce_order.default.order_items.yml
  22. 1 0
      config/sync/language/fr/field.field.commerce_order.recurring.order_items.yml
  23. 1 0
      config/sync/language/fr/field.field.commerce_product.default.variations.yml
  24. 15 0
      config/sync/language/fr/pagerer.style.adaptive.yml
  25. 13 0
      config/sync/language/fr/pagerer.style.basic.yml
  26. 9 0
      config/sync/language/fr/pagerer.style.mini.yml
  27. 15 0
      config/sync/language/fr/pagerer.style.progressive.yml
  28. 14 0
      config/sync/language/fr/pagerer.style.scrollpane.yml
  29. 13 0
      config/sync/language/fr/pagerer.style.slider.yml
  30. 3 0
      config/sync/language/fr/pagerer.style.standard.yml
  31. 1 0
      config/sync/language/fr/system.action.commerce_order_delete_action.yml
  32. 1 0
      config/sync/language/fr/system.action.commerce_product_delete_action.yml
  33. 1 0
      config/sync/language/fr/system.action.commerce_publish_product.yml
  34. 1 0
      config/sync/language/fr/system.action.commerce_store_delete_action.yml
  35. 1 0
      config/sync/language/fr/system.action.commerce_unpublish_product.yml
  36. 1 0
      config/sync/language/fr/system.action.node_make_sticky_action.yml
  37. 1 0
      config/sync/language/fr/system.action.node_make_unsticky_action.yml
  38. 1 0
      config/sync/language/fr/system.action.node_promote_action.yml
  39. 1 0
      config/sync/language/fr/system.action.node_publish_action.yml
  40. 1 0
      config/sync/language/fr/system.action.node_unpromote_action.yml
  41. 1 0
      config/sync/language/fr/system.action.node_unpublish_action.yml
  42. 17 0
      config/sync/language/fr/views.view.advancedqueue_jobs.yml
  43. 7 0
      config/sync/language/fr/views.view.archive.yml
  44. 8 0
      config/sync/language/fr/views.view.commerce_activity.yml
  45. 9 0
      config/sync/language/fr/views.view.commerce_cart_block.yml
  46. 8 0
      config/sync/language/fr/views.view.commerce_cart_form.yml
  47. 26 0
      config/sync/language/fr/views.view.commerce_carts.yml
  48. 9 0
      config/sync/language/fr/views.view.commerce_checkout_order_summary.yml
  49. 12 0
      config/sync/language/fr/views.view.commerce_licenses.yml
  50. 7 0
      config/sync/language/fr/views.view.commerce_order_item_table.yml
  51. 25 0
      config/sync/language/fr/views.view.commerce_orders.yml
  52. 16 0
      config/sync/language/fr/views.view.commerce_products.yml
  53. 12 0
      config/sync/language/fr/views.view.commerce_stores.yml
  54. 15 0
      config/sync/language/fr/views.view.commerce_user_orders.yml
  55. 4 0
      config/sync/language/fr/views.view.content.yml
  56. 5 0
      config/sync/language/fr/views.view.content_recent.yml
  57. 8 0
      config/sync/language/fr/views.view.content_translations.yml
  58. 4 0
      config/sync/language/fr/views.view.files.yml
  59. 4 0
      config/sync/language/fr/views.view.frontpage.yml
  60. 11 0
      config/sync/language/fr/views.view.glossary.yml
  61. 10 0
      config/sync/language/fr/views.view.locked_content.yml
  62. 8 0
      config/sync/language/fr/views.view.maillog_overview.yml
  63. 2 0
      config/sync/language/fr/views.view.profiles.yml
  64. 5 0
      config/sync/language/fr/views.view.redirect.yml
  65. 7 0
      config/sync/language/fr/views.view.simplenews_newsletters.yml
  66. 6 0
      config/sync/language/fr/views.view.simplenews_subscribers.yml
  67. 7 0
      config/sync/language/fr/views.view.taxonomy_term.yml
  68. 5 0
      config/sync/language/fr/views.view.user_admin_people.yml
  69. 2 0
      config/sync/language/fr/views.view.who_s_new.yml
  70. 2 0
      config/sync/language/fr/views.view.who_s_online.yml
  71. 15 0
      config/sync/language/fr/views.view.workflow_entity_history.yml
  72. 32 10
      web/modules/custom/materio_home/materio_home.module
  73. 49 0
      web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php
  74. 2 7
      web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php
  75. 2 7
      web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedShowroomsReferences.php

+ 1 - 0
composer.json

@@ -35,6 +35,7 @@
         "drupal/entity_clone": "^1.0",
         "drupal/error_log": "^1.0",
         "drupal/genpass": "1.x-dev",
+        "drupal/image_delta_formatter": "1.x-dev",
         "drupal/login_history": "1.x-dev",
         "drupal/mailgun": "1.x-dev",
         "drupal/mailsystem": "^4.1",

+ 56 - 1
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "b8885355b53124506546f75d8e3d43c8",
+    "content-hash": "fdf4dd3a621ca2c7754d1fc8ee5ee311",
     "packages": [
         {
             "name": "alchemy/zippy",
@@ -6363,6 +6363,60 @@
                 "source": "https://git.drupalcode.org/project/honeypot"
             }
         },
+        {
+            "name": "drupal/image_delta_formatter",
+            "version": "dev-1.x",
+            "source": {
+                "type": "git",
+                "url": "https://git.drupalcode.org/project/image_delta_formatter.git",
+                "reference": "1c6eefadabe83faa6d28d35de6e41e793f393ec0"
+            },
+            "require": {
+                "drupal/core": "*"
+            },
+            "type": "drupal-module",
+            "extra": {
+                "branch-alias": {
+                    "dev-1.x": "1.x-dev"
+                },
+                "drupal": {
+                    "version": "8.x-1.0+0-dev",
+                    "datestamp": "1521667080",
+                    "security-coverage": {
+                        "status": "not-covered",
+                        "message": "Dev releases are not covered by Drupal security advisories."
+                    }
+                }
+            },
+            "notification-url": "https://packages.drupal.org/8/downloads",
+            "license": [
+                "GPL-2.0-or-later"
+            ],
+            "authors": [
+                {
+                    "name": "bojanz",
+                    "homepage": "https://www.drupal.org/user/86106"
+                },
+                {
+                    "name": "fgm",
+                    "homepage": "https://www.drupal.org/user/27985"
+                },
+                {
+                    "name": "jsacksick",
+                    "homepage": "https://www.drupal.org/user/972218"
+                },
+                {
+                    "name": "mglaman",
+                    "homepage": "https://www.drupal.org/user/2416470"
+                }
+            ],
+            "description": "Provides a formatter that displays a specific delta of a multivalue imagefield.",
+            "homepage": "https://www.drupal.org/project/image_delta_formatter",
+            "support": {
+                "source": "https://git.drupalcode.org/project/image_delta_formatter"
+            },
+            "time": "2018-03-21T21:15:57+00:00"
+        },
         {
             "name": "drupal/imagemagick",
             "version": "2.4.0",
@@ -16127,6 +16181,7 @@
         "drupal/commerce_variation_cart_form": 20,
         "drupal/computed_field": 10,
         "drupal/genpass": 20,
+        "drupal/image_delta_formatter": 20,
         "drupal/login_history": 20,
         "drupal/mailgun": 20,
         "drupal/migrate_plus": 20,

+ 17 - 0
config/devel/language/fr/views.view.watchdog.yml

@@ -9,22 +9,37 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
       fields:
         nothing:
           admin_label: Icône
         severity:
           label: Importance
+        type:
+          label: Type
+        timestamp:
+          label: Date
+        message:
+          label: Message
         name:
           label: Utilisateur
+          separator: ', '
         link:
           label: Actions
       filters:
+        type:
+          expose:
+            label: Type
         severity:
           expose:
             label: Importance
@@ -33,3 +48,5 @@ display:
         area:
           admin_label: 'Aucune entrée du journal n''est disponible.'
           content: 'Aucune entrée du journal n''est disponible.'
+  page:
+    display_title: Page

+ 14 - 40
config/sync/core.entity_view_display.node.article.default.yml

@@ -20,7 +20,6 @@ dependencies:
     - datetime_range
     - image
     - link
-    - options
     - text
     - user
     - video_embed_field
@@ -32,12 +31,12 @@ content:
   body:
     label: hidden
     type: text_default
-    weight: 101
+    weight: 0
     settings: {  }
     third_party_settings: {  }
     region: content
   field_date:
-    weight: 112
+    weight: 6
     label: above
     settings:
       separator: '-'
@@ -47,29 +46,7 @@ content:
     type: daterange_default
     region: content
   field_linked_materials:
-    weight: 113
-    label: above
-    settings:
-      link: true
-    third_party_settings: {  }
-    type: entity_reference_label
-    region: content
-  field_memo:
-    weight: 108
-    label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: basic_string
-    region: content
-  field_migration:
-    weight: 109
-    label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: list_default
-    region: content
-  field_showroom:
-    weight: 111
+    weight: 7
     label: above
     settings:
       link: true
@@ -77,7 +54,7 @@ content:
     type: entity_reference_label
     region: content
   field_source:
-    weight: 102
+    weight: 1
     label: above
     settings:
       trim_length: 80
@@ -89,7 +66,7 @@ content:
     type: link
     region: content
   field_tags:
-    weight: 106
+    weight: 5
     label: above
     settings:
       link: true
@@ -97,7 +74,7 @@ content:
     type: entity_reference_label
     region: content
   field_thesaurus:
-    weight: 105
+    weight: 4
     label: above
     settings:
       link: true
@@ -105,7 +82,7 @@ content:
     type: entity_reference_label
     region: content
   field_video:
-    weight: 104
+    weight: 3
     label: above
     settings:
       responsive: true
@@ -116,7 +93,7 @@ content:
     type: video_embed_field_video
     region: content
   field_visuel:
-    weight: 103
+    weight: 2
     label: above
     settings:
       image_style: ''
@@ -124,17 +101,14 @@ content:
     third_party_settings: {  }
     type: image
     region: content
-  field_workflow:
-    weight: 110
-    label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: list_default
-    region: content
   links:
-    weight: 100
+    weight: 8
+    region: content
     settings: {  }
     third_party_settings: {  }
-    region: content
 hidden:
+  field_memo: true
+  field_migration: true
+  field_showroom: true
+  field_workflow: true
   langcode: true

+ 18 - 5
config/sync/core.entity_view_display.node.article.teaser.yml

@@ -6,6 +6,7 @@ dependencies:
     - core.entity_view_mode.node.teaser
     - field.field.node.article.body
     - field.field.node.article.field_date
+    - field.field.node.article.field_linked_materials
     - field.field.node.article.field_memo
     - field.field.node.article.field_migration
     - field.field.node.article.field_showroom
@@ -15,8 +16,10 @@ dependencies:
     - field.field.node.article.field_video
     - field.field.node.article.field_visuel
     - field.field.node.article.field_workflow
+    - image.style.medium
     - node.type.article
   module:
+    - image_delta_formatter
     - text
     - user
 id: node.article.teaser
@@ -27,16 +30,27 @@ content:
   body:
     label: hidden
     type: text_summary_or_trimmed
-    weight: 101
+    weight: 0
     settings:
-      trim_length: 600
+      trim_length: 200
     third_party_settings: {  }
     region: content
+  field_visuel:
+    type: image_delta_formatter
+    weight: 1
+    region: content
+    label: hidden
+    settings:
+      deltas: '0'
+      image_style: medium
+      image_link: content
+      deltas_reversed: 0
+    third_party_settings: {  }
   links:
-    weight: 100
+    weight: 2
+    region: content
     settings: {  }
     third_party_settings: {  }
-    region: content
 hidden:
   field_date: true
   field_linked_materials: true
@@ -47,6 +61,5 @@ hidden:
   field_tags: true
   field_thesaurus: true
   field_video: true
-  field_visuel: true
   field_workflow: true
   langcode: true

+ 14 - 3
config/sync/core.entity_view_display.node.frontpage.default.yml

@@ -16,22 +16,33 @@ targetEntityType: node
 bundle: frontpage
 mode: default
 content:
+  computed_articles_reference:
+    label: hidden
+    weight: 6
+    region: content
+    settings:
+      view_mode: teaser
+      link: false
+    third_party_settings: {  }
+    type: entity_reference_entity_view
   computed_materials_reference:
     weight: 2
     region: content
     settings:
+      view_mode: teaser
       link: false
     third_party_settings: {  }
-    type: entity_reference_label
+    type: entity_reference_entity_view
     label: hidden
   computed_showrooms_reference:
     label: hidden
     weight: 4
     region: content
     settings:
-      link: true
+      view_mode: default
+      link: false
     third_party_settings: {  }
-    type: entity_reference_label
+    type: entity_reference_entity_view
   field_a_database:
     weight: 1
     label: above

+ 14 - 12
config/sync/core.entity_view_display.node.materiau.teaser.yml

@@ -23,29 +23,31 @@ dependencies:
     - field.field.node.materiau.field_thesaurus
     - field.field.node.materiau.field_video
     - field.field.node.materiau.field_workflow
+    - image.style.medium
     - node.type.materiau
   module:
-    - text
+    - image_delta_formatter
     - user
 id: node.materiau.teaser
 targetEntityType: node
 bundle: materiau
 mode: teaser
 content:
-  body:
+  field_materiau_images:
+    type: image_delta_formatter
+    weight: 0
+    region: content
     label: hidden
-    type: text_summary_or_trimmed
-    weight: 101
     settings:
-      trim_length: 600
-    third_party_settings: {  }
-    region: content
-  links:
-    weight: 100
-    region: content
-    settings: {  }
+      deltas: '0'
+      image_style: medium
+      image_link: ''
+      deltas_reversed: 0
     third_party_settings: {  }
 hidden:
+  body: true
+  computed_materials_reference: true
+  computed_showrooms_reference: true
   field_attachments: true
   field_distributor: true
   field_famille: true
@@ -54,7 +56,6 @@ hidden:
   field_linked_materials: true
   field_localisation_old: true
   field_manufacturer: true
-  field_materiau_images: true
   field_memo: true
   field_migration: true
   field_reference: true
@@ -65,3 +66,4 @@ hidden:
   field_video: true
   field_workflow: true
   langcode: true
+  links: true

+ 10 - 25
config/sync/core.entity_view_display.taxonomy_term.showroom.default.yml

@@ -12,7 +12,7 @@ dependencies:
     - taxonomy.vocabulary.showroom
   module:
     - address
-    - options
+    - telephone_formatter
     - text
 id: taxonomy_term.showroom.default
 targetEntityType: taxonomy_term
@@ -26,20 +26,6 @@ content:
     region: content
     settings: {  }
     third_party_settings: {  }
-  field_memo:
-    weight: 4
-    label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: basic_string
-    region: content
-  field_migration:
-    weight: 6
-    label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: list_default
-    region: content
   field_public_address:
     weight: 2
     label: above
@@ -52,21 +38,20 @@ content:
     label: above
     settings: {  }
     third_party_settings: {  }
-    type: basic_string
+    type: email_mailto
     region: content
   field_public_phone:
     weight: 1
     label: above
-    settings: {  }
-    third_party_settings: {  }
-    type: basic_string
-    region: content
-  field_workflow:
-    weight: 5
-    label: above
-    settings: {  }
+    settings:
+      format: 1
+      link: true
+      default_country: null
     third_party_settings: {  }
-    type: list_default
+    type: telephone_formatter
     region: content
 hidden:
+  field_memo: true
+  field_migration: true
+  field_workflow: true
   langcode: true

+ 1 - 0
config/sync/core.extension.yml

@@ -72,6 +72,7 @@ module:
   help: 0
   honeypot: 0
   image: 0
+  image_delta_formatter: 0
   inline_entity_form: 0
   interval: 0
   jsonapi: 0

+ 1 - 0
config/sync/language/fr/advancedqueue.advancedqueue_queue.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_checkout.commerce_checkout_flow.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_order.commerce_order_item_type.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_order.commerce_order_type.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_product.commerce_product_type.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_product.commerce_product_variation_type.default.yml

@@ -0,0 +1 @@
+label: 'Par défaut'

+ 1 - 0
config/sync/language/fr/commerce_store.commerce_store_type.online.yml

@@ -0,0 +1 @@
+label: 'En ligne'

+ 1 - 0
config/sync/language/fr/core.entity_form_mode.simplenews_subscriber.page.yml

@@ -0,0 +1 @@
+label: Page

+ 1 - 0
config/sync/language/fr/core.entity_view_mode.node.rss.yml

@@ -0,0 +1 @@
+label: RSS

+ 1 - 0
config/sync/language/fr/core.entity_view_mode.user.compact.yml

@@ -0,0 +1 @@
+label: Compact

+ 1 - 0
config/sync/language/fr/extlink.settings.yml

@@ -1 +1,2 @@
 extlink_alert_text: 'Ce lien vous dirige vers un site externe. Nous ne sommes pas responsables de son contenu.'
+extlink_label: '(le lien est externe)'

+ 1 - 0
config/sync/language/fr/field.field.commerce_order.default.order_items.yml

@@ -0,0 +1 @@
+label: 'Eléments de la commande'

+ 1 - 0
config/sync/language/fr/field.field.commerce_order.recurring.order_items.yml

@@ -0,0 +1 @@
+label: 'Eléments de la commande'

+ 1 - 0
config/sync/language/fr/field.field.commerce_product.default.variations.yml

@@ -0,0 +1 @@
+label: Variations

+ 15 - 0
config/sync/language/fr/pagerer.style.adaptive.yml

@@ -1,6 +1,12 @@
 default_config:
   tags:
+    page_breaker: …
     pages:
+      prefix_label: Page
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_current_title: 'Page courante'
       page_title: 'Aller à la page @number'
       first_title: 'Aller à la première page'
@@ -8,14 +14,23 @@ default_config:
       next_title: 'Aller à la page suivante'
       last_title: 'Aller à la dernière page'
       page_current_reader: 'Page courante'
+      page_reader: Page
       first_reader: 'Première page'
       previous_reader: 'Page précédente'
       next_reader: 'Page suivante'
       last_reader: 'Dernière page'
     items:
       prefix_label: Élément
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Élément
       first_reader: 'Premier élément'
     item_ranges:
       prefix_label: Éléments
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Éléments

+ 13 - 0
config/sync/language/fr/pagerer.style.basic.yml

@@ -1,6 +1,10 @@
 default_config:
   tags:
     pages:
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       first_title: 'Aller à la première page'
       previous_title: 'Aller à la page précédente'
       next_title: 'Aller à la page suivante'
@@ -10,4 +14,13 @@ default_config:
       next_reader: 'Page suivante'
       last_reader: 'Dernière page'
     items:
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       first_reader: 'Premier élément'
+    item_ranges:
+      first: «
+      previous: ‹
+      next: ›
+      last: »

+ 9 - 0
config/sync/language/fr/pagerer.style.mini.yml

@@ -1,6 +1,11 @@
 default_config:
   tags:
     pages:
+      prefix_label: Page
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_current_title: 'Page courante'
       first_title: 'Aller à la première page'
       previous_title: 'Aller à la page précédente'
@@ -13,4 +18,8 @@ default_config:
       last_reader: 'Dernière page'
     items:
       prefix_label: Élément
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       first_reader: 'Premier élément'

+ 15 - 0
config/sync/language/fr/pagerer.style.progressive.yml

@@ -1,6 +1,12 @@
 default_config:
   tags:
+    page_breaker: …
     pages:
+      prefix_label: Page
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_current_title: 'Page courante'
       page_title: 'Aller à la page @number'
       first_title: 'Aller à la première page'
@@ -8,14 +14,23 @@ default_config:
       next_title: 'Aller à la page suivante'
       last_title: 'Aller à la dernière page'
       page_current_reader: 'Page courante'
+      page_reader: Page
       first_reader: 'Première page'
       previous_reader: 'Page précédente'
       next_reader: 'Page suivante'
       last_reader: 'Dernière page'
     items:
       prefix_label: Élément
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Élément
       first_reader: 'Premier élément'
     item_ranges:
       prefix_label: Éléments
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Éléments

+ 14 - 0
config/sync/language/fr/pagerer.style.scrollpane.yml

@@ -1,6 +1,11 @@
 default_config:
   tags:
     pages:
+      prefix_label: Page
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_current_title: 'Page courante'
       page_title: 'Aller à la page @number'
       first_title: 'Aller à la première page'
@@ -8,14 +13,23 @@ default_config:
       next_title: 'Aller à la page suivante'
       last_title: 'Aller à la dernière page'
       page_current_reader: 'Page courante'
+      page_reader: Page
       first_reader: 'Première page'
       previous_reader: 'Page précédente'
       next_reader: 'Page suivante'
       last_reader: 'Dernière page'
     items:
       prefix_label: Élément
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Élément
       first_reader: 'Premier élément'
     item_ranges:
       prefix_label: Éléments
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_reader: Éléments

+ 13 - 0
config/sync/language/fr/pagerer.style.slider.yml

@@ -1,6 +1,11 @@
 default_config:
   tags:
     pages:
+      prefix_label: Page
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       page_current_title: 'Page courante'
       first_title: 'Aller à la première page'
       previous_title: 'Aller à la page précédente'
@@ -13,6 +18,14 @@ default_config:
       last_reader: 'Dernière page'
     items:
       prefix_label: Élément
+      first: «
+      previous: ‹
+      next: ›
+      last: »
       first_reader: 'Premier élément'
     item_ranges:
       prefix_label: Éléments
+      first: «
+      previous: ‹
+      next: ›
+      last: »

+ 3 - 0
config/sync/language/fr/pagerer.style.standard.yml

@@ -1,6 +1,8 @@
 default_config:
   tags:
+    page_breaker: …
     pages:
+      prefix_label: Page
       first: '« Premier'
       previous: '‹ Précédent'
       next: 'Suivant ›'
@@ -12,6 +14,7 @@ default_config:
       next_title: 'Aller à la page suivante'
       last_title: 'Aller à la dernière page'
       page_current_reader: 'Page courante'
+      page_reader: Page
       first_reader: 'Première page'
       previous_reader: 'Page précédente'
       next_reader: 'Page suivante'

+ 1 - 0
config/sync/language/fr/system.action.commerce_order_delete_action.yml

@@ -0,0 +1 @@
+label: 'Supprimer la commande'

+ 1 - 0
config/sync/language/fr/system.action.commerce_product_delete_action.yml

@@ -0,0 +1 @@
+label: 'Supprimer un produit'

+ 1 - 0
config/sync/language/fr/system.action.commerce_publish_product.yml

@@ -0,0 +1 @@
+label: 'Publier un produit'

+ 1 - 0
config/sync/language/fr/system.action.commerce_store_delete_action.yml

@@ -0,0 +1 @@
+label: 'Supprimer une boutique'

+ 1 - 0
config/sync/language/fr/system.action.commerce_unpublish_product.yml

@@ -0,0 +1 @@
+label: 'Dépublier un produit'

+ 1 - 0
config/sync/language/fr/system.action.node_make_sticky_action.yml

@@ -0,0 +1 @@
+label: 'Épingler un contenu en haut des listes'

+ 1 - 0
config/sync/language/fr/system.action.node_make_unsticky_action.yml

@@ -0,0 +1 @@
+label: 'Retirer un contenu du haut des listes'

+ 1 - 0
config/sync/language/fr/system.action.node_promote_action.yml

@@ -0,0 +1 @@
+label: 'Promouvoir le contenu en page d''accueil'

+ 1 - 0
config/sync/language/fr/system.action.node_publish_action.yml

@@ -0,0 +1 @@
+label: 'Publier un contenu'

+ 1 - 0
config/sync/language/fr/system.action.node_unpromote_action.yml

@@ -0,0 +1 @@
+label: 'Retirer un contenu de la page d''accueil'

+ 1 - 0
config/sync/language/fr/system.action.node_unpublish_action.yml

@@ -0,0 +1 @@
+label: 'Dépublier un contenu'

+ 17 - 0
config/sync/language/fr/views.view.advancedqueue_jobs.yml

@@ -7,24 +7,41 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
       fields:
+        job_id:
+          label: 'Identifiant (ID) de Travail'
         state:
           label: État
+        type:
+          label: 'Catégorie de travail'
         payload:
           label: Charges
+        message:
+          label: Message
         operations:
           label: Actions
       filters:
+        type:
+          expose:
+            label: 'Catégorie de travail'
         state:
           expose:
             label: État
+      title: Travaux
       arguments:
         queue_id:
           exception:
             title: Tout
+  page_1:
+    display_title: Page

+ 7 - 0
config/sync/language/fr/views.view.archive.yml

@@ -10,11 +10,18 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
   block_1:
     display_title: Bloc
+  page_1:
+    display_title: Page

+ 8 - 0
config/sync/language/fr/views.view.commerce_activity.yml

@@ -8,9 +8,17 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       fields:
+        created:
+          label: Date
+          separator: ', '
+        rendered_entity:
+          label: Message
         uid:
           label: Utilisateur
+          separator: ', '
       arguments:
         source_entity_id:
           exception:

+ 9 - 0
config/sync/language/fr/views.view.commerce_cart_block.yml

@@ -8,6 +8,15 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      fields:
+        quantity:
+          separator: ', '
+        title:
+          separator: ', '
+        total_price__number:
+          separator: ', '
       arguments:
         order_id:
           exception:

+ 8 - 0
config/sync/language/fr/views.view.commerce_cart_form.yml

@@ -1,3 +1,4 @@
+label: 'Formulaire du panier'
 display:
   default:
     display_title: Maître
@@ -7,15 +8,22 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       fields:
         purchased_entity:
           label: Élément
+          separator: ', '
         unit_price__number:
           label: Prix
+          separator: ', '
         edit_quantity:
           label: Quantité
         remove_button:
           label: Retirer
+        total_price__number:
+          label: Total
+          separator: ', '
       arguments:
         order_id:
           exception:

+ 26 - 0
config/sync/language/fr/views.view.commerce_carts.yml

@@ -1,3 +1,4 @@
+label: Paniers
 display:
   default:
     display_title: Maître
@@ -7,6 +8,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -21,13 +24,36 @@ display:
       fields:
         commerce_order_bulk_form:
           action_title: 'Pour cette sélection'
+        type:
+          label: Type
+          separator: ', '
         store_id:
           label: Boutique
+          separator: ', '
         uid:
           label: Client
+          separator: ', '
         mail:
           label: Courriel
+          separator: ', '
+        total_price__number:
+          label: Total
+          separator: ', '
         changed:
           label: 'Mis à jour'
+          separator: ', '
         operations:
           label: Actions
+      filters:
+        type:
+          expose:
+            label: Type
+      title: Paniers
+      empty:
+        area_text_custom:
+          content: 'Aucune commande n''est disponible.'
+  page_1:
+    display_title: Page
+    display_options:
+      menu:
+        title: Paniers

+ 9 - 0
config/sync/language/fr/views.view.commerce_checkout_order_summary.yml

@@ -7,6 +7,15 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      fields:
+        quantity:
+          separator: ', '
+        purchased_entity:
+          separator: ', '
+        total_price__number:
+          separator: ', '
       arguments:
         order_id:
           exception:

+ 12 - 0
config/sync/language/fr/views.view.commerce_licenses.yml

@@ -8,9 +8,13 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
+            previous: ‹‹
+            next: ››
             first: '« Premier'
             last: 'Dernier »'
           expose:
@@ -20,18 +24,24 @@ display:
       fields:
         license_id:
           label: 'Identifiant (ID)'
+          separator: ', '
         label:
           label: Étiquette
         type:
           label: 'Type de licence'
+          separator: ', '
         uid:
           label: Propriétaire
+          separator: ', '
         state:
           label: État
+          separator: ', '
         changed:
           label: 'Mis à jour'
+          separator: ', '
         granted:
           label: Accordé(e)
+          separator: ', '
         operations:
           label: 'Liens d''actions'
       filters:
@@ -39,3 +49,5 @@ display:
           expose:
             label: État
       title: Licences
+  page_1:
+    display_title: Page

+ 7 - 0
config/sync/language/fr/views.view.commerce_order_item_table.yml

@@ -1,3 +1,4 @@
+label: 'Eléments de la commande'
 display:
   default:
     display_title: Maître
@@ -7,15 +8,21 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       fields:
         title:
           label: Titre
+          separator: ', '
         unit_price__number:
           label: 'Prix unitaire'
+          separator: ', '
         quantity:
           label: Quantité
+          separator: ', '
         total_price__number:
           label: 'Prix total'
+          separator: ', '
       arguments:
         order_id:
           exception:

+ 25 - 0
config/sync/language/fr/views.view.commerce_orders.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -22,25 +24,48 @@ display:
       fields:
         commerce_order_bulk_form:
           action_title: 'Pour cette sélection'
+        order_number:
+          label: '#'
+          separator: ', '
+        placed:
+          label: Date
+          separator: ', '
+        type:
+          label: Type
+          separator: ', '
         store_id:
           label: Boutique
+          separator: ', '
         uid:
           label: Client
+          separator: ', '
         mail:
           label: Courriel
+          separator: ', '
         state:
           label: État
+          separator: ', '
+        total_price__number:
+          label: Total
+          separator: ', '
         operations:
           label: Actions
       filters:
         order_number:
           expose:
             label: 'Numéro de commande'
+        type:
+          expose:
+            label: Type
         state:
           expose:
             label: État
       title: Commandes
+      empty:
+        area_text_custom:
+          content: 'Aucune commande n''est disponible.'
   page_1:
+    display_title: Page
     display_options:
       menu:
         title: Commandes

+ 16 - 0
config/sync/language/fr/views.view.commerce_products.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -24,17 +26,31 @@ display:
           action_title: 'Pour cette sélection'
         title:
           label: Titre
+          separator: ', '
+        type:
+          label: Type
+          separator: ', '
         status:
           label: Etat
           settings:
             format_custom_true: Publié
             format_custom_false: 'Non publié'
+          separator: ', '
         changed:
           label: 'Mis à jour'
+          separator: ', '
         operations:
           label: Actions
       filters:
+        type:
+          expose:
+            label: Type
         title:
           expose:
             label: Titre
       title: Produits
+      empty:
+        area_text_custom:
+          content: 'Aucun produit disponible.'
+  page_1:
+    display_title: Page

+ 12 - 0
config/sync/language/fr/views.view.commerce_stores.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -24,6 +26,16 @@ display:
           action_title: 'Pour cette sélection'
         name:
           label: Nom
+          separator: ', '
+        type:
+          label: Type
+          separator: ', '
         operations:
           label: Actions
+      filters:
+        type:
+          expose:
+            label: Type
       title: Boutiques
+  page_1:
+    display_title: Page

+ 15 - 0
config/sync/language/fr/views.view.commerce_user_orders.yml

@@ -7,6 +7,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
@@ -21,11 +23,24 @@ display:
       fields:
         order_id:
           label: 'Identifiant (ID)'
+          separator: ', '
         order_number:
           label: 'Numéro de commande'
+          separator: ', '
+        placed:
+          label: Date
+          separator: ', '
+        total_price__number:
+          label: Total
+          separator: ', '
         state:
           label: État
+          separator: ', '
       title: Commandes
+      empty:
+        area:
+          content:
+            value: 'Vous ne nous avez encore rien commandé.'
       arguments:
         uid:
           exception:

+ 4 - 0
config/sync/language/fr/views.view.content.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
@@ -20,6 +22,7 @@ display:
           label: Titre
         type:
           label: 'Type de contenu'
+          separator: ', '
         name:
           label: Auteur
         status:
@@ -63,3 +66,4 @@ display:
       tab_options:
         title: Contenu
         description: 'Trouver et gérer le contenu'
+    display_title: Page

+ 5 - 0
config/sync/language/fr/views.view.content_recent.yml

@@ -9,6 +9,11 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
+      fields:
+        changed:
+          separator: ', '
       title: 'Contenu récent'
       empty:
         area_text_custom:

+ 8 - 0
config/sync/language/fr/views.view.content_translations.yml

@@ -7,9 +7,13 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
+            previous: ‹‹
+            next: ››
             first: '« Premier'
             last: 'Dernier »'
           expose:
@@ -19,8 +23,10 @@ display:
       fields:
         title:
           label: Titre
+          separator: ', '
         langcode:
           label: 'A partir de'
+          separator: ', '
         translation_target_language:
           label: À
         translation_status:
@@ -40,3 +46,5 @@ display:
         translation_status:
           expose:
             label: 'Statut de la traduction'
+  page_1:
+    display_title: Page

+ 4 - 0
config/sync/language/fr/views.view.files.yml

@@ -9,6 +9,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -20,6 +22,7 @@ display:
           label: 'Identifiant (FID)'
         filename:
           label: Nom
+          separator: ', '
         filemime:
           label: 'Type MIME'
         filesize:
@@ -28,6 +31,7 @@ display:
           label: Etat
           settings:
             format_custom_false: Temporaire
+            format_custom_true: Permanent
         created:
           label: 'Date de transfert'
         changed:

+ 4 - 0
config/sync/language/fr/views.view.frontpage.yml

@@ -13,6 +13,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -27,3 +29,5 @@ display:
     display_title: Maître
   feed_1:
     display_title: Flux
+  page_1:
+    display_title: Page

+ 11 - 0
config/sync/language/fr/views.view.glossary.yml

@@ -1,3 +1,4 @@
+label: Glossary
 description: 'Tous les contenus, triés par lettre.'
 display:
   default:
@@ -8,12 +9,17 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
       fields:
         title:
           label: Titre
@@ -23,3 +29,8 @@ display:
           label: 'Dernière mise à jour'
   attachment_1:
     display_title: 'Fichier attaché'
+  page_1:
+    display_title: Page
+    display_options:
+      menu:
+        title: Glossary

+ 10 - 0
config/sync/language/fr/views.view.locked_content.yml

@@ -7,9 +7,13 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
+            previous: ‹‹
+            next: ››
             first: '« Premier'
             last: 'Dernier »'
           expose:
@@ -19,10 +23,14 @@ display:
       fields:
         title:
           label: Titre
+          separator: ', '
         type:
           label: 'Type de contenu'
+          separator: ', '
         timestamp:
           label: 'Date / Heure du verrouillage'
+        name:
+          separator: ', '
         operations:
           label: Actions
       filters:
@@ -42,3 +50,5 @@ display:
         title:
           expose:
             label: Titre
+  page_1:
+    display_title: Page

+ 8 - 0
config/sync/language/fr/views.view.maillog_overview.yml

@@ -7,6 +7,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -19,9 +21,15 @@ display:
             first: "«\_premier"
             last: "dernier\_»"
       fields:
+        idmaillog:
+          label: '#'
+        sent_date:
+          label: Date
         subject:
           label: Objet
         header_from:
           label: 'A partir de'
         header_to:
           label: À
+  page_1:
+    display_title: Page

+ 2 - 0
config/sync/language/fr/views.view.profiles.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       arguments:
         uid:
           exception:

+ 5 - 0
config/sync/language/fr/views.view.redirect.yml

@@ -8,6 +8,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
@@ -24,6 +26,7 @@ display:
           action_title: 'Pour cette sélection'
         redirect_source__path:
           label: 'A partir de'
+          separator: ', '
         created:
           label: Créé
       filters:
@@ -57,3 +60,5 @@ display:
           expose:
             label: 'Langue d''origine'
       title: Rediriger
+  page_1:
+    display_title: Page

+ 7 - 0
config/sync/language/fr/views.view.simplenews_newsletters.yml

@@ -7,6 +7,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
@@ -17,9 +19,14 @@ display:
         node_bulk_form:
           label: 'Formulaire des opérations en masse sur les nœuds'
           action_title: 'Pour cette sélection'
+        simplenews_issue:
+          separator: ', '
         status:
           label: Publié
+          separator: ', '
         created:
           label: 'Mis à jour'
         operations:
           label: 'Liens d''actions'
+  page_1:
+    display_title: Page

+ 6 - 0
config/sync/language/fr/views.view.simplenews_subscribers.yml

@@ -7,6 +7,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
@@ -23,6 +25,8 @@ display:
           label: Courriel
         user_name:
           label: 'Nom d''utilisateur'
+        subscriptions:
+          separator: ', '
         status:
           label: Actif
         created:
@@ -39,3 +43,5 @@ display:
         subscriptions_status:
           expose:
             label: Etat
+  page_1:
+    display_title: Page

+ 7 - 0
config/sync/language/fr/views.view.taxonomy_term.yml

@@ -9,15 +9,22 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
       arguments:
         tid:
           exception:
             title: Tout
   feed_1:
     display_title: Flux
+  page_1:
+    display_title: Page

+ 5 - 0
config/sync/language/fr/views.view.user_admin_people.yml

@@ -9,6 +9,8 @@ display:
           submit_button: Filtrer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           tags:
@@ -38,6 +40,8 @@ display:
           label: 'Dernier accès'
         operations:
           label: Actions
+        mail:
+          separator: ', '
       filters:
         combine:
           expose:
@@ -62,6 +66,7 @@ display:
           content: 'Personne n''est disponible.'
       use_more_text: plus
   page_1:
+    display_title: Page
     display_options:
       menu:
         title: Lister

+ 2 - 0
config/sync/language/fr/views.view.who_s_new.yml

@@ -9,6 +9,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       title: 'Nouveaux membres'
   block_1:
     display_title: 'Nouveaux membres'

+ 2 - 0
config/sync/language/fr/views.view.who_s_online.yml

@@ -9,6 +9,8 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       filters:
         access:
           expose:

+ 15 - 0
config/sync/language/fr/views.view.workflow_entity_history.yml

@@ -7,21 +7,36 @@ display:
           submit_button: Appliquer
           reset_button_label: Réinitialiser
           exposed_sorts_label: 'Trier par'
+          sort_asc_label: Asc
+          sort_desc_label: Desc
       pager:
         options:
           expose:
             items_per_page_label: 'Éléments par page'
             items_per_page_options_all_label: '- Tout -'
             offset_label: Décalage
+          tags:
+            previous: ‹‹
+            next: ››
       fields:
+        hid:
+          separator: ', '
         timestamp:
           label: Horodatage
+          separator: ', '
         field_name:
           label: 'Nom du champ'
+          separator: ', '
+        from_sid:
+          separator: ', '
+        to_sid:
+          separator: ', '
         uid:
           label: 'Identifiant (ID) utilisateur'
+          separator: ', '
         comment:
           label: 'Message de journal'
+          separator: ', '
         operations:
           label: Actions
       arguments:

+ 32 - 10
web/modules/custom/materio_home/materio_home.module

@@ -29,20 +29,21 @@ use Drupal\mymodule\Plugin\Field\FieldType\MyFieldComputed;
  * @param array $base_field_definitions
  * @return array
  */
-// function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
-function materio_home_entity_base_field_info_alter(&$fields, EntityTypeInterface $entity_type) {
+function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
+// function materio_home_entity_base_field_info_alter(&$fields, EntityTypeInterface $entity_type) {
   // $fields = array();
   // if ($entity_type->id() == 'node' && $bundle === 'frontpage') {
-  if ($entity_type->id() == 'node') {
+  // \Drupal::logger('materio_home')->notice('bundle: '.$bundle);
+  if ($entity_type->id() == 'node' && $bundle == 'frontpage') {
     $fields['computed_materials_reference'] = BaseFieldDefinition::create('entity_reference')
       ->setName('computed_materials_reference')
       ->setLabel(t('Computed Materials References'))
       ->setDescription(t('Computed Materials References.'))
       // // The Entity Type this field belongs to.
-      ->setSetting('target_type', 'node')
+      ->setTargetEntityTypeId($entity_type->id())
       // // The Entity Type bundle this field belongs to.
-      ->setTargetBundle('frontpage')
-      ->setTargetEntityTypeId('node')
+      ->setTargetBundle($bundle)
+      ->setSetting('target_type', 'node')
       ->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED)
       ->setComputed(TRUE)
       ->setRevisionable(FALSE)
@@ -58,11 +59,11 @@ function materio_home_entity_base_field_info_alter(&$fields, EntityTypeInterface
       ->setName('computed_showrooms_reference')
       ->setLabel(t('Computed Showrooms References'))
       ->setDescription(t('Computed Showrooms References.'))
-      ->setSetting('target_type', 'taxonomy_term')
       // // The Entity Type this field belongs to.
-      ->setTargetEntityTypeId('node')
+      ->setTargetEntityTypeId($entity_type->id())
       // // The Entity Type bundle this field belongs to.
-      ->setTargetBundle('frontpage')
+      ->setTargetBundle($bundle)
+      ->setSetting('target_type', 'taxonomy_term')
       ->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED)
       ->setComputed(TRUE)
       ->setRevisionable(FALSE)
@@ -73,8 +74,29 @@ function materio_home_entity_base_field_info_alter(&$fields, EntityTypeInterface
           'weight' => -5,
         ])
       ->setClass(\Drupal\materio_home\Plugin\Field\FieldType\ComputedShowroomsReferences::class);
+
+    $fields['computed_articles_reference'] = BaseFieldDefinition::create('entity_reference')
+      ->setName('computed_articles_reference')
+      ->setLabel(t('Computed Articles References'))
+      ->setDescription(t('Computed Articles References.'))
+      // // 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(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED)
+      ->setComputed(TRUE)
+      ->setRevisionable(FALSE)
+      ->setTranslatable(FALSE)
+      ->setDisplayConfigurable('view', TRUE)
+      ->setDisplayOptions('view', [
+          'label' => 'hidden',
+          'weight' => -5,
+        ])
+      ->setClass(\Drupal\materio_home\Plugin\Field\FieldType\ComputedArticlesReferences::class);
+
+      return $fields;
   }
-  return $fields;
 }
 
 // /**

+ 49 - 0
web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php

@@ -0,0 +1,49 @@
+<?php
+namespace Drupal\materio_home\Plugin\Field\FieldType;
+
+use Drupal\Core\Entity\FieldableEntityInterface;
+use Drupal\Core\Field\EntityReferenceFieldItemList;
+use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
+use Drupal\Core\Field\FieldItemList;
+use Drupal\Core\TypedData\TypedDataInterface;
+use Drupal\Core\Field\BaseFieldDefinition;
+use Drupal\Core\TypedData\ComputedItemListTrait;
+
+// https://www.drupal.org/node/2112677
+// https://www.cornel.co/article/entity-reference-computed-field-example-drupal
+// https://www.caxy.com/blog/drupal-custom-form-and-computed-fields
+
+class ComputedArticlesReferences extends EntityReferenceFieldItemList
+{
+  use ComputedItemListTrait;
+  /**
+   * The entity type manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
+   */
+  protected $entityTypeManager;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function __construct(BaseFieldDefinition $definition, $name, TypedDataInterface $parent) {
+    parent::__construct($definition, $name, $parent);
+    $this->entityTypeManager = \Drupal::entityTypeManager();
+  }
+
+  /**
+   * Compute the values.
+   */
+  protected function computeValue() {
+    $query = \Drupal::entityQuery('node')
+        ->condition('status', 1)
+        ->sort('created', 'DESC')
+        ->range(0,5)
+        ->condition('type', 'article');
+    $nids = $query->execute();
+    foreach ($nids as $key => $nid) {
+      $this->list[$key] = $this->createItem($key, $nid);
+    }
+  }
+
+}

+ 2 - 7
web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedMaterialsReferences.php

@@ -44,13 +44,8 @@ class ComputedMaterialsReferences extends EntityReferenceFieldItemList
         ->range(0,200);
     $results = $query->execute();
     $nids = array_rand($results, 20);
-    $nodes = entity_load_multiple('node', $nids);
-    // \Drupal::logger('materio_home')->notice(print_r($nodes, true));
-    $key = 0;
-    foreach ($nodes as $nid => $node) {
-      // \Drupal::logger('materio_home')->notice($nid);
-      $this->list[$key] = $this->createItem($key, $node->id());
-      $key++;
+    foreach ($nids as $key => $nid) {
+      $this->list[$key] = $this->createItem($key, $nid);
     }
   }
 

+ 2 - 7
web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedShowroomsReferences.php

@@ -40,13 +40,8 @@ class ComputedShowroomsReferences extends EntityReferenceFieldItemList
         ->condition('vid', 'showroom');
     $tids = $query->execute();
     shuffle($tids);
-    $terms = entity_load_multiple('taxonomy_term', $tids);
-    // \Drupal::logger('materio_home')->notice(print_r($nodes, true));
-    $key = 0;
-    foreach ($terms as $tid => $term) {
-      // \Drupal::logger('materio_home')->notice($nid);
-      $this->list[$key] = $this->createItem($key, $term->id());
-      $key++;
+    foreach ($tids as $key => $tid) {
+      $this->list[$key] = $this->createItem($key, $tid);
     }
   }