diff --git a/config/sync/core.entity_view_display.node.article.card_home.yml b/config/sync/core.entity_view_display.node.article.card_home.yml new file mode 100644 index 00000000..849a04c0 --- /dev/null +++ b/config/sync/core.entity_view_display.node.article.card_home.yml @@ -0,0 +1,67 @@ +uuid: 1b18a856-324e-4993-9dd3-912721313543 +langcode: en +status: true +dependencies: + config: + - core.entity_view_mode.node.card_home + - 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 + - field.field.node.article.field_source + - field.field.node.article.field_tags + - field.field.node.article.field_thesaurus + - field.field.node.article.field_video + - field.field.node.article.field_visuel + - field.field.node.article.field_workflow + - image.style.article_card_home + - node.type.article + module: + - image_delta_formatter + - user +id: node.article.card_home +targetEntityType: node +bundle: article +mode: card_home +content: + field_visuel: + weight: 2 + label: hidden + settings: + deltas: '0' + image_style: article_card_home + image_link: '' + deltas_reversed: 0 + third_party_settings: { } + type: image_delta_formatter + region: content + title: + label: hidden + type: string + weight: 0 + region: content + settings: + link_to_entity: false + third_party_settings: { } +hidden: + body: true + field_date: true + field_linked_materials: true + field_memo: true + field_migration: true + field_showroom: true + field_source: true + field_tags: true + field_thesaurus: true + field_video: true + field_workflow: true + flag_admintest: true + flag_dossier: true + flag_flag_list_template_1: true + flag_projet_1: true + flag_projet_2: true + langcode: true + links: true + search_api_excerpt: true diff --git a/config/sync/core.entity_view_display.node.article.default.yml b/config/sync/core.entity_view_display.node.article.default.yml index cbc8d69c..3b3fc291 100644 --- a/config/sync/core.entity_view_display.node.article.default.yml +++ b/config/sync/core.entity_view_display.node.article.default.yml @@ -47,6 +47,31 @@ content: third_party_settings: { } type: image_delta_formatter region: content + flag_admintest: + weight: 10 + region: content + settings: { } + third_party_settings: { } + flag_dossier: + weight: 10 + region: content + settings: { } + third_party_settings: { } + flag_flag_list_template_1: + weight: 10 + region: content + settings: { } + third_party_settings: { } + flag_projet_1: + weight: 10 + region: content + settings: { } + third_party_settings: { } + flag_projet_2: + weight: 10 + region: content + settings: { } + third_party_settings: { } title: label: hidden type: string diff --git a/config/sync/core.entity_view_display.node.frontpage.default.yml b/config/sync/core.entity_view_display.node.frontpage.default.yml index 11702400..f962b557 100644 --- a/config/sync/core.entity_view_display.node.frontpage.default.yml +++ b/config/sync/core.entity_view_display.node.frontpage.default.yml @@ -234,7 +234,7 @@ content: weight: 6 region: content settings: - view_mode: card_medium + view_mode: card_home link: false third_party_settings: { } type: entity_reference_entity_view diff --git a/config/sync/image.style.article_card_home.yml b/config/sync/image.style.article_card_home.yml new file mode 100644 index 00000000..937ed5a0 --- /dev/null +++ b/config/sync/image.style.article_card_home.yml @@ -0,0 +1,15 @@ +uuid: a612e931-f5e1-49ea-96eb-c151fc868900 +langcode: en +status: true +dependencies: { } +name: article_card_home +label: 'article-card-home (217x154)' +effects: + 34e936a0-1fee-4327-9553-b4f48bde14e6: + uuid: 34e936a0-1fee-4327-9553-b4f48bde14e6 + id: image_scale_and_crop + weight: 1 + data: + width: 217 + height: 154 + anchor: center-center diff --git a/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php b/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php index 227190a1..940410ce 100644 --- a/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php +++ b/web/modules/custom/materio_home/src/Plugin/Field/FieldType/ComputedArticlesReferences.php @@ -39,7 +39,7 @@ class ComputedArticlesReferences extends EntityReferenceFieldItemList ->condition('status', 1) ->sort('created', 'DESC') ->exists('field_visuel') - ->range(0,6) + ->range(0,12) ->condition('type', 'article'); $nids = $query->execute(); foreach ($nids as $key => $nid) { diff --git a/web/themes/custom/materiotheme/assets/dist/main.css b/web/themes/custom/materiotheme/assets/dist/main.css index df3bb5d8..855a27e2 100644 --- a/web/themes/custom/materiotheme/assets/dist/main.css +++ b/web/themes/custom/materiotheme/assets/dist/main.css @@ -1556,13 +1556,13 @@ article.node--type-frontpage .node__content > section.home-database { flex-flow: row wrap; justify-content: space-between; } article.node--type-frontpage .node__content > section.home-database .cards-list-home ul li { - position: relative; - list-style: none; - margin: 0; padding: 0 0 6.5px 0; box-sizing: border-box; width: 102.5px; - height: 147.5px; } + height: 147.5px; + position: relative; + list-style: none; + margin: 0; } article.node--type-frontpage .node__content > section.home-database .cards-list-home ul li .card { width: 100%; height: 100%; } @@ -1645,35 +1645,25 @@ article.node--type-frontpage .node__content > section.home-blabla { color: #9458aa; } article.node--type-frontpage .node__content > section.home-blabla .cards-list-home { position: relative; - overflow-y: hidden; } - @media only screen and (max-width: 2538px) { - article.node--type-frontpage .node__content > section.home-blabla .cards-list-home { - max-height: 630px; } } - @media only screen and (min-width: 2539px) { - article.node--type-frontpage .node__content > section.home-blabla .cards-list-home { - max-height: 310px; } } + overflow-y: hidden; + max-height: 315px; } article.node--type-frontpage .node__content > section.home-blabla .cards-list-home ul { width: 100%; margin: 0; padding: 0; - display: grid; - grid-template-columns: repeat(auto-fill, minmax(80px, 410px)); - grid-gap: 1em; - justify-content: start; } + display: flex; + flex-flow: row wrap; + justify-content: space-between; } article.node--type-frontpage .node__content > section.home-blabla .cards-list-home ul li { + padding: 0 0 13px 0; + box-sizing: border-box; + width: 205px; position: relative; list-style: none; margin: 0; - padding: 0; - padding-top: 67.8%; overflow: hidden; } article.node--type-frontpage .node__content > section.home-blabla .cards-list-home ul li .card { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - width: auto; + width: 100%; height: auto; } article.node--type-frontpage .node__content > section.home-blabla .cards-list-home ul li .card .field--name-title { font-size: 0.756em; diff --git a/web/themes/custom/materiotheme/assets/styles/main.scss b/web/themes/custom/materiotheme/assets/styles/main.scss index e86b6580..d77f11bf 100644 --- a/web/themes/custom/materiotheme/assets/styles/main.scss +++ b/web/themes/custom/materiotheme/assets/styles/main.scss @@ -606,14 +606,14 @@ article.node--type-frontpage{ flex-flow: row wrap; justify-content: space-between; li{ - position: relative; - list-style: none; - margin:0; padding:0 0 $column_goutiere / 2 0; box-sizing: border-box; // padding-top: 140%; width: $column_width / 2; height: $card_height / 2; + position: relative; + list-style: none; + margin:0; .card{ // position:absolute; // top:0; bottom:0; @@ -723,33 +723,42 @@ article.node--type-frontpage{ position: relative; $bp: ($column_width*2 + $column_goutiere ); overflow-y: hidden; + max-height: 315px; - @media only screen and (max-width: $bp * 6){ - max-height: 630px; - } - @media only screen and (min-width: ($bp * 6) + 1px){ - max-height: 310px; - } + // @media only screen and (max-width: $bp * 6){ + // max-height: 630px; + // } + // @media only screen and (min-width: ($bp * 6) + 1px){ + // max-height: 310px; + // } ul{ width:100%; margin:0; padding:0; - display: grid; - grid-template-columns: repeat(auto-fill, minmax(80px, $column_width*2)); - // grid-template-rows: 1fr; - grid-gap: 1em; - justify-content:start; + // display: grid; + // grid-template-columns: repeat(auto-fill, minmax(80px, $column_width*2)); + // // grid-template-rows: 1fr; + // grid-gap: 1em; + // justify-content:start; + display: flex; + flex-flow: row wrap; + justify-content: space-between; li{ + padding:0 0 $column_goutiere 0; + box-sizing: border-box; + // padding-top: 140%; + width: $column_width; + // height: $card_height / 2; position: relative; list-style: none; - margin:0; padding:0; - padding-top: 67.8%; + margin:0; + // padding-top: 67.8%; overflow: hidden; .card{ - position:absolute; - top:0; bottom:0; - left:0; right:0; - width: auto; + // position:absolute; + // top:0; bottom:0; + // left:0; right:0; + width: 100%; height: auto; .field--name-title{ font-size: 0.756em; diff --git a/web/themes/custom/materiotheme/templates/content/node--article--card-home.html.twig b/web/themes/custom/materiotheme/templates/content/node--article--card-home.html.twig new file mode 100644 index 00000000..9cb14be4 --- /dev/null +++ b/web/themes/custom/materiotheme/templates/content/node--article--card-home.html.twig @@ -0,0 +1,96 @@ +{# +/** + * @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'. + * - readmore: Flag for more state. Will be true if the teaser content of the + * node cannot hold the main body content. + * - logged_in: Flag for authenticated user status. Will be true when the + * current user is a logged-in member. + * - is_admin: Flag for admin user status. Will be true when the current user + * is an administrator. + * + * @see template_preprocess_node() + * + * @todo Remove the id attribute (or make it a class), because if that gets + * rendered twice on a page this is invalid CSS for example: two lists + * in different view modes. + * + * @ingroup themeable + */ +#} +{% + set classes = [ + 'node', + 'node--type-' ~ node.bundle|clean_class, + node.isPromoted() ? 'node--promoted', + node.isSticky() ? 'node--sticky', + not node.isPublished() ? 'node--unpublished', + view_mode ? view_mode|clean_class, + view_mode ? 'node--view-mode-' ~ view_mode|clean_class, + 'card' + ] +%} + + +
+ {{ label }} + {{ content.field_date }} +
+
+ {{ content.field_visuel }} +
+