refactored home blabla article list

This commit is contained in:
Bachir Soussi Chiadmi 2020-12-27 12:05:34 +01:00
parent a2773b1b20
commit 1ae54233af
8 changed files with 247 additions and 45 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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) {

View File

@ -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;

View File

@ -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;

View File

@ -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'
]
%}
<article{{ attributes.addClass(classes) }}>
<header>
{{ label }}
{{ content.field_date }}
</header>
<section class="images">
{{ content.field_visuel }}
</section>
</article>